title: MSG Box con Beep simultanee...si può ??

text:
"Massimo" <
ron...@tiscalinet.it
> ha scritto nel messaggio
news:Qo_u7.21100$0Y2.2...@news.infostrada.it...
|
| "SuperPippo®" <
ik0...@libero.it
> ha scritto nel messaggio
| > | > -----------------------------------------
| > |
| > | Invece di
| > | Err = apisndPlaySound("C:\WINDOWS\MEDIA\CHORD.WAV", 2)
| > | scrivi
| > | Err = apisndPlaySound("C:\WINDOWS\MEDIA\CHORD.WAV", 1)
| > |
| > | Dovrebbe funzionare
| > | --
| > | Roberto
| > -------------------------
| > troppo gentile... !!! funziona.....grazie....
| > Ciao Roby  !!
|
| Ho provato anchio la soluzione di Roberto, e mi è capitata una cosa
strana:
| dopo che lancio questa routin, non mi vanno più i suoni di systema ( beep,
| vbcritical, ecc ecc ) per farli rifunzionare, debbo rieseguire la routin
| originale ( con il 2 finale )
| Capita a voi ?
| Max
-------------------------------
Aspetta che provo... il fatto mi incuriosisce.... !!!
No... tutto Ok... dopo aver provato la routine funzionano anche i suoni
di sistema... (se x suoni di sistema tu intendi dire, pannello di controllo,
suoni...) funzionano... Ciao !!!
--
SuperPippo®   [;o))


title: MSG Box con Beep simultanee...si può ??

author: Massimo

text:
"SuperPippo®" <
ik0...@libero.it
> ha scritto nel messaggio
news:Ls1v7.22451$0Y2.2...@news.infostrada.it...

Solo sulle applicazioni di access, tutto il resto ènel PC è OK.
prova a far udire un beep classico bopo che hai lanciato la routin .
Max


title: aggiornamento selettivo

author: Francesco

text:
Buondi'
semplificando,
ho una tabella che chiameremo anagrafica con un elenco di un centinaio
di nomi
devo variare periodicamente in blocco a n utenti un paio di campi (un
flag e una data)
invece di farlo uno per volta desidererei avere un elenco di questi
utenti da spuntare per decidere quali sono quelli su cui fare
l'update...
come mi consigliate di operare ?


title: aggiornamento selettivo

author: Alessandro Baraldi

text:
"Francesco" <
vi...@tiscali.it
> wrote in message
news:1133955310....@f14g2000cwb.googlegroups.com

ListBox a selezione Multipla, quindi Query UPDATE.
Questo è in assoluto il metodo più versatile.
Devi solo ricostruirti il predicato SQL ciclando gli
ItemSelected della List.
UPDATE NomeTabella
SET NomeCampo1=NuovoValore1,
SET NomeCampo2=NuovoValore2
WHERE [CampoPrimaryKey] IN
'-----------------------------------------
'  Questa è la sola parte da ricostruire
'-----------------------------------------
(Valore1,Valore2,Valore5)
Devi ricostruire solo la parte tra le parentesi
nell'Operatore IN, si tratta semplicemente di
una stringa.
Ciao
@Alex

--
Posted via Mailgate.ORG Server -
http://www.Mailgate.ORG


title: Query di Ricerca che sbaglia...

author: SuperPippo®

text:
Ciao oggi dopo molto tempo mi sono accorto di una cosa...
in un DB anagrafico ho una query che mi ricerca dati x Cognome e Nome...
ebbene ho fatto un controllo... non funziona bene...
se digito Pinco* mi risultano 20 pinco... di cui 3 si chiamano anche Pallino
se però digito con la query Pinco Pallino me ne mostra solo 2...
uno non mi compare...Bug di Access o altro ???
Ciao e grazie x l'aiuto....
--
SuperPippo®   [;o))


title: Query di Ricerca che sbaglia...

author: Sib dal portatile

text:
"SuperPippo®" <
ik0...@libero.it
> ha scritto nel messaggio
> Ciao oggi dopo molto tempo mi sono accorto di una cosa...
> in un DB anagrafico ho una query che mi ricerca dati x Cognome e Nome...
> ebbene ho fatto un controllo... non funziona bene...
> se digito Pinco* mi risultano 20 pinco... di cui 3 si chiamano anche
Pallino
> se però digito con la query Pinco Pallino me ne mostra solo 2...
> uno non mi compare...Bug di Access o altro ???
Hai controllato se per caso ci sono spazi in piu' in quello che non ti
compare?
Hai controllato se quello che non compare e' scritto male (Palino e simili)?
Usi un unico campo che contiene nome e cognome o hai due campi?
Sib
--
----------------------------------------------------
la mia home:
http://digilander.iol.it/syb
----------------------------------------------------
il sito comune di it.comp.database.access:
http://www.sitocomune.com
----------------------------------------------------
4000 anni fa', il saggio egizio Ptahhotep scrisse:
"... perche' non esistono saggi per nascita."
------------------------------------------------------
Saturiamo ECHELON:
bomba saddam attentato medio oriente


title: Query di Ricerca che sbaglia...

author: Giovanni Menga

text:
SuperPippo® <
ik0...@libero.it
> wrote in message
iVcH7.61110$sq5.2...@news.infostrada.it...

Controolla anche se i "Pallino" che ti compaiono in più sono cognomi simili
a nomi (o viceversa)... per esempio Giovanni (nome) e Giovannini
(Cognome)... oppure se si verificano casi di nomi di alcuni che sono uguali
a cognomi di altri (es. Bruno può essere sia nome che cognome come pure
Natale o anche Gianni)


title: Query di Ricerca che sbaglia...

author: Govardo Libero

text:
"Giovanni Menga" <
giova...@tin.it
> ha scritto nel messaggio
news:gPeH7.33505$zu5.1...@news1.tin.it...

Le query non sbagliano mai, noi spessissimo!
La pillola filosofica è gratis.
--
                     Angelo
------------------------------------------------------
Sito comune di it.comp.appl.access
http://www.sitocomune.com
------------------------------------------------------


title: Query di Ricerca che sbaglia...

text:
Govardo Libero <
gov...@libero.it
> wrote in message
9YeH7.62424$sq5.3...@news.infostrada.it...

Infatti.... era più o meno questo il senso delle mie "domande"
Gio'


title: Query di Ricerca che sbaglia...

text:
"Giovanni Menga" <
giova...@tin.it
> ha scritto nel messaggio
news:zXjH7.32559
| Govardo Libero <
gov...@libero.it
> wrote in message
|| > > SuperPippo® <
ik0...@libero.it
> wrote in message
| > > iVcH7.61110$sq5.2...@news.infostrada.it...
| > > > Ciao oggi dopo molto tempo mi sono accorto di una cosa...
| > > > in un DB anagrafico ho una query che mi ricerca dati x Cognome e
| Nome...
| > > > ebbene ho fatto un controllo... non funziona bene...
| > > > se digito Pinco* mi risultano 20 pinco... di cui 3 si chiamano anche
| > > Pallino
| > > > se però digito con la query Pinco Pallino me ne mostra solo 2...
| > > > uno non mi compare...Bug di Access o altro ???
| > > > Ciao e grazie x l'aiuto....
| > > > SuperPippo®   [;o))
| > > >
| > > Controolla anche se i "Pallino" che ti compaiono in più sono cognomi
| > simili
| > > a nomi (o viceversa)... per esempio Giovanni (nome) e Giovannini
| > > (Cognome)... oppure se si verificano casi di nomi di alcuni che sono
| > uguali
| > > a cognomi di altri (es. Bruno può essere sia nome che cognome come
pure
| > > Natale o anche Gianni)
| > >
| >
| > Le query non sbagliano mai, noi spessissimo!
| >
| > La pillola filosofica è gratis.
|------------------------------------------------- >
Ringrazio quanti mi hanno risposto.. anche Sib dal portatile...
a parte la filosofia gratis... ma il problema è reale...
la query sbaglia....o almeno nel mio caso....!!!!!
preciso che i campi Cognome e Nome sono su due campi separati....
ho controllato spazi ed errori di battitura... tutto ok....
il mio è un DB di prova...con una ventina di record inseriti...
il dubbio e la paura a questo punto mi viene..  dato che in ufficio
gestisco un paio di DB con 91.000 record inseriti....
Cmq tornando a noi in questo DB prova in tabella Anafrafe nel campo
Cognome  sono inseriti 6 Pinco... perchè quando vado a fare
la ricerca Pinco* ne trova sempre uno in meno ... ossia 5 ???
ho provato anche ad inserirne 10 ... e ne trova 9 ... !!!!!
Mistero... mai capitata una cosa del genere...
a chi me ne fa richiesta mando il db zippato x prova....
Ciao
--
SuperPippo®   [;o))


title: Query di Ricerca che sbaglia...

text:
In struttura della query, hai per caso impostato a valori univoci la
proprietà della query? Provala con record univoci.
--
                     Angelo
------------------------------------------------------
Sito comune di it.comp.appl.access
http://www.sitocomune.com
------------------------------------------------------
"SuperPippo®" <
ik0...@libero.it
> ha scritto nel messaggio
news:TYrH7.65362$sq5.3...@news.infostrada.it...



title: Query di Ricerca che sbaglia...

author: Axel

text:
SuperPippo® <
ik0...@libero.it
> wrote in message
iVcH7.61110$sq5.2...@news.infostrada.it...
> Ciao oggi dopo molto tempo mi sono accorto di una cosa...
> in un DB anagrafico ho una query che mi ricerca dati x Cognome e Nome...
> ebbene ho fatto un controllo... non funziona bene...
> se digito Pinco* mi risultano 20 pinco... di cui 3 si chiamano anche
Pallino
> se però digito con la query Pinco Pallino me ne mostra solo 2...
> uno non mi compare...Bug di Access o altro ???
CUT
Ciao, purtroppo è quello che mi capita anche a me io però ho collegato 1
tabella 2 query e 1 tabella btrieve, sto ancora cercando il problema ma non
ci riesco, io uso la ver 2.0
Se avresti in mente qualcosa, butta giu.
Ciao Axel


title: Query di Ricerca che sbaglia...

text:
In struttura della query, hai per caso impostato a valori univoci la
proprietà della query? Provala con record univoci.
"Axel" <
aj...@freemail.it
> ha scritto nel messaggio
news:9snufj$237$1...@pegasus.tiscalinet.it...

--------------------------
Ciao ...... ma ho scoperto il mistero...
intanto dico a Govardo che i valori univoci e i record erano impostati a NO
!!
cmq... il problema era che nel campo di un Pinco Pallino non vi era il
Codice Fiscale... per cui non me lo conteggiava...
tutto qua... grazie x l'aiuto....
--
SuperPippo®   [;o))


title: perchè access è così rigido nella gestione degli errori.

author: Valerio

text:
Access in fase di verifica dei dati inseriti specialmente per quanto
concerne la verifica di una input mask (ad esempio la sequenza alfanumerica
di un codice fiscale) e di un valore che deve essere univoco (dichiarato
nell'indice), visualizza i suoi messaggi di sistema " a volte
incomprensibili", ignorando quelli definiti all'interno del'evento error
della form di inserimento dati.
Ringrazio in anticipo chi può consigliarmi
                      Valerio


author: sib

text:
Valerio sostiene:
> Access in fase di verifica dei dati inseriti specialmente per quanto
> concerne la verifica di una input mask (ad esempio la sequenza
alfanumerica
> di un codice fiscale) e di un valore che deve essere univoco (dichiarato
> nell'indice), visualizza i suoi messaggi di sistema " a volte
> incomprensibili", ignorando quelli definiti all'interno del'evento error
> della form di inserimento dati.
Mi dispiace doverti contraddire in cosi' tante cose, ma di Access si puo'
dire tutto tranne che sia difficile implementare il controllo degli errori.
Prima di tutto i messaggi di sistema sono generici per forza di cose (non
sapevano cosa volevi fare quando li hanno scritti) ma sono quasi sempre
comprensibili.
Secondo, se non vuoi che compaiano i messaggi di sistema cerca sull'help
SetWarnings e vedrai che troverai la soluzione ai tuoi problemi.
Infine l'evento error non ha nulla a che vedere con i problemi di chiave
primaria, ci credo che li ignora. L'evento error si verifica quando nella
maschera avviene un errore, non quando i dati inseriti sono incongruenti.
Vediti gli eventi BeforeUpdate della maschera e del controllo.
Ciao, Sib
--
------------------------------------------------------
il sito comune di it.comp.database.access:
http://members.xoom.it/it_db_access
------------------------------------------------------
4000 anni fa', il saggio egizio Ptahhotep scrisse:
"... perche' non esistono saggi per nascita."
------------------------------------------------------
Saturiamo ECHELON:
bomba saddam attentato medio oriente


text:
Ciao Sib, grazie per avere risposto, putroppo però ciò che sostieni non
produce l'effetto sperato.
Se tu imposti ad esempio l'input di maschera per il codice fiscale e
all'atto dell'inserimento non inserisci i dati nella sequenza giusta, tu
puoi avere anche setwarnings impostato a false, che ad access non gliene
frega niente, riportandoti il messaggio di sistema.
Per quanto riguarda la chiave duplicata o univoca, riesci ad interecettarla
nell'evento BeforeUpdate, però all'atto dell'attivazione di quest'ultimo
evento tramite il bottone di comando salva record con le seguenti
istruzioni: (DoCmd.RunCommand acCmdSaveRecord) ti ritorna il solito
messaggio di sistema che ti informa che "L'azione Runcommand è stata
annullata), fregandosi della disattivazione dei messaggi di sistema .
Valerio
"sib" <
sibN...@iol.it
> ha scritto nel messaggio
news:aYli5.9523$dF5.1...@news.infostrada.it...



author: Sib

text:
> > Valerio sostiene:
> > > Access in fase di verifica dei dati inseriti specialmente per quanto
> > > concerne la verifica di una input mask (ad esempio la sequenza
> > alfanumerica
> > > di un codice fiscale) e di un valore che deve essere univoco
(dichiarato
> > > nell'indice), visualizza i suoi messaggi di sistema " a volte
> > > incomprensibili", ignorando quelli definiti all'interno del'evento
error
> > > della form di inserimento dati.
> > "sib" gli disse
> > Mi dispiace doverti contraddire in cosi' tante cose, ma di Access si
puo'
> > dire tutto tranne che sia difficile implementare il controllo degli
> errori.
> > Prima di tutto i messaggi di sistema sono generici per forza di cose
(non
> > sapevano cosa volevi fare quando li hanno scritti) ma sono quasi sempre
> > comprensibili.
> > Secondo, se non vuoi che compaiano i messaggi di sistema cerca sull'help
> > SetWarnings e vedrai che troverai la soluzione ai tuoi problemi.
> > Infine l'evento error non ha nulla a che vedere con i problemi di chiave
> > primaria, ci credo che li ignora. L'evento error si verifica quando
nella
> > maschera avviene un errore, non quando i dati inseriti sono
incongruenti.
> > Vediti gli eventi BeforeUpdate della maschera e del controllo.
> >
> > Ciao, Sib
"Valerio" <
valeri...@fsmrt.nettuno.it
> ha scritto nel messaggio
news:8me1di$8le$1...@pinco.nettuno.it...
> Ciao Sib, grazie per avere risposto, putroppo però ciò che sostieni non
> produce l'effetto sperato.
> Se tu imposti ad esempio l'input di maschera per il codice fiscale e
> all'atto dell'inserimento non inserisci i dati nella sequenza giusta, tu
> puoi avere anche setwarnings impostato a false, che ad access non gliene
> frega niente, riportandoti il messaggio di sistema.
Mea culpa. ho risposto frettolosamente senza riflettere sul problema. Prima
di tutto, se hai inserito una maschera di input, evidentemente, volevi
forzare chi lo scrive a scriverlo correttamente. Infatti non e' che un
codice fiscale lo puoi scrivere in modi diversi, lo puoi scrivere in un solo
modo, in quello giusto. A questo punto non e' chiaro quale sia il problema
visto che, in un codice fiscale, i dati *devono* essere inseriti nella
sequenza giusta.
E poi chi inserisce un codice in modo errato si confonde vedendo un
messaggio che gli dice che cio' che ha scritto non va d'accordo con la
maschera di input puoi usare una maschera di input con caratteri ad
inserimento non obbligatorio (prova a usare 'a' invece di 'A' come
segnaposto) e vedrai che non ti dirà piu' niente. Chiaramente a questo punto
dovrai verificare da codice il corretto inserimento del CF usando l'evento
BeforeUpdate.
> Per quanto riguarda la chiave duplicata o univoca, riesci ad
interecettarla
> nell'evento BeforeUpdate, però all'atto dell'attivazione di quest'ultimo
> evento tramite il bottone di comando salva record con le seguenti
> istruzioni: (DoCmd.RunCommand acCmdSaveRecord) ti ritorna il solito
> messaggio di sistema che ti informa che "L'azione Runcommand è stata
> annullata), fregandosi della disattivazione dei messaggi di sistema .
Guarda che il messaggio che ti compare non e' un 'messaggio di sistema', e'
una segnalazione che viene dall'istruzione MsgBox contenuta nel codice del
pulsante di comando, e' li che devi andare a inserire un'istruzione If che
decide se visualizzare o meno il MessageBox.
>
> Valerio
Ciao, Sib


title: Tablet low cost windows 10 compatibile con MS Access

author: ciroteo

text:
Ciao a tutti,
avrei l'esigenza di far girare parte della mia applicazione in mobilità, soprattutto in lan non necessariamente in internet.
Avevo pensato di testarla su un tablet che fosse compatibile con windows e access 2010 runtime e sufficientemente potente per fare girare il tutto.

Sto facendo qualche ricerca online, ma con poco successo.
Qualcuno saprebbe gentilmente indicarmi marche e modelli di tablet che potrebbero fare al caso mio?

grazie e buona giornata

matteo


author: BFS

text:

https://www.amazon.it/s?__mk_it_IT=%C3%85M%C3%85%C5%BD%C3%95%C3%91&url=search-alias%3Daps&field-keywords=NT.LCQET.004

ciao
BFS

---
Questa email è stata esaminata alla ricerca di virus da AVG.
http://www.avg.com


text:
Il 06/09/2018 09:08, ciroteo ha scritto:

https://www.amazon.it/s?__mk_it_IT=%C3%85M%C3%85%C5%BD%C3%95%C3%91&url=search-alias%3Daps&field-keywords=Lenovo+Miix+320-10ICR+80XF+




author: RobertoA

text:
Il 06/09/2018 09:08, ciroteo ha scritto:

Hai pensato di usare l'applicazione via terminal server?
Potresti prendere qualsiasi tablet
Ed usare l'applicativo collegandoti via browser, quindi senza installare
niente lato tablet
Vedi TsPlus


text:
Ciao BFS si ho visto che spesso in post precedenti suggerisci questa metodologia.
Ora il tema è in primis fare un test per vedere come gira l'applicazione (spendendo il minimo per un tablet) sia come app nativa sia come ts.
Il secondo step è capire quale tablet è effettivametne funzionale.
Si tratta di darlo in mano a mulettisti che si muovono a piedi o sul mezzo nei magazzini.
Capisci bene che il tema della robustezza non è secondario.
Verifico bene col boss che budget mi da e procedo con qualche acquisto. Quelli che mi hai segnalato stanno sui 400 euro circa, quelli di tipo industriale corazzati sono molto più costosi.
Grazie intanto.
m



text:

non sono io che ho consigliato la tecnologia desktop remoto.

la usavo, ma l'ho abbandonata perchè sono più i fastidi che i benefici
interfaccia grafica che non si adatta allo schermo del dispositivo
dispositivi di input pessimi
impossibilità di sfruttare l'hardware del dispostivo (gps,
accelerometro, fotocamera etc)
mistero sulla regolarita a livello di licenze di utilizzare questi
software che simulano il terminal server

ho preferito imparare a programmare con android studio e ora mi faccio
direttamente le app che colloquiano con access sulla postazione server.
L'hardware android costa nulla e i vantaggi sono enormi
Spero che un giorno anche access offra la possibilità di disegnare le
interfacce grafiche in xml per renderle totalmente indipendenti dal database

ciao
BFS



text:

Posso sapere come fai per collegarti, da app Android, ai dati del
sistema centrale?
Da quando hai deciso "..ora vado di Android Studio.." all'uscita prima
app funzionante, quanto ti e' andato via di tempo?


text:

nel mio cosa lavoro con sqlserver e ho sfruttato questa libreria
https://sourceforge.net/projects/jtds/files/jtds/1.2.7/

nella app imposto ip del server, user, psw , db e da li mi collego e
gestisco i recordset. Posso lavorare sia in tempo reale connesso al
server o sincronizzarmi i dati in tabelle interne alla app

dal momento in cui ho deciso alla app realizzata con le funzioni che
volevo due mesi
nel dettaglio la app mi fa:

sincro dei dati presenti su sqlserver con i dati del db internl sqllite
della app

gestione anagrafiche:
dalla app vedo i clienti, vedo cosa è stato loro venduto, carico ordini,
imposto navigatore per raggiungerli etc etc

gestione listini:
vedo nella app la lista dei prodotti che il cliente vende, con relative
foto e descrizioni prezzi

gestione inventario:
il cliente tramite la app installata in un dispositivo android con
lettore barcode legge i barcode a magazzino, inserisce la quantita e
quando salva trasferisce i dati al server sql. ho previsto anche la
funzione "salva su file csv" per importare successivamente l'inventario

gestione ordini:
l'agente dal cliente carica offline gli articoli, fa firmare l'ordine
sullo schermo del palmare e in automatico arriva conferma d'ordine al
cliente tramite mail. Quando l'agente decide di trasmettere tutti gli
ordini della giornata, l'app va online e scarica i dati nel sqlserver
aziendale.

Per fare tutto ciò:

ho usato il sito
https://developer.android.com/studio/

ho comprato un libro...che non mi è servito a nulla, soldi buttati

ma il 90% del merito è legato al fatto che ho seguito questo tizio
indiano su youtube che parte da zero e arriva a fare app incredibili

https://www.youtube.com/channel/UCfQkNueQenRQQ1NnCBe6eQQ

il suo inglese si capisce benissimo e i suoi video sono molto chiari.

Ho dovuto bestemmiare parecchio e varie volte volevo mollare tutto,
quando vedi che per fare una cosa che on access sono due righe di codice
e li invece devi scriverne 200. Ma ora sono soddisfatto del mio livello

Se hai un minimo di conoscenze di programmazione ad oggetti sicuramente
sei avvantaggiato.

spero di esserti stato utile



text:

Mooolto utile
Probabilmente sto percorrendo la tua stessa strada, shiftata di un po'
di tempo, nel senso che pur apprezzando molto l'accesso via terminal
server, nel caso dei device mobile e la risoluzione schermo e l'accesso
all'hardware particolare e l'usabilita' diversa da postazione desktop ti
porta a preferire l'applicazione nativa
Ci sto mettendo il naso ora ed una guida da chi ha gia' percorso questa
strada e' mooolto apprezzata
Grazie


text:

Quindi a bordo tablet hai una copia dei dati e alla bisogna sincronizzi
col db centrale, giusto?
Fai cosi' perche' hai rilevato problemi nella connessione diretta a db
centrale o per quale altro motivo?


text:

la soluzione terminal su dispositivi mobile l'ho sempre vista come un
"accrocchio rattoppato"

riguardo ai db, si, sincronizzo i dati dal sql serve al database locale
della app per il semplice fatto che capita che gli agenti possono
trovarsi in zone fuori copertura internet

idem per chi sta facendo inventario di magazzino fuori portata del wifi

ciao



text:
Grazie ragazzi,
ho letto ora la vostra conversazione.
Scusate se ho sbagliato il nickname di chi ha suggerito terminal server.
In effetti forse la soluzione ideale è quella indicata, ma al momento non ho molto tempo da investire nell'apprendimento di nuovi linguaggi.
Ci penso ancora un po'... e magari nel frattempo prendo un tablet dual boot.



title: Cazzarola! Runtime...

author: Andrea Sciamanna

text:
Ho installato il Run-time per ACC2000, ma.... dove cavolo č??????
Non trovo una cartella nel menů di avvio, tantomeno in qualunque cartella
dell'HD.
Voi che mi dite?


title: data nascita e segno zodiacale

author: Lucia Naddeo

text:
Salve a tutti e buon anno.
campo data_nascita --- campo segno_zodiacale
Come faccio ad assegnare il relativo segno zodiacale all'immissione della
data di nascita
Grazie in anticipo


title: data nascita e segno zodiacale

author: ALESSANDRO Baraldi

text:
"Lucia Naddeo" <
lucia...@tiscali.it
> ha scritto nel messaggio
news:hhWKb.26077$Jw2....@tornado.fastwebnet.it...

Fatti una Tabella in cui inserisci i 12 segni Zodiacali e le date Comprese,
oppure la data iniziale e il numero di gg successivi....!
Quando inserisci una data vai a cercare quale Record è all'interno
dell'intervallo
e prelevi il Campo SegnoZodiacale........!
@Alex.


title: data nascita e segno zodiacale

author: Salvatore

text:
"Lucia Naddeo" <
lucia...@tiscali.it
> ha scritto nel messaggio
news:hhWKb.26077$Jw2....@tornado.fastwebnet.it...

In un modulo inserisci questa funzione
Function SegnoZodiacale(dataNascita)
anno = Year(dataNascita)
ariete1 = CVDate("21/3/" & anno)
ariete2 = CVDate("20/4/" & anno)
toro1 = CVDate("21/4/" & anno)
toro2 = CVDate("20/5/" & anno)
gemelli1 = CVDate("21/5/" & anno)
gemelli2 = CVDate("21/6/" & anno)
cancro1 = CVDate("22/6/" & anno)
cancro2 = CVDate("22/7/" & anno)
leone1 = CVDate("23/7/" & anno)
leone2 = CVDate("23/8/" & anno)
vergine1 = CVDate("24/8/" & anno)
vergine2 = CVDate("22/9/" & anno)
bilancia1 = CVDate("23/9/" & anno)
bilancia2 = CVDate("22/10/" & anno)
scorpione1 = CVDate("23/10/" & anno)
scorpione2 = CVDate("22/11/" & anno)
sagittario1 = CVDate("23/11/" & anno)
sagittario2 = CVDate("21/12/" & anno)
capricorno1 = CVDate("22/12/" & anno)
capricorno2 = CVDate("20/1/" & anno)
acquario1 = CVDate("21/1/" & anno)
acquario2 = CVDate("19/2/" & anno)
pesci1 = CVDate("20/2/" & anno)
pesci2 = CVDate("20/3/" & anno)
fineanno = CVDate("31/12/" & anno)
capodanno = CVDate("1/1/" & anno)
If dataNascita >= ariete1 And dataNascita <= ariete2 Then SegnoZodiacale =
"ariete": Exit Function
If dataNascita >= toro1 And dataNascita <= toro2 Then SegnoZodiacale =
"toro": Exit Function
If dataNascita >= gemelli1 And dataNascita <= gemelli2 Then SegnoZodiacale =
"gemelli": Exit Function
If dataNascita >= cancro1 And dataNascita <= cancro2 Then SegnoZodiacale =
"cancro": Exit Function
If dataNascita >= leone1 And dataNascita <= leone2 Then SegnoZodiacale =
"leone": Exit Function
If dataNascita >= vergine1 And dataNascita <= vergine2 Then SegnoZodiacale =
"vergine": Exit Function
If dataNascita >= bilancia1 And dataNascita <= bilancia2 Then SegnoZodiacale
= "bilancia": Exit Function
If dataNascita >= scorpione1 And dataNascita <= scorpione2 Then
SegnoZodiacale = "scorpione": Exit Function
If dataNascita >= sagittario1 And dataNascita <= sagittario2 Then
SegnoZodiacale = "sagittario": Exit Function
If dataNascita >= capricorno1 And dataNascita <= fineanno Then
SegnoZodiacale = "capricorno": Exit Function
If dataNascita >= capodanno And dataNascita <= capricorno2 Then
SegnoZodiacale = "capricorno": Exit Function
If dataNascita >= acquario1 And dataNascita <= acquario2 Then SegnoZodiacale
= "acquario": Exit Function
If dataNascita >= pesci1 And dataNascita <= pesci2 Then SegnoZodiacale =
"pesci": Exit Function
End Function
sulle query o sulle maschere associa, al campo o al controllo nel quale vuoi
far comparire il segno zodiacale, la formula =segnoZodiacale([TuaData]) dove
al posto di TuaData sostituirai il nome del campo che contiene la data di
nascita.
Ciao
Salvatore


title: data nascita e segno zodiacale

text:
> >
> In un modulo inserisci questa funzione....
>
> Function SegnoZodiacale(dataNascita)
> anno = Year(dataNascita)
> etc. etc.
Grazie Salvatore, sono alle prime armi, aiutami ancora
ho creato il modulo come mi hai suggerito che ho chiamato modulo1
>
>
> sulle query o sulle maschere associa, al campo o al controllo nel quale
vuoi
> far comparire il segno zodiacale, la formula =segnoZodiacale([TuaData])
puoi spiegarmi meglio questa parte?
Ho 2 campi, datanascita e segnozodiacale,
quale dei 2 e come lo posso associare al modulo1?
Spero tu mi abbia capito.
Ciao e grazie di nuovo


title: Casella di riepilogo con segni di spunta ed icone.

author: Jef

text:
Salve a tutti.
Volevo chiedere se esiste in access un controllo tipo casella di riepilogo
dove posso visualizzare nelle colonne anche segni di spunta ed icone.
Come ad esempio quando apro il gestore tabelle collegate.
Grazie
Ciao


author: Gennaro Scognamiglio

text:
puoi crearla tu
"Jef" <
j...@libero.it
> ha scritto nel messaggio
news:CEad8.1965$v7.4...@twister1.libero.it...



text:
"Gennaro Scognamiglio" <
gy...@libero.it
> ha scritto nel messaggio
news:jEdd8.3343$v7.1...@twister1.libero.it...

E come ?
Facendo una maschera continua ?


title: Maschera ridotta

author: Diana

text:
Ciao a tuttiho trasformato il mio progetto in db, ma quando lo apro si
visualizza la mascha ridotta devo ingrandirla io... Non riesco a capire
perché... E' capitato anche a voi?
Grazie per le informazioni preziose Diana.


title: Maschera ridotta

text:
"Diana" <
dian...@libero.it
> ha scritto nel messaggio
news:AQeS9.86248$TC5.2...@twister1.libero.it...

Guarda nelle Proprietà Avvio che non ci sia qualche Flags strano,
solitamente c'è da impostare la Form di Apertura...........!!!
Ciao @Alex.


title: Ricerca Campo data con valore null

author: Sandro 2

text:
Buonasera a tutti.
Ho creato una query nella quale
al campo "data termine prova" ho impostato
questi criteri:
Between [Forms]![Ricerche 01]![Data1] And [Forms]![Ricerche 01]![Data2]
restiduendomi di fatto tutti i record in cui il campo "data termine prova" è
presente una data.
Il mio problema è che non riesco a trovare i record che hanno il campo data
= Null
Cosa bisogna aggiungere al criterio della query.
Grazie sin d'ora a chi mi risponderà.
Saluti a tutti.
Sandro


title: Ricerca Campo data con valore null

author: Carlo Costarella

text:
"Sandro 2" <
sandr...@tiscali.it
> ha scritto nel messaggio
news:43f5dfa1$0$29097$5fc...@news.tiscali.it...

Se intendi i record con date intervallo e null allora:
Nei criteri della query:
Between [Forms]![Ricerche 01]![Data1] And [Forms]![Ricerche 01]![Data2] or
Is Null
Se intendi solo i null:
Is Null
Ciao, Carlo


title: Creare una query che consenta di visualizzare un messaggio con scritto record inesistente

author: Signorscott

text:
Ciao a tutti,
non riesco a creare una query in access che consenta di visualizzare un
messaggio di record non trovato invece di visualizzare la tabella
vuota.
Hop raovato a d usare la sintassi descritta nell'help  microsoft:
SELECT IIF([MyColumn]="Yes","Order Confirmed","Order Not Confirmed") AS
X FROM MyTable;
naturalmente le istruzioni precedenti fanno riferimento ad un controllo
Yes ...
Mi potete aiutare?
Grazie


author: MA

text:

If dcount(tuocampo, tuatabella) = 0 then
tuasottomaschera.visible = false
me.tuaetichetta.caption ="Order Not confirmed"
end if
--
_ _
Ciao
MAssimiliano Amendola
www.accessgroup.it
Cisa - Conferenza Italiana per Sviluppatori Access
Info:
www.donkarl.com/it


text:
MA wrote:
> Signorscott wrote:
>> Ciao a tutti,
>> non riesco a creare una query in access che consenta di visualizzare
>> un messaggio di record non trovato invece di visualizzare la tabella
>> vuota.
>> Hop raovato a d usare la sintassi descritta nell'help  microsoft:
>> SELECT IIF([MyColumn]="Yes","Order Confirmed","Order Not Confirmed")
>> AS X FROM MyTable;
>>
>> naturalmente le istruzioni precedenti fanno riferimento ad un
>> controllo Yes ...
>>
>> Mi potete aiutare?
>> Grazie
> If dcount(tuocampo, tuatabella) = 0 then
> tuasottomaschera.visible = false
> me.tuaetichetta.caption ="Order Not confirmed"
> end if
oppure cambi l'orgine record
me.tuasub.recordsource = SELECT "Order NOT Confirmed" as MyColumn from
tuatab



text:
Grazie Massimiliano,
proverò a creare una query con il tuo script.
Ciao
Paolo


title: Verificare se un report è aperto

author: Elio Scatena

text:
Ciao a tutti,
volevo sapere se esiste una funzione che mi indichi se un certo report è
aperto o meno , qualcosa di similare alla funzione di AntoGal sul S.C.
(che però è valida soltanto per le form)
Grazie,
Elio
--
Posted via Mailgate.ORG Server -
http://www.Mailgate.ORG


title: Verificare se un report è aperto

text:
"Elio Scatena" <
es...@virgilio.it
> ha scritto nel messaggio
news:a7349e5b0e394deee76...@mygate.mailgate.org...

La funzione potrebbe essere modificata così:
Function caricataR(NomeReport)
' Accetta:     un nome di report
' Esegue:      determina se il report è caricato
' Restituisce: True se il report specificato è caricato,
'              False se il report specificato non è caricato
    Dim i
    caricataR = False
    For i = 0 To Reports.Count - 1
        If Reports(i).Name = NomeReport Then
            caricataR = True
            Exit Function       ' Termina il ciclo dopo aver trovato il
report.
        End If
    Next
End Function
Ciao, Carlo


title: Verificare se un report è aperto

text:
Grazie, tutto ok!
>
> Ciao, Carlo
Ciao, Elio



title: help

author: singer

text:
c'è un sito sul quale posso seguire un corso o trovare dispense
sull'utilizzo di access
grazie


title: help

author: Emyr

text:


www.sitocomune.com
Saluti.
Emanuele.


title: aggiornare casella combinata maschera continua

text:
ho una casella combinata inserita in una maschera continua... vorrei fare in
modo che il suo valore si aggiorni al doppio click e conseguente selezione,
in un'altra maschera, di una casella di riepilogo. .. Sono riuscita a
filtrare la casella combinata in base al valore selezionato nella casella di
riepilogo, ma mi vengono filtrate tutte le caselle combinate di tutti i
record presenti nella maschera continua, Il problema � che vorrei che
venisse aggiornato soltanto il record selezionato nella maschera continua. �
possibile farlo
grazie


author: Cosimo S,

text:
On 14 Ago, 13:29, "lory22" <
lor...@alchimiaweb.net
> wrote:
> ho una casella combinata inserita in una maschera continua... vorrei fare in
> modo che il suo valore si aggiorni al doppio click e conseguente selezione,
> in un'altra maschera, di una casella di riepilogo. .. Sono riuscita a
> filtrare la casella combinata in base al valore selezionato nella casella di
> riepilogo, ma mi vengono filtrate tutte le caselle combinate di tutti i
> record presenti nella maschera continua, Il problema è che vorrei che
> venisse aggiornato soltanto il record selezionato nella maschera continua. è
> possibile farlo
> grazie
se ho capito bene, nella seconda casella combinata, quella che vuoi
abbia i record
filtrati in base al record seleziononato nella prima  casella
combinata, in origine dati
crei una query ed imposti il criterio di selezione in base alla prima
casella combinata


title: Concatenazione & Riconcatenazione stringhe

author: Alessandro Cara

text:
Premesssa: cerco soluzione "accattivante".
Una soluzione qualsiasi richiede solo olio di polpastrello.
Struttura file  (e' un file di testo)
[Nome1]
      key=blabla
      [.Nome2]   -->da concatenare a nome1
         -->keys
      [.]   fine subsezione
      [.Nome3] --> questa deve essere concatenata a Nome1
	-->keys
      [.Nome4] --> questa deve essere concatenata a Nome3
	--> keys
      [..Nome5] --> questa concatena a Nome3
	--> Keys
[Nome6.Nome7.Nome8.Nome9] sostituiscono da Nome1
	-->keys   (appese a nome9)
      [...Nome10] da appendere a Nome7
Situazione finale
[Nome1]
     [Nome2]
     [Nome3]
          [Nome4]
          [Nome5]
[Nome6]
     [Nome7]
          [Nome8]
               [Nome9]
     [Nome10]
In sostanza il "." e' un delimitatore di gerarchia.
1) Se non c'e',come primo carattere, genera una nuova radice.
2) Se ce ne e' uno la chiave viene appesa alla precedente
3) Se ne e' presente piu' di uno il numero di punti - 1 da il livello di
risalita
4) Se i punti sono da soli il livello di risalita e' pari al numero di
punti.
5) La gerarchia non deve avere limitazioni.
Per chi le conosce, posso usare le espressioni regolari
Se poi non mi sono spiegato vi "sbatto" qui il file da gestire
Thanks anticipati
--
ac


author: Fabrizio Conti (Panathos)

text:


Quale linguaggio vorresti usare? Cmq in generale se bisogna anche
riordinare le gerarchie e relativi attributi, io farei così:
1) un array per le gerarchie, creato tramite un primo parsing sul file
(associa il "livello" della gerarchia al suo [nome] tramite il
relativo pattern match: " [ = 0 ", " [. = 1 ", " [.. = 2 ", " [... =
3] "; ti serve per avere il numero di tab da stampare)
2) un array per i "contenuti" che appartengono alle gerarchie (associa
il [nome]  ai suoi contenuti)
3) sorting dell'array delle gerarchie in base al [nome] della
gerarchia
Dopodiché per ogni elemento del primo array, stampi:
  - stringa di tab corrispondenti al livello della gerarchia
  - il [nome] della gerarchia
  - il l'elemento del secondo array che ha il [nome] del primo
elemento come chiave
e dovrebbe essere risolto.
I pattern match (per le intere righe) direi che potrebbero essere
questi:
^\W*\[\w+\].*$  --> gerarchia 0
^\W*\[\.\w+\].*$  --> gerarchia 1
^\W*\[\.\.\w+\].*$  --> gerarchia 2
^\W*\[\.\]\w*$   -->> fine subsezione
(questo è il caso facile & stupido, quello elegante prevederebbe il
conteggio dei punti dopo il primo simbolo "["...)
^\W*-->.*$ --> contenuto
Tuttavia non mi torna questa:
> [Nome6.Nome7.Nome8.Nome9] sostituiscono da Nome1
Intendi dire che devono comparire sotto [nome1] oppure che devono
comparire nell'ordine in cui stanno, ma "solamente" indentate al
"primo livello"?
Nell'esempio che hai fatto non è mica chiaro, perché parli anche di
"concatenazione" ma l'ordine è rimasto lo stesso per i [nomi].
> Se poi non mi sono spiegato vi "sbatto" qui il file da gestire
Alle brutte... ma che linguaggio useresti per fare questa cosa?
ciao,
Panathos


text:
On 1 Nov, 16:50, Alessandro Cara <
a...@ay-1asistemi.it
> wrote:
Ok avevo cancellato a CDC e saltato una parte della spiegazione sui
punti come delimitatori di gerarchie. Cmq viste le "regole", e il
requisito della gerarchia infinita, purtroppo mi sa che non bastano
solo le regexp e qualcosa di simile a select...end select... e poi
questa regola
> 1) Se non c'e',come primo carattere, genera una nuova radice.
implica che questa riga
> [Nome6.Nome7.Nome8.Nome9] sostituiscono da Nome1
potrebbe anche essere scritta così?
[.....Nome6...Nome7Nome8..Nome9]
cioè senza punti fra una categoria e l'altra se stanno sullo stesso
ramo gerarchico.
>         -->keys   (appese a nome9)
Almeno il "-->" è "sicuro" come match?
E poi anche questa:
> 4) Se i punti sono da soli il livello di risalita e' pari al numero di
> punti.
direi che se il punto è da solo, si sale un livello... o intendevi
qualcosa di più raffinato?
> Per chi le conosce, posso usare le espressioni regolari
Con le regexp puoi differenziare se ci sono puntini, se ce n'è uno o
più consecutivi, se ci sono più punti non consecutivi... ma tu
dovresti anche estrarre i [nomi] laddove ce n'è più di uno sulla
stessa riga, separato da non-sai-quanti puntini (e non puoi saperlo
dalla regexp, perché queste non fanno conteggi).
Dovresti cominciare il ciclo per il primo array con la variabile
numTabulazioni = 0, e poi aumentare o diminuire in base ai match che
ottieni facendo un for -next sui caratteri di ogni riga acquisita.
ciao,
Panathos


text:
On 1 Nov, 16:50, Alessandro Cara <
a...@ay-1asistemi.it
> wrote:
Ok avevo cancellato a CDC e saltato una parte della spiegazione sui
punti come delimitatori di gerarchie. Cmq viste le "regole", e il
requisito della gerarchia infinita, purtroppo mi sa che non bastano
solo le regexp e qualcosa di simile a select...end select... e poi
questa regola
> 1) Se non c'e',come primo carattere, genera una nuova radice.
implica che questa riga
> [Nome6.Nome7.Nome8.Nome9] sostituiscono da Nome1
potrebbe anche essere scritta così?
[.....Nome6...Nome7Nome8..Nome9]
cioè senza punti fra una categoria e l'altra se stanno sullo stesso
ramo gerarchico.
>         -->keys   (appese a nome9)
Almeno il "-->" è "sicuro" come match?
E poi anche questa:
> 4) Se i punti sono da soli il livello di risalita e' pari al numero di
> punti.
direi che se il punto è da solo, si sale un livello... o intendevi
qualcosa di più raffinato?
> Per chi le conosce, posso usare le espressioni regolari
Con le regexp puoi differenziare se ci sono puntini, se ce n'è uno o



text:
Fabrizio Conti (Panathos) ha scritto:

uhmmmm .... ho l'impressione che c'e' troppo da scrivere.
Come creare la gerarchia non e' un problema. Ho una classe che lo fa (in
access, la sto riscrivendo in java).
Non mi interessa il sorting poiche' vado per chiave associativa e/o
comunque posso inserirle ordinate se mi serve.
> Dopodiché per ogni elemento del primo array, stampi:
>
>   - stringa di tab corrispondenti al livello della gerarchia
>   - il [nome] della gerarchia
>   - il l'elemento del secondo array che ha il [nome] del primo
> elemento come chiave
>
> e dovrebbe essere risolto.
>
> I pattern match (per le intere righe) direi che potrebbero essere
> questi:
> ^\W*\[\w+\].*$  --> gerarchia 0
> ^\W*\[\.\w+\].*$  --> gerarchia 1
> ^\W*\[\.\.\w+\].*$  --> gerarchia 2
> ^\W*\[\.\]\w*$   -->> fine subsezione
> (questo è il caso facile & stupido, quello elegante prevederebbe il
> conteggio dei punti dopo il primo simbolo "["...)
cioe': ctr=param.length-param.replaceAll("^\\.+","").length()
(le quadre gia' le ho tolte)
>
> ^\W*-->.*$ --> contenuto
>
> Tuttavia non mi torna questa:
>
>> [Nome6.Nome7.Nome8.Nome9] sostituiscono da Nome1
maddai ;-{) l'esempio finale pensavo fosse chiaro.
Quando non c'e' il punto davanti significa che si ricomincia da livello
0. Ogni punto rappresenta un livello da generare
Questo e' un pezzo di file vediamo se si capisce meglio
[Connessione]
	[.Default]
		driver=com.mysql.jdbc.Driver
		database=jdbc:mysql://localhost:3306/tremetodi
	[..MySql]
		driver=com.mysql.jdbc.Driver
		database=jdbc:mysql://localhost:3306/motogp
	[.]
	[.MSSQL2000]
		driver=com.microsoft.jdbc.sqlserver.SQLServerDriver
		[.MotoGP]
				database=jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MotoGP
			SQL=d:\pack\sounder\sndSQL.xml
	[...MDB]
		driver=sun.jdbc.odbc.JdbcOdbcDriver
		[.MotoGP]
			database=jdbc:odbc:driver={Microsoft Access Driver
(*.mdb)};DBQ=d:\pack\motogp\motogp.mdb
			SQL=d:\pack\sounder\sndSQL.xml
		[..Sounder]
			database=jdbc:odbc:driver={Microsoft Access Driver
(*.mdb)};DBQ=d:\pack\sounder\SounderData.mdb
[axn.com.dictionary.veicoli]
	Cilindrata=Veicoli.checkCilindrata
	Model=Veicoli.checkModel
[axn.com.dictionary.accessori]
	GPS=Accessori.checkGPS
[axn.com.data]
	Model=T_Model
	Accessori=T_Accessori
Default,MySql,MSSQL2000,MDB stanno tutti sotto "Connessione".
Veicoli e Accessori stanno nella matrioska "axn.com.dictionary"
Dictionary e Data stanno nella matrioska "
axn.com
"
Non farti influenzare dai punti che stanno nelle chiavi finali (quelle
che hanno "=" nel corpo, quei punti non contano, al metodo non ci arrivano)
a questa struttura posso richiedere di leggermi le chiavi
obj.getItem("Connessione.MDB.Sounder.database")
ed il sistema mi restituisce:
jdbc:odbc:driver={Microsoft Access Driver
(*.mdb)};DBQ=d:\pack\sounder\SounderData.mdb
oppure
"Connessione.MDB"
ed il sistema mi restituisce l'oggetto "MDB" con tutte le sue chiavi
sottostanti (MotoGP e Sounder, a loro volta oggetti complessi)
Ma tutto cio' gia' e' funzionante.Ed era funzionante anche la
assegnazione, i.e. obj.setItem("axn.com.data.model","T_Model") prima che
mi mettessi in testa di "duttilizzare" il tutto.
Il mio problema e' costruire la chiave giusta per il setItem.
>
> Intendi dire che devono comparire sotto [nome1] oppure che devono
> comparire nell'ordine in cui stanno, ma "solamente" indentate al
> "primo livello"?
> Nell'esempio che hai fatto non è mica chiaro, perché parli anche di
> "concatenazione" ma l'ordine è rimasto lo stesso per i [nomi].
>
>
>> Se poi non mi sono spiegato vi "sbatto" qui il file da gestire
>
> Alle brutte... ma che linguaggio useresti per fare questa cosa?
In questo caso sto usando java, ma fa lo stesso. Con access c'e' una
piccola complicanza dovuta alle espressioni regolari ma la sostanza
dovrebbe rimanere la stessa. Una libreria per le regex c'e' anche per
Access, o comunque il modo di "giragliintorno" si trova.
"hopeando" di aver chiarito.
Ciao Fabrizio
--
ac


text:
Fabrizio Conti (Panathos) ha scritto:
> On 1 Nov, 16:50, Alessandro Cara <
a...@ay-1asistemi.it
> wrote:
>
> Ok avevo cancellato a CDC e saltato una parte della spiegazione sui
> punti come delimitatori di gerarchie. Cmq viste le "regole", e il
> requisito della gerarchia infinita, purtroppo mi sa che non bastano
> solo le regexp e qualcosa di simile a select...end select... e poi
> questa regola
>
>> 1) Se non c'e',come primo carattere, genera una nuova radice.
>
> implica che questa riga
>
>> [Nome6.Nome7.Nome8.Nome9] sostituiscono da Nome1
>
> potrebbe anche essere scritta cosě?
>
> [.....Nome6...Nome7Nome8..Nome9]
yes e' chiaro se sa ;-{) Afferrato!
>
> cioč senza punti fra una categoria e l'altra se stanno sullo stesso
> ramo gerarchico.
>
>>         -->keys   (appese a nome9)
>
> Almeno il "-->" č "sicuro" come match?
no il --> non c'e' e comunque come ti ho scritto nell'altro post le
chiavi finali non arrivano al metodo "getSezione"
>
> E poi anche questa:
>
>> 4) Se i punti sono da soli il livello di risalita e' pari al numero di
>> punti.
>
> direi che se il punto č da solo, si sale un livello... o intendevi
> qualcosa di piů raffinato?
intendevo [...] sale tre livelli
>
[cut]
Ariciao
--
ac


text:
On 1 Nov, 20:32, Alessandro Cara <
a...@ay-1asistemi.it
> wrote:
> maddai ;-{) l'esempio finale pensavo fosse chiaro.
> Quando non c'e' il punto davanti significa che si ricomincia da livello
> 0. Ogni punto rappresenta un livello da generare
> Questo e' un pezzo di file vediamo se si capisce meglio
Sì e per il pattern matching qualche idea un po' contorta ce l'avrei,
anche se -vista la provenienza del file- non credo che avrai davvero
una roba tipo questa:
[.....Nome6...Nome7Nome8..Nome9]
passi per i riferimenti prima di [nome6], ma [nome7] e [nome8] erano
prive del punto fra loro  :-)
cmq vediamo questi casi liberamente tratti dagli esempi:
[.....Nome6...Nome7Nome8..Nome9]
[axn.com.dictionary.accessori]
[..Sounder]
[.MDB]
[.]
io per ogni stringa farei due sostituzioni con regexp, globali, in
modo da "normalizzarla", poi con due split avrei il "riferimento" per
ciascun elemento, ed il suo nome.
Cerco di spiegarmi in metacazzlinguaggio:
s = "[.....Nome6...Nome7.Nome8..Nome9] "
' togliamo le parentesi quadre...
s1 = replace(s, array('[',']')
' trasformo tutti i punti multipli in uno solo per poi splittare
s1 = regReplaceGlobal(s1, "\.+", "\.")
' splitto il punto per ottenere le classi
arrClassi = split(s1, '.')
arrClassi = 'Nome6', 'Nome7', 'Nome8', 'Nome9'
' anche in Java ogni elemento dell'array è indicizzato numericamente a
partire da zero...
Dopodiché ottengo il riferimento per ciascuna classe:
' trasformo tutti i caratteri non-punti un separatore unico qualsiasi,
da splittare
s1 = regReplaceGlobal( s1, "[^\.]+", "A")
' s1 = ".....A...A.A..A"
' splitto per ottenere un array con i riferimenti delle classi
arrRif = split(s1, "A")
arrRif = '.....', '...', '.', '..', Null
' arrClassi è di 4 elementi, arrRif ne ha 5 di cui l'ultimo non serve
' la lunghezza della stringa di ciascun elemento di arrRif restituisce
il riferimento relativo alla classe attuale, da agganciare in un altro
array se non si usano array associativi:
foreach elem in arrRif {
  arrDist[] = strlen(elem)
}
Ora si ottiene:
arrClassi = 'Nome6', 'Nome7', 'Nome8', 'Nome9'
arrRif = '.....', '...', '.', '..', Null
arrDist = 5, 3, 1, 2
arrDist ti fornisce il "riferimento relativo" per ogni elemento di
arrClassi; poi gestirlo bene è un altro film... perché i riferimenti
sono relativi, e quindi ti devi tirare dietro un altro array che
appunto viene riferito... e per come la vedo io per gestire bene i
"casi" di match qui sopra converrebbe usare una switch() anche solo
per matchare il [.] senza scasinare con le regexp... ma mi fermo qui e
attendo tua reply.
ciao,
Panathos


text:
Fabrizio Conti (Panathos) ha scritto:
> On 1 Nov, 20:32, Alessandro Cara <
a...@ay-1asistemi.it
> wrote:
>
Ciao Fabrizio.
>
>> maddai ;-{) l'esempio finale pensavo fosse chiaro.
>> Quando non c'e' il punto davanti significa che si ricomincia da livello
>> 0. Ogni punto rappresenta un livello da generare
>> Questo e' un pezzo di file vediamo se si capisce meglio
>
> Sě e per il pattern matching qualche idea un po' contorta ce l'avrei,
> anche se -vista la provenienza del file- non credo che avrai davvero
> una roba tipo questa:
>
> [.....Nome6...Nome7Nome8..Nome9]
Quello e' un tipo di file ma potrei gestirne un altro qualsiasi per
altre necessita' (cfr esempio in fondo)
>
> passi per i riferimenti prima di [nome6], ma [nome7] e [nome8] erano
> prive del punto fra loro  :-)
nel mio esempio c'erano.Il punto lo hai soppresso tu, evidentemente ti
stava antipatico ;-{)
>
> cmq vediamo questi casi liberamente tratti dagli esempi:
>
> [.....Nome6...Nome7Nome8..Nome9]
> [axn.com.dictionary.accessori]
> [..Sounder]
> [.MDB]
> [.]
>
> io per ogni stringa farei due sostituzioni con regexp, globali, in
> modo da "normalizzarla", poi con due split avrei il "riferimento" per
> ciascun elemento, ed il suo nome.
> Cerco di spiegarmi in metacazzlinguaggio:
>
> s = "[.....Nome6...Nome7.Nome8..Nome9] "
> ' togliamo le parentesi quadre...
> s1 = replace(s, array('[',']')
> ' trasformo tutti i punti multipli in uno solo per poi splittare
> s1 = regReplaceGlobal(s1, "\.+", "\.")
> ' splitto il punto per ottenere le classi
> arrClassi = split(s1, '.')
>
> arrClassi = 'Nome6', 'Nome7', 'Nome8', 'Nome9'
> ' anche in Java ogni elemento dell'array č indicizzato numericamente a
> partire da zero...
>
> Dopodiché ottengo il riferimento per ciascuna classe:
>
> ' trasformo tutti i caratteri non-punti un separatore unico qualsiasi,
> da splittare
> s1 = regReplaceGlobal( s1, "[^\.]+", "A")
> ' s1 = ".....A...A.A..A"
> ' splitto per ottenere un array con i riferimenti delle classi
> arrRif = split(s1, "A")
> arrRif = '.....', '...', '.', '..', Null
> ' arrClassi č di 4 elementi, arrRif ne ha 5 di cui l'ultimo non serve
>
> ' la lunghezza della stringa di ciascun elemento di arrRif restituisce
> il riferimento relativo alla classe attuale, da agganciare in un altro
> array se non si usano array associativi:
>
> foreach elem in arrRif {
>   arrDist[] = strlen(elem)
> }
>
> Ora si ottiene:
> arrClassi = 'Nome6', 'Nome7', 'Nome8', 'Nome9'
> arrRif = '.....', '...', '.', '..', Null
> arrDist = 5, 3, 1, 2
>
> arrDist ti fornisce il "riferimento relativo" per ogni elemento di
> arrClassi; poi gestirlo bene č un altro film... perché i riferimenti
> sono relativi, e quindi ti devi tirare dietro un altro array che
> appunto viene riferito... e per come la vedo io per gestire bene i
> "casi" di match qui sopra converrebbe usare una switch() anche solo
> per matchare il [.] senza scasinare con le regexp... ma mi fermo qui e
> attendo tua reply.
>
> ciao,
> Panathos
Non uso array. In access uso una collezione mentre in Java al momento
una HasMap (piu' o meno e' la stessa cosa).
Il problema di assegnare e ritrovare i dati non lo ho. Quella parte e'
risolta da tempo.
Il problema e' solo come formattare la stringa da avviare al metodo di
inserimento delle chiavi.
Il metodo getSezione viene chiamato in questo modo
if left(trim(linea),1) = "[" then
     nuovasezione=getSezione(sezioneprecedente,lineaditesto)
else
   --> appende alla sezione corrente la chiave descrittiva
   es Tipo=Erbaceaa
end if
il problema e' solo costruire la nuova sezione
immmagina che le chiamate siano cosi' (metto gia' il risultato atteso
con -->)
1
getSezione("Fanerogame.Orchidacee.Ophrys.Ophrys
Apifera","[..Neottia.Neottia NidusAvis]"
-->"Fanerogame.Orchidacee.Neottia.Neottia NidusAvis"
2
getSezione("Fanerogame.Orchidacee.Neottia.Neottia Nidus Avis","[...]"
--> "Fanerogame"
3
getSezione("Fanerogame","[.Labiate.Thymus]"
--> "Fanerogame.Labiate.Thymus"
4
getSezione("Fanerogame.Labiate.Thymus","[.Thymus Serpyllum]"
--> "Fanerogame.Labiate.Thymus.Thymus Serpyllum"
5
getSezione("Fanerogame.Labiate.Thymus.Thymus
Serpyllum","[Crittogame.Equisetacee.Equisetum.Equisetum Arvense]"
--> "Crittogame.Equisetacee.Equisetum.Equisetum Arvense"
Inoltre parto dal presupposto che la riga da gestire sia formalmente
corretta se non lo e' si arrangino. (Comunque la soppressione dei punti
che eventualmente sono di troppo viene fatta in fase di scrittura della
chiave)
i.e. se in scrittura chiave mi arriva una cosa cosi':
".x...t.z..v.....n"
diventa
"x.t.z.v.n"
Una mezza soluzione la ho buttata giu'. Devo solo testarla.
Poi chiedero' "aiuto" per migliorarla.
Ovviamente anche la gestione Access.
--
ac


text:
On 2 Nov, 20:41, Alessandro Cara <
a...@ay-1asistemi.it
> wrote:
> Una mezza soluzione la ho buttata giu'. Devo solo testarla.
A qs punto sarei curioso di vederla... se non rapporti le classi a
qualche tipo id liste indicizzate, non vedo come puoi ricavare gli
"spostamenti" che passi come nel secondo argomento.
E poi questa:
> (Comunque la soppressione dei punti
> che eventualmente sono di troppo viene fatta in fase di scrittura della
> chiave)
> i.e. se in scrittura chiave mi arriva una cosa cosi':
> ".x...t.z..v.....n"
> diventa
> "x.t.z.v.n"
e gli esempi che hai postato dopo, implicano che i punti multipli
possano essere solo nel primo elemento, o non esserci proprio. Così è
più semplice.
Inoltre riguarda gli esempi che hai postato, tipo questo:
> getSezione("Fanerogame.Orchidacee.Ophrys.Ophrys
> Apifera","[..Neottia.Neottia NidusAvis]"
> -->"Fanerogame.Orchidacee.Neottia.Neottia NidusAvis"
Se con un punto rimani alla classe attuale, con due dovresti spostarti
di una e tornare alla precedente, invece di "saltarne" due.
Altrimenti, come fai a risalire di una sola classe?
> 2
> getSezione("Fanerogame.Orchidacee.Neottia.Neottia Nidus Avis","[...]"
> --> "Fanerogame"
Idem pure qui, tre punti dovrebbero portare a Orchidacee.
> 3
> getSezione("Fanerogame","[.Labiate.Thymus]"
> --> "Fanerogame.Labiate.Thymus"
Questo è coerente, un punto rimane al livello corrente.
> 4
> getSezione("Fanerogame.Labiate.Thymus","[.Thymus Serpyllum]"
> --> "Fanerogame.Labiate.Thymus.Thymus Serpyllum"
Pure questo è coerente.
> 5
> getSezione("Fanerogame.Labiate.Thymus.Thymus
> Serpyllum","[Crittogame.Equisetacee.Equisetum.Equisetum Arvense]"
> --> "Crittogame.Equisetacee.Equisetum.Equisetum Arvense"
E anche questo va bene, non ci sono punti e deve restituire la classe
del secondo argomento.
Cmq mi sono intrippato e ti mando un codice funzionante per il parsing
"come l'ho inteso", dimmi un po' tu.
Sub VBtrip()
Dim coll1 As New Collection, arg1$, arg2$, stringa$
Dim arr1arg, arr2arg, i%, elem
arg1 = "Fanerogame.Orchidacee.Ophrys.Ophrys Apifera"
arg2 = ".Labiate"
arr1arg = Split(arg1, ".")
For Each elem In arr1arg
    coll1.Add elem
Next elem
arr2arg = Split(arg2, ".")
If UBound(arr2arg) = 0 Then
    Set coll1 = Nothing
    coll1.Add arr2arg(0)
End If
For i = 0 To UBound(arr2arg)
    If arr2arg(i) = "" And i = 0 Then
        GoTo prosegui
    ElseIf arr2arg(i) = "" And i <> UBound(arr2arg) Then
        coll1.Remove coll1.Count
    Else
        If arr2arg(i) <> "" Then coll1.Add arr2arg(i)
    End If
prosegui:
Next i
For Each elem In coll1
    stringa = "" & stringa & elem + "."
Next elem
stringa = Left(stringa, Len(stringa) - 1)
Debug.Print stringa
End Sub
ciao,
Panathos


text:
On 2 Nov, 20:41, Alessandro Cara <
a...@ay-1asistemi.it
> wrote:
Questo è il codice corretto. Alla routine postata precedentemente
mancava l'istruzione su cosa fare quando veniva passata una classe
senza riferimento.
Ho dato per scontato che le parentesi quadre non ci fossero fin
dall'inizio, come vedi.
Sub prova_VBtrip()
MsgBox VBtrip("Fanerogame.Orchidacee.Ophrys.Ophrys Apifera",
"...Neottia.Neottia NidusAvis")
End Sub
Function VBtrip(arg1, arg2) As String
Dim coll1 As New Collection
Dim arr1arg, arr2arg, i%, elem
Dim stringa$
arr1arg = Split(arg1, ".")
For Each elem In arr1arg
    coll1.Add elem
Next elem
arr2arg = Split(arg2, ".")
If UBound(arr2arg) = 0 Then
    Set coll1 = Nothing
    coll1.Add arr2arg(0)
    VBtrip = arr2arg(0)
    Exit Function
End If
For i = 0 To UBound(arr2arg)
    If arr2arg(i) = "" And i = 0 Then
        GoTo prosegui
    ElseIf arr2arg(i) = "" And i <> UBound(arr2arg) Then
        coll1.Remove coll1.Count
    Else
        If arr2arg(i) <> "" Then coll1.Add arr2arg(i)
    End If
prosegui:
Next i
For Each elem In coll1
    stringa = "" & stringa & elem + "."
Next elem
stringa = Left(stringa, Len(stringa) - 1)
VBtrip = stringa
End Function
ciao,
Panathos


text:
Fabrizio Conti (Panathos) ha scritto:
> On 2 Nov, 20:41, Alessandro Cara <
a...@ay-1asistemi.it
> wrote:
>
>
>> Una mezza soluzione la ho buttata giu'. Devo solo testarla.
>
> A qs punto sarei curioso di vederla... se non rapporti le classi a
> qualche tipo id liste indicizzate, non vedo come puoi ricavare gli
> "spostamenti" che passi come nel secondo argomento.
>
> E poi questa:
>
>> (Comunque la soppressione dei punti
>> che eventualmente sono di troppo viene fatta in fase di scrittura della
>> chiave)
>> i.e. se in scrittura chiave mi arriva una cosa cosi':
>> ".x...t.z..v.....n"
>> diventa
>> "x.t.z.v.n"
>
> e gli esempi che hai postato dopo, implicano che i punti multipli
> possano essere solo nel primo elemento, o non esserci proprio. Cosě č
> piů semplice.
E' cosi' infatti. Se ci sono piu' punti fra gli elementi successivi al
primo e' un errore e comunque viene corretto dopo.
>
> Inoltre riguarda gli esempi che hai postato, tipo questo:
>
>> getSezione("Fanerogame.Orchidacee.Ophrys.Ophrys
>> Apifera","[..Neottia.Neottia NidusAvis]"
>> -->"Fanerogame.Orchidacee.Neottia.Neottia NidusAvis"
>
> Se con un punto rimani alla classe attuale, con due dovresti spostarti
> di una e tornare alla precedente, invece di "saltarne" due.
> Altrimenti, come fai a risalire di una sola classe?
Se c'e'un solo punto la chave viene appesa al corrente.
Per risalire di una radice c'e' "appunto" il punto punto [..risale di 1]
Comunque in questo, sei stato attento, mi sono sbagliato dovevo mettere
tre punti all'inizio
>
>> 2
>> getSezione("Fanerogame.Orchidacee.Neottia.Neottia Nidus Avis","[...]"
>> --> "Fanerogame"
>
> Idem pure qui, tre punti dovrebbero portare a Orchidacee.
Quando i punti sono da soli la risalita e' pari al numero di punti
>
>> 3
>> getSezione("Fanerogame","[.Labiate.Thymus]"
>> --> "Fanerogame.Labiate.Thymus"
>
> Questo č coerente, un punto rimane al livello corrente.
>
>> 4
>> getSezione("Fanerogame.Labiate.Thymus","[.Thymus Serpyllum]"
>> --> "Fanerogame.Labiate.Thymus.Thymus Serpyllum"
>
> Pure questo č coerente.
>
>> 5
>> getSezione("Fanerogame.Labiate.Thymus.Thymus
>> Serpyllum","[Crittogame.Equisetacee.Equisetum.Equisetum Arvense]"
>> --> "Crittogame.Equisetacee.Equisetum.Equisetum Arvense"
>
> E anche questo va bene, non ci sono punti e deve restituire la classe
> del secondo argomento.
>
> Cmq mi sono intrippato e ti mando un codice funzionante per il parsing
> "come l'ho inteso", dimmi un po' tu.
Stavo notando l' "intrippamento"
Quello che ho fatto e' questo
J:   private String getSezione(String sz, String ln){
A:   Function getSezione(sz as string, ln as string)
      Dim sezione as string, newsez as string, aSez as variant, ix as
long, i as long
J:      String sezione = ln.replaceAll("\\]|\\[", "").trim();
A:      sezione = replace(replace(trim(ln),"[",""),"]","")
J:      if(!sezione.substring(0,1).equals(".")) {return sezione+".";}
A:      if left(sezione,1)<>"." then
		getsezione = sezione & "."
		exit function
	end if
J:      String newSez = sezione.replaceAll("^\\.+","");
A:      for i=1 to len(newsez)
	    if mid(newsez,i,1) <> "." then exit for
         next
         newsez = mid(newsez,i)
J:      String[] aSez = sz.split("\\.");
A:	asez = split(sz,".")
j:      int ix=aSez.length;
         ix-=(newSez.equals("")?0:-1)+(sezione.length()-newSez.length());
A:      ix=ubound(asez) - (iif(newsez="",0,-1)) + (len(sezione)-len(newSez))
J/A:     sezione = "";
J:       for(int i=0;i<ix;i++){
             sezione += aSez[i] + ".";
         }
A:     for i=0 to ix-1
	 sezione = sezione & aSez(i) & "."
        next
J:     return sezione+newSez+(newSez.equals("")?"":".");
A:	getSezione = sezione & newSez & iif(newSez="","",".")
     }
La roba access l'ho  tradotta in corsa. Potrebbe dare un errore sulla:
newsez = mid(newsez,i) len caso di punti da soli.
A occhio il J: va bene pure per c# e tolte le definizioni del tipo anche
per Javascript
E' che volevo fare una routine senza cicli ma credo sia difficile.
Ora poi mi guardo il tuo codice.
--
ac


text:
On 3 Nov, 22:09, Alessandro Cara <
a...@ay-1asistemi.it
> wrote:
> Se c'e'un solo punto la chave viene appesa al corrente.
> Per risalire di una radice c'e' "appunto" il punto punto [..risale di 1]
Allora il codice che ho scritto funziona, a parte gestire il fatto che
non ti "blocca" se risali più classi di quante ne hai a disposizione.
> > Cmq mi sono intrippato e ti mando un codice funzionante per il parsing
> > "come l'ho inteso", dimmi un po' tu.
>
> Stavo notando l' "intrippamento"
E' perché pure io volevo farlo senza cicli, in effetti parrebbe che
con un paio di pattern matching di sostituzione si potrebbe
risolvere... se hai [A.B.C.D], 'sovrapponendo' direttamente [..E.F]
sarebbe fatta. Parrebbe, eh :-)
> Quello che ho fatto e' questo
Azz, hai lavorato solo "a stringhe" parsando gli elementi invece di
splittare. Io invece ho valorizzato una collection, ed in base agli
elementi splittati del secondo argomento, tolgo gli ultimi valori di
questa collection, oppure accodo gli elementi del secondo argomento.
Poi costruisco la stringa finale.
Credo che si potrebbe fare a meno di usare cicli "espliciti"
ricorrendo ad es. alle tante funzioni sugli array disponibili in php,
ad esempio... ma anche le varie array_intersect(), array_combine() e
compagnia bella ovviamente vanno a ciclare sugli elementi.
Altrimenti unire liste di elementi laddove la creazione della lista
per il secondo argomento venga fatta sostituendo alle sequenze di
puntini vuoti gli elementi del primo argomento, a partire
dall'ultimo.
E poi fare un array_merge() per ottenere una lista unica; con
conseguente join() per restituire la stringa apposto.
In php FORSE questa strada è perseguibile; e probabilmente Java fra le
sue decimilioni di classi ne avrà qualcuna che permette di gestire
array a questo livello.
Usare solo stringhe e pattern matching per fare questa cosa continua a
sembrarmi lontanamente fattibile, ma dovrei andare a meditare un mese
nel deserto a cibarmi di radici; e ormai comincerebbe a venirmi la
gastrite :-)
> Ora poi mi guardo il tuo codice.
Per funzionare, funziona. Però continuo a pensare che se VBA fosse un
tantino più sviluppato.... ma chiudo per non tornare sui discorsi di
qualche tempo fa :-)
ciao,
Panathos


text:
Fabrizio Conti (Panathos) ha scritto:
[cut]
> Per funzionare, funziona. Per� continuo a pensare che se VBA fosse un
> tantino pi� sviluppato.... ma chiudo per non tornare sui discorsi di
> qualche tempo fa :-)
Davo per scontato che funzionasse.
Ti "voglio" fare solo un appunto. La GoTo, anche se credo di aver capito
la ragione.
VBA e' sviluppato. Il suo limite e' che, essendo un prodotto "di
proprieta", non correda con tutti quegli "addin" previsti da php (o java
stesso) che, alcune volte, piu' che addin sono "casin". Fare una
libreria (mda) di possibili utility e' possibile anche per il VBA. Se
non ci sono e se non c'e' una vasta "community" che lavori in tal senso,
secondo me, e' dovuto al fatto che il 90% della roba che veramente serve
gia' c'e' ed, inoltre, il mondo che gira intorno ad access e' formato
solo per il 20% di gente con capacita' di intendere e volere.
Se qualcuno si sente dalla parte dell'80% non si adombri non voleva
essere offensivo, e' il prodotto stesso che consente di fare pur  non
sapendo.
--
ac


text:
On 4 Nov, 18:40, Alessandro Cara <
a...@ay-1asistemi.it
> wrote:
[...]
> Davo per scontato che funzionasse.
Troppo buono, Maestro.
> Ti "voglio" fare solo un appunto. La GoTo, anche se credo di aver capito
> la ragione.
Accetto molto volentieri l'appunto, e anche se ho passato i primi anni
della mia vita informatica con la GoTo, convengo che sia un obbrobrio.
Però se in una For...Next non puoi mettere Continue e bisogna saltare
il primo passo del ciclo in base ad una condizione... come fai?
> non ci sono e se non c'e' una vasta "community" che lavori in tal senso,
> secondo me, e' dovuto al fatto che il 90% della roba che veramente serve
> gia' c'e' ed, inoltre, il mondo che gira intorno ad access e' formato
> solo per il 20% di gente con capacita' di intendere e volere.
Questa può sembrare un po' cattiva, ma è vera. E' la forza ed anche la
"debolezza" di Access e VBA in generale. Semplice (si fa per dire)
all'inizio, permette a molte persone di assemblare applicazioni o
comunque "rimescolare" dati anche senza un certo tipo di basi
universitarie.
La fregatura semmai arriva dopo; quando ci si accorge che per fare
cose che ambiti più complessi permettono in modo semplice, qui
nell'ambiente semplice bisogna fare cose complesse, o lunghe, o
noiose, o veri arzigogoli.
> Se qualcuno si sente dalla parte dell'80% non si adombri non voleva
> essere offensivo, e' il prodotto stesso che consente di fare pur  non
> sapendo.
Figura nella quale mi riconosco appieno, dopotutto. Per quanto mi
impegni, sono sempre più le cose che non conosco rispetto a quelle che
riesco ad imparare.
ciao,
Panathos


title: Aiuto x Query di selezione parametrica...

author: SuperPippo®

text:
vengo subito al sodo...ho una maschera che ha come origine record una Query
di selezione  affinchè in maschera tramite una casella di testo non
associata faccio delle ricerche direttamente in Maschera...
nella query nel Campo Cognome in Criteri è scritto
"Like [Forms]![Maschera1]![Ricerca]"
però a me occorrerebbe trovare una persona digitando sia Cognome che Nome
come posso fare ???
inoltre vorrei anche sapere... se in maschera inserisco un bottone di
comando x la stampa del foglio corrente... vi è qualche possibilità di
portarlo in un report affinchè
costruisca un report fisso di mio gradimento ???
Grazie x l'aiuto........


author: Esteban

text:
"SuperPippo®" <
ik0...@libero.it
> wrote in message
news:aBfL6.12147$RX4.7...@news.infostrada.it...
> vengo subito al sodo...ho una maschera che ha come origine record una Query
> di selezione  affinchè in maschera tramite una casella di testo non
> associata faccio delle ricerche direttamente in Maschera...
> nella query nel Campo Cognome in Criteri è scritto
> "Like [Forms]![Maschera1]![Ricerca]"
> però a me occorrerebbe trovare una persona digitando sia Cognome che Nome
> come posso fare ???
Perché non imposti una condizione Where nella Query?
Per esempio:
Maschera1.RecordSource = "select * from Query1 where trim([Cognome]) & ' ' &
trim([Nome]) like [Forms]![Maschera1]![Ricerca]"
Dove Query1 è l'origine record che già usi, [Cognome] e [Nome] sono 2 campi di
Query1 e il testo della casella di testo [Ricerca] dovrà avere il formato
'Cognome Nome'.
Oppure nella crei 2 differenti caselle di testo [RicercaCognome] e [RicercaNome]
e allora, utilizzando lo stesso sistema che già hai, metti un criterio anche nel
campo nome:
[Cognome] -> criterio = "Like [Forms]![Maschera1]![RicercaCognome]"
[Nome] -> criterio = "Like [Forms]![Maschera1]![RicercaNome]"
Ciao!
Esteban
Hosted by
www.seber.it


text:
"Esteban" <
Est...@news.it
> ha scritto nel messaggio
news:KIgL6.12565$RX4.7...@news.infostrada.it...

|-------------------------------------------
grazie x la risposta Esteban... Cmq... la seconda che hai detto che sembrava
la + facile..non va dato che in maschera dopo aver scritto il cognome sulla
prima casella di testo...(dopo aggiornamento) esce il cognome...
vorrei prendere in considerazione la prima...ma non sono riuscito a far
funzionare la query che mi dà sempre errore...ti posto il codice SQL
originale...
grazie...
---------------------------
SELECT Anagrafe.Codice_ASL, Anagrafe.ID_assistito AS Anagrafe_ID_assistito,
Anagrafe.Cognome, Anagrafe.Nome, Anagrafe.Codice_Fiscale, Anagrafe.Sesso,
Anagrafe.Nascita, Anagrafe.Comune_Nascita, Anagrafe.Comune_Residenza,
Anagrafe.Distretto, Anagrafe.N_Protocollo, Anagrafe.Telefono,
Anagrafe.Medico, Anagrafe.Indirizzo, Anagrafe.Codice_regionale,
Anagrafe.des_nascita, Anagrafe.des_residenza, Anagrafe.trasf AS
Anagrafe_trasf, Anagrafe.cap, Anagrafe.asl_appartenenza,
Esenzioni.Id_Assistito AS Esenzioni_Id_Assistito, Esenzioni.Stato,
Esenzioni.Inizio_Esenzione, Esenzioni.Fine_esenzione,
Esenzioni.Prossimo_Rinnovo, Esenzioni.Codice_Esenzione, Esenzioni.trasf AS
Esenzioni_trasf
FROM Anagrafe INNER JOIN Esenzioni ON Anagrafe.ID_assistito =
Esenzioni.Id_Assistito
WHERE (((Anagrafe.Cognome) Like [Forms]![Anagrafe1]![Cerca1])) OR
(((Anagrafe.Codice_regionale) Like [Forms]![Anagrafe1]![Cerca2])) OR
(((Anagrafe.N_Protocollo) Like [Forms]![Anagrafe1]![Cerca3])) OR
(((Anagrafe.Codice_Fiscale) Like [Forms]![Anagrafe1]![Cerca4]));


text:
"SuperPippo®" <
ik0...@libero.it
> wrote in message
news:4RrL6.14335$RX4.8...@news.infostrada.it...

Che errore ti da? Ad occhio e croce, se Codice_regionale e N_Protocollo sono
campi numerici, l'errore è nell'uso di Like. In questo caso devi usare =.
Tips:
se vuoi filtrare i Nomi che iniziano per un carattere (o più caratteri) scrivi
così:
    WHERE (((Anagrafe.Cognome) Like [Forms]![Anagrafe1]![Cerca1] & "*")) OR
se invece vuoi filtrari i nomi che contengono uno o più caratteri scrivi così:
    WHERE (((Anagrafe.Cognome) Like "*" & [Forms]![Anagrafe1]![Cerca1] & "*"))
OR
se non vuoi preoccuparti del fatto che il nome sia scritto in maiuscolo o in
minuscolo scrivi così:
    WHERE ((ucase(Anagrafe.Cognome) Like ucase("*" &
[Forms]![Anagrafe1]![Cerca1] & "*"))) OR



text:
"Esteban" <
Est...@news.it
> ha scritto nel messaggio
news:Q4tL6.14798$RX4.9...@news.infostrada.it...
| "SuperPippo®" <
ik0...@libero.it
> wrote in message
digitando sia Cognome che
[superCUT]
| Che errore ti da? Ad occhio e croce, se Codice_regionale e N_Protocollo
sono
| campi numerici, l'errore č nell'uso di Like. In questo caso devi usare =.
|
| Tips:
| se vuoi filtrare i Nomi che iniziano per un carattere (o piů caratteri)
scrivi
| cosě:
|     WHERE (((Anagrafe.Cognome) Like [Forms]![Anagrafe1]![Cerca1] & "*"))
OR
|
| se invece vuoi filtrari i nomi che contengono uno o piů caratteri scrivi
cosě:
|     WHERE (((Anagrafe.Cognome) Like "*" & [Forms]![Anagrafe1]![Cerca1] &
"*"))
| OR
|
| se non vuoi preoccuparti del fatto che il nome sia scritto in maiuscolo o
in
| minuscolo scrivi cosě:
|     WHERE ((ucase(Anagrafe.Cognome) Like ucase("*" &
| [Forms]![Anagrafe1]![Cerca1] & "*"))) OR
-----------------------------------------------------------
beh.. gli errori sono di caratteri non previsti nell'istruzione SQL....
CMQ prova e riprova con la stringa sotto riportata la ricerca del Cognome e
Nome funziona... perň
non funzionano + gli altri controlli....
come operatore se invece del Like metto = funzionano i tre controlli eccetto
cognome e nome...
---------------------------------------------------------------
FROM Anagrafe INNER JOIN Esenzioni ON Anagrafe.ID_assistito =
Esenzioni.Id_Assistito
WHERE ((([Anagrafe].[Cognome] & " " & [Anagrafe].[Nome]) Like
[Forms]![Anagrafe1]![Cerca1] & "*"))  OR (((Anagrafe.Codice_regionale) Like
[Forms]![Anagrafe1]![Cerca2])) OR
(((Anagrafe.N_Protocollo) Like [Forms]![Anagrafe1]![Cerca3])) OR
(((Anagrafe.Codice_Fiscale) Like [Forms]![Anagrafe1]![Cerca4]));
---------------------------------------------------------
come risolvo il problema... hai qualche idea.. ???


author: Antonio Biso

text:
SuperPippo® <
ik0...@libero.it
> wrote in message
aBfL6.12147$RX4.7...@news.infostrada.it...
> vengo subito al sodo...ho una maschera che ha come origine record una
Query
> di selezione  affinchè in maschera tramite una casella di testo non
> associata faccio delle ricerche direttamente in Maschera...
> nella query nel Campo Cognome in Criteri è scritto
> "Like [Forms]![Maschera1]![Ricerca]"
> però a me occorrerebbe trovare una persona digitando sia Cognome che Nome
> come posso fare ???
Metti sotto il campo nome like nz([Forms]![Maschera1]![Ricerca_NOME];"*")
Antonio


text:
"Antonio Biso" <
ch...@etruria.net
> ha scritto nel messaggio
news:Z4LL6.20217$RX4.1...@news.infostrada.it...
| SuperPippo® <
ik0...@libero.it
> wrote in message
| aBfL6.12147$RX4.7...@news.infostrada.it...
|
| Metti sotto il campo nome like nz([Forms]![Maschera1]![Ricerca_NOME];"*")
-------------------------------
ho provato a fare come dici tu Antonio... ma oltre ad uscirmi la finestrella
di immissione... non funziona neanche....
ti posto il codice SQL con il quale tutte le caselle di testo non associate
nella Maschera funzionano perfettamente....
dovrei aggiustare solo la prima che invece di restituirmi solo il
Cognome....
se digito Cognome +Nome mi dobrebbe dare entrambi....
*****************
SELECT Anagrafe.Codice_ASL, Anagrafe.ID_assistito AS Anagrafe_ID_assistito,
Anagrafe.Cognome, Anagrafe.Nome, Anagrafe.Codice_Fiscale, Anagrafe.Sesso,
Anagrafe.Nascita, Anagrafe.Comune_Nascita, Anagrafe.Comune_Residenza,
Anagrafe.Distretto, Anagrafe.N_Protocollo, Anagrafe.Telefono,
Anagrafe.Medico, Anagrafe.Indirizzo, Anagrafe.Codice_regionale,
Anagrafe.des_nascita, Anagrafe.des_residenza, Anagrafe.trasf AS
Anagrafe_trasf, Anagrafe.cap, Anagrafe.asl_appartenenza,
Esenzioni.Id_Assistito AS Esenzioni_Id_Assistito, Esenzioni.Stato,
Esenzioni.Inizio_Esenzione, Esenzioni.Fine_esenzione,
Esenzioni.Prossimo_Rinnovo, Esenzioni.Codice_Esenzione, Esenzioni.trasf AS
Esenzioni_trasf
FROM Anagrafe INNER JOIN Esenzioni ON Anagrafe.ID_assistito =
Esenzioni.Id_Assistito
WHERE (((Anagrafe.Cognome) Like [Forms]![Anagrafe1]![Cerca1])) OR
(((Anagrafe.Codice_regionale) Like [Forms]![Anagrafe1]![Cerca2])) OR
(((Anagrafe.N_Protocollo) Like [Forms]![Anagrafe1]![Cerca3])) OR
(((Anagrafe.Codice_Fiscale) Like [Forms]![Anagrafe1]![Cerca4]));
******************
Ciao e grazie x l'aiuto


text:
SuperPippo® <
ik0...@libero.it
> wrote in message
tRPL6.21399$RX4.1...@news.infostrada.it...
> "Antonio Biso" <
ch...@etruria.net
> ha scritto nel messaggio
> news:Z4LL6.20217$RX4.1...@news.infostrada.it...
> | SuperPippo® <
ik0...@libero.it
> wrote in message
> | aBfL6.12147$RX4.7...@news.infostrada.it...
> |
> | Metti sotto il campo nome like
nz([Forms]![Maschera1]![Ricerca_NOME];"*")
> -------------------------------
> ho provato a fare come dici tu Antonio... ma oltre ad uscirmi la
finestrella
> di immissione... non funziona neanche....
Ma hai creato una query, o stai continuando a scrivere via codice la
stringa?
> ti posto il codice SQL con il quale tutte le caselle di testo non
associate
> nella Maschera funzionano perfettamente....
> dovrei aggiustare solo la prima che invece di restituirmi solo il
> Cognome....
> se digito Cognome +Nome mi dobrebbe dare entrambi....
Ma cognome e nome sono campi separati?
E l'utente li va a scrivere in controlli separati?
> *****************
> SELECT Anagrafe.Codice_ASL, Anagrafe.ID_assistito AS
Anagrafe_ID_assistito,
> Anagrafe.Cognome, Anagrafe.Nome, Anagrafe.Codice_Fiscale, Anagrafe.Sesso,
> Anagrafe.Nascita, Anagrafe.Comune_Nascita, Anagrafe.Comune_Residenza,
> Anagrafe.Distretto, Anagrafe.N_Protocollo, Anagrafe.Telefono,
> Anagrafe.Medico, Anagrafe.Indirizzo, Anagrafe.Codice_regionale,
> Anagrafe.des_nascita, Anagrafe.des_residenza, Anagrafe.trasf AS
> Anagrafe_trasf, Anagrafe.cap, Anagrafe.asl_appartenenza,
> Esenzioni.Id_Assistito AS Esenzioni_Id_Assistito, Esenzioni.Stato,
> Esenzioni.Inizio_Esenzione, Esenzioni.Fine_esenzione,
> Esenzioni.Prossimo_Rinnovo, Esenzioni.Codice_Esenzione, Esenzioni.trasf AS
> Esenzioni_trasf
> FROM Anagrafe INNER JOIN Esenzioni ON Anagrafe.ID_assistito =
> Esenzioni.Id_Assistito
> WHERE (((Anagrafe.Cognome) Like [Forms]![Anagrafe1]![Cerca1])) OR
> (((Anagrafe.Codice_regionale) Like [Forms]![Anagrafe1]![Cerca2])) OR
> (((Anagrafe.N_Protocollo) Like [Forms]![Anagrafe1]![Cerca3])) OR
> (((Anagrafe.Codice_Fiscale) Like [Forms]![Anagrafe1]![Cerca4]));
> ******************
> Ciao e grazie x l'aiuto
Questa è la stringa sql della query o quella che scrivi tu via codice?
Antonio


text:
"Antonio Biso" <
ch...@etruria.net
> ha scritto nel messaggio
news:%g5M6.27172$RX4.1...@news.infostrada.it...
| SuperPippo® <
ik0...@libero.it
> wrote in message
| > |

-------------------------
allora ...rispondo alle tue domande....
la Maschera1 ha come origine controllo una Query1... che a sua volta questa
ha come
origine 2 tabelle (Anagrafe+Esenzioni) in relazione tra loro uno a molti.
quindi Cognome e Nome sono in 2 campi separati nella Query1............
l'utente ...in Maschera1 deve digitare in una casella di testo non associata
Cerca1
il Cognome+Nome... e chiaramente anche i restanti controlli devono
funzionare..
Cerca2 di Cod. Regionale, Cerca3 di N_Protocollo e Cerca4 di Cod_Fiscale.
quindi quella sopra riportata e il codice SQL della Query...
che come dicevo riesco a far funzionare correttamente tutti i controlli solo
se inserisco
solo il Cognome.. oppure  riesco a far funzionare il Cognome+ Nome però non
mi funzionano + i controlli numerici....
spero che non ti abbia confuso di + le idee...
Ciao Antonio...


text:
SuperPippo® <
ik0...@libero.it
> wrote in message
eV8M6.28600$RX4.2...@news.infostrada.it...

Secondo me è sbagliato far scrivere nello stesso controllo il cognome e il
nome, però, se proprio lo desideri, prova a mettere nella query un campo
calcolato
[cognome] & " " & [nome]
e poi sotto, nella riga criterio, ci metti il like col riferimento al
controllo della maschera dove ci andrà cognome+nome.
Chiaramente così se l'utente ci mette solo il cognome non funziona più.
Da' retta a me, metti due controlli uno per il cognome uno per il nome,
quindi due campi nella query con due criteri del tipo
like nz([forms]![tuaform]![controllo1];"*")
Antonio


text:
"Antonio Biso" <
ch...@etruria.net
> ha scritto nel messaggio
news:ZWpM6.4786$pa3.6...@news.infostrada.it...
| SuperPippo® <
ik0...@libero.it
> wrote in message
| eV8M6.28600$RX4.2...@news.infostrada.it...
|
[CUT]
| Secondo me è sbagliato far scrivere nello stesso controllo il cognome e il
| nome, però, se proprio lo desideri, prova a mettere nella query un campo
| calcolato
| [cognome] & " " & [nome]
| e poi sotto, nella riga criterio, ci metti il like col riferimento al
| controllo della maschera dove ci andrà cognome+nome.
| Chiaramente così se l'utente ci mette solo il cognome non funziona più.
| Da' retta a me, metti due controlli uno per il cognome uno per il nome,
| quindi due campi nella query con due criteri del tipo
| like nz([forms]![tuaform]![controllo1];"*")
| | Antonio
| -----------------------------
Grazie...Antonio... beh x il momento mi trovo bene con la soluzione sotto
riportata
in quanto una ricerca dettagliata sull'utente mi conviene digitare nome e
cognome nella stessa casella...e funzionano anche gli altri controlli...
pulendo prima il controllo precedentemente utilizzato..........Ciao e
grazie....
WHERE (((Anagrafe.Cognome) & " " & [Anagrafe].[Nome]) Like
[Forms]![Anagrafe1]![Cerca1]) OR (((Anagrafe.Codice_regionale) Like



title: Aggiornamento veloce

author: ariailaria

text:
Ciao a tutti.
Dovrei aggiornare periodicamente una tabella
(Prezzo di T1) con dei campi presi da un'altra tabella
(PrezzoAttuale di T2).
Esempio:
T1:
CodArticolo
idFasciaPrezzo
Prezzo
T2:
idFasciaPrezzo
PrezzoAttuale
Finora l'ho fatto da codice (scorro T1, cerco idFasciaPrezzo in T2
e aggiorno il Prezzo attuale in T1) perň cosě č lento da morire.
Si puň fare piů velocemente con una query di aggiornamento ?
Grazie per l'aiuto.
Ilaria


title: Aggiornamento veloce

author: 'Roccia' Max

text:
On 14 Nov, 11:45, ariailaria <
ariaila...@libero.it
> wrote:
> Si può fare più velocemente con una query di aggiornamento ?
Certo, ma io farei di piu'.
Toglierei il prezzo da T1 e userei una query di selezione per
associare istantaneamente l'articolo al prezzo, cosi' non devi neanche
mai aggiornare nulla...
cia'
Max


title: File esterno

author: Mainframe Sconvolto

text:
Ho una routine che apre un file esterno excel e lo aggiorna con access vb .
Per il momento parcheggio il file excel sempre nelal stessa directory ed
utilizzo lo stesso nome file.
E' possibile utilizzarlo in modo indipendente slegato da nome e posizione
assolute?


title: File esterno

author: ALESSANDRO Baraldi

text:

Non solo è possibile.... ma di solito è la norma..., quindi se non spieghi
come hai
fatto tu, magari mostrando una righetta del tuo codice, a renderti
vincolato...
--
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.alessandrobaraldi.it
---------------------------------------------------------------------------


title: File esterno

text:
> Non solo è possibile.... ma di solito è la norma..., quindi se non spieghi
> come hai
> fatto tu, magari mostrando una righetta del tuo codice, a renderti
> vincolato...
>
  dim rst as adodob.recordset
  set rst = new adodob.recordset
  with rst
        .open "ANAGRAFE" .........
 Importo sempre la tabella con il nome anagrafe


title: File esterno

text:
"Mainframe Sconvolto" <main...@sconvolto.boh> ha scritto nel messaggio
news:tvj3j.186156$U01.1...@twister1.libero.it...

E questo che c'entra con quello che hai chiesto...?
Parli di File Esterno e posti 2 righe di una connessione ADO a cosa...?
"ANAGRAFE" è una stringa.... assegna una variabile stringa ed usa quella...
Dim strNomeTabella As String
strNomeTabella = "ANAGRAFE"
.Open strNomeTabella
Chiaramente l'assegnazione della Variabile stringa dovrà essere fatta con un
criterio.... che consenta di preedere
le possibili alternative.
Chiarisciti meglio in merito al SUBJECT che hai usato....



title: File esterno

text:
il problema non e' LA STRINGA ma come importare il file esterno
ceh tutte le volte faccio manualmente


title: File esterno

text:
"Mainframe Sconvolto" <main...@sconvolto.boh> ha scritto nel messaggio
news:cLj3j.186174$U01.1...@twister1.libero.it...
>
> il problema non e' LA STRINGA ma come importare il file esterno
> ceh tutte le volte faccio manualmente
Ti ho chiesto di cosa parli e posti del codice che non serve a capire che
devi fare...!!!
File ESTERNO di cosa... è un EXCEL è un TXT è un DBF è un MDB esterno è un
sacco di patate...
In tutti i casi l'Help, questo sconosciuto, propone:
Transfertext
TransfertSpreadSheet
TransfertDatabase
Prova a leggerti che dice....
Se non sei chiaro ad esporre il problema di certo chi ti legge evita di
rispondere.



title: File esterno

text:
>
> File ESTERNO di cosa... è un EXCEL è un TXT è un DBF è un MDB esterno è un
> sacco di patate...
Ho una routine che apre un file esterno excel e lo aggiorna con access vb .
Questo era l'inizio del mio post!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Se non sei in grado di leggere i post......
Comunque ho risolto da solo leggendo microsoft kb
Addio a sto posto di maleducati


title: File esterno

author: Alessandro Baraldi

text:
On 29 Nov, 06:52, "Mainframe Sconvolto" <mainfr...@sconvolto.boh>
wrote:

Ma vai a cagare... la KB di MS è la prima cosa in cui cercare e vieni
a rompere con una domanda idiota...
@Alex


title: File esterno

author: Roberto da Parma

text:
"Alessandro Baraldi" <
ik2...@libero.it
> ha scritto nel messaggio
news:fd0d8b9d-f986-4420...@e23g2000prf.googlegroups.com...


@Alex
GRANDE!!!!
Le solite teste calde...io poi mi domando che cavolo vengono a scrivere
qui...
Ti fai la domanda (sbagliata) ti rispondi dopo un pò (non avendo premura di
guardare almeno prima dietro la tua porta) e dai del "maleducati" a tutti!
Vai da Marzullo magari potrà aiutarti...
Come diceva Quelo... "la risposta è dentro di te, ma purtroppo è sbagliata!"
Ciauzzzzzzzz
--
Roberto da Parma


title: File esterno

author: VT @ Work

text:
On Thu, 29 Nov 2007 12:02:44 +0100, "Roberto da Parma"
<
aris...@libero.it
> wrote:
 (...)
>Le solite teste calde...io poi mi domando che cavolo vengono a scrivere
>qui...
>Ti fai la domanda (sbagliata) ti rispondi dopo un pò (non avendo premura di
>guardare almeno prima dietro la tua porta) e dai del "maleducati" a tutti!
>
>Vai da Marzullo magari potrà aiutarti...
>Come diceva Quelo... "la risposta è dentro di te, ma purtroppo è sbagliata!"
>
>Ciauzzzzzzzz
Adesso mica penserete che tutti quelli che lavorano su AS/400 sono
così, vero ?
Vincenzo Turturro
Certificato Eucip Core Level
ITA 0000-002299 del 14/05/2007
---------------------------------------------
il sito comune di it.comp.appl.access:
http://www.sitocomune.com

---------------------------------------------
risorse Access:
http://www.accessgroup.it

---------------------------------------------
Il sito comune di it.comp.as400
http://www.faq400.com

---------------------------------------------


title: File esterno

author: Sergio MAZZA

text:
"VT @ Work" <V...@Work.it> ha scritto nel messaggio
news:ul7tk3lveje2iaq48...@4ax.com...
>
> Adesso mica penserete che tutti quelli che lavorano su AS/400 sono
> cosě, vero ?
No; solo quelli col mainframe sconvolto...
> Vincenzo Turturro
>
> Certificato Eucip Core Level
> ITA 0000-002299 del 14/05/2007
> ---------------------------------------------
> il sito comune di it.comp.appl.access:
>
http://www.sitocomune.com
> ---------------------------------------------
> risorse Access:
>
http://www.accessgroup.it
> ---------------------------------------------
> Il sito comune di it.comp.as400
>
http://www.faq400.com
> ---------------------------------------------
Ciao.
--
Sergio MAZZA


title: File esterno

author: Marco Antonio Cantagalli

text:
>
> Per il momento parcheggio il file excel sempre nelal stessa directory ed
> utilizzo lo stesso nome file.
>
> E' possibile utilizzarlo in modo indipendente slegato da nome e posizione
> assolute?
>
   Perche' non utilizzi una filelist view per importare il file?
   Se importi una tabella sola perche' non fai una "scansione" di tutte le
tabelle che hai?


title: come gestire versioni del mio FE

author: pfmarro

text:
salve!

ho sviluppato un'applicazione in access.
poiche' e' installata su alcuni pc
vorrei gestire la versione in modo da controllare se su un pc e' stato aggiornato o no

potete darmi dei consigli?

Grazie

PFMarro


title: come gestire versioni del mio FE

author: Karl Donaubauer

text:
pfmarro wrote:
> ho sviluppato un'applicazione in access.
> poiche' e' installata su alcuni pc
> vorrei gestire la versione in modo da controllare se su un pc e'
> stato aggiornato o no
>
> potete darmi dei consigli?

"Controllare" come? A video? Automagically?

Personalmente scrivo la versione a mano sulla maschera
principale (controllo solo a video) o nel titolo dell'applicazione
(controllo anche dal esterno con DAO).

Forse t'interessano i tool per la distribuzione automatica alla fine di
http://www.donkarl.com/it?FAQ1.35

--
Ciao
Karl
*********
Access FAQ:
http://www.donkarl.com/it


title: come gestire versioni del mio FE

author: Riccardo Baldinotti

text:
Karl Donaubauer ha scritto:

> pfmarro wrote:
> > ho sviluppato un'applicazione in access.
> > poiche' e' installata su alcuni pc
> > vorrei gestire la versione in modo da controllare se su un pc e'
> > stato aggiornato o no
> >
> > potete darmi dei consigli?

> "Controllare" come? A video? Automagically?

> Personalmente scrivo la versione a mano sulla maschera
> principale (controllo solo a video) o nel titolo dell'applicazione
> (controllo anche dal esterno con DAO).

> Forse t'interessano i tool per la distribuzione automatica alla fine di
>
http://www.donkarl.com/it?FAQ1.35

Avevo anche io lo stesso problema e ho fatto cosě:
l'utente ha un'icona su schermo per l'avvio del programma. Perň viene
avviata un'altra applicazione che contiene due tabelle: la prima
"settings" č collegata al FE sul pc dell'utente, l'altra "settings1" č
collegata al FE in rete, che potrebbe essere stato aggiornato. In entrambe
le tabelle č scritta la data/ora di modifica.
All'avvio dell'applicazione č eseguito il seguente codice:
    DataQui = DLookup("[setting]", "settings", "key='giornoagg'")
    DataLa = DLookup("[setting]", "settings1", "key='giornoagg'")
    If DataQui < DataLa Then
        FileCopy [FILE IN RETE], [FILE IN LOCALE]
    End If
    Dim oWshShell As Object
    Set oWshShell = CreateObject("WScript.Shell")
    oWshShell.Run Chr$(34) & [FILE IN LOCALE]
    DoEvents
    Set oWshShell = Nothing
    DoEvents
    Application.Quit
cioč si confrontano le date e se in rete c'č una versione in data
successiva la si copia in locale al posto della precedente. In ogni caso
poi si avvia l'applicazione.

"Automagically"... :)

--
Riccardo Baldinotti
http://riccardobaldinotti.wordpress.com

http://rikky.netii.net

questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news
 segnala gli abusi ad
ab...@newsland.it


title: come gestire versioni del mio FE

author: Pablitomf

text:
Riccardo Baldinotti <
riccardo....@qualcosa.it
> ha scritto:

> Karl Donaubauer ha scritto:
>
> > pfmarro wrote:
> > > ho sviluppato un'applicazione in access.
> > > poiche' e' installata su alcuni pc
> > > vorrei gestire la versione in modo da controllare se su un pc e'
> > > stato aggiornato o no
> > >
> > > potete darmi dei consigli?
>
> > "Controllare" come? A video? Automagically?
>
> > Personalmente scrivo la versione a mano sulla maschera
> > principale (controllo solo a video) o nel titolo dell'applicazione
> > (controllo anche dal esterno con DAO).
>
> > Forse t'interessano i tool per la distribuzione automatica alla fine di
> >
http://www.donkarl.com/it?FAQ1.35

>
> Avevo anche io lo stesso problema e ho fatto così:
> l'utente ha un'icona su schermo per l'avvio del programma. Però viene
> avviata un'altra applicazione che contiene due tabelle: la prima
> "settings" è collegata al FE sul pc dell'utente, l'altra "settings1" è
> collegata al FE in rete, che potrebbe essere stato aggiornato. In entrambe
> le tabelle è scritta la data/ora di modifica.
> All'avvio dell'applicazione è eseguito il seguente codice:
>     DataQui = DLookup("[setting]", "settings", "key='giornoagg'")
>     DataLa = DLookup("[setting]", "settings1", "key='giornoagg'")
>     If DataQui < DataLa Then
>         FileCopy [FILE IN RETE], [FILE IN LOCALE]
>     End If
>     Dim oWshShell As Object
>     Set oWshShell = CreateObject("WScript.Shell")
>     oWshShell.Run Chr$(34) & [FILE IN LOCALE]
>     DoEvents
>     Set oWshShell = Nothing
>     DoEvents
>     Application.Quit
> cioè si confrontano le date e se in rete c'è una versione in data
> successiva la si copia in locale al posto della precedente. In ogni caso
> poi si avvia l'applicazione.
>
> "Automagically"... :)

Ma non e' bello un bel "nummariello" (numeretto) da mettere alle varie
relese cosi' da dire al sistema primario:

Caro sistema, vuol controllare se nella cartella x c'e' qualcosa che sia
maggiore di cio' che sto usando?
Se "si", scaricalo, sostituiscilo e fammelo usare... se "no", desisti.

????

io cosi' faccio.

--
------------
Pablitomf
Napoli sempre nel "Q"uore!
"mammasantissima" si nasce, non si diventa.

TheSpaceCowboy :
Britos deve recuperare per arrivare in forma al prossimo
infortunio - 24/10/12


title: come gestire versioni del mio FE

text:
Pablitomf ha scritto:

ehm... non è anche quello che faccio io? Il sistema che deve controllare,
ed eventualmente scaricare, è quella mia routine.

Anche se sono un pulentun, il concetto di 'nummariello' mi è chiaro ;)



title: come gestire versioni del mio FE

text:

> lication.Quit
> > > cioè si confrontano le date e se in rete c'è una versione in data
> > > successiva la si copia in locale al posto della precedente. In ogni caso
> > > poi si avvia l'applicazione.
> > >
> > > "Automagically"... :)
>
> > Ma non e' bello un bel "nummariello" (numeretto) da mettere alle varie
> > relese cosi' da dire al sistema primario:
>
> > Caro sistema, vuol controllare se nella cartella x c'e' qualcosa che sia
> > maggiore di cio' che sto usando?
> > Se "si", scaricalo, sostituiscilo e fammelo usare... se "no", desisti.
>
>
> > ????
>
> > io cosi' faccio.
>
> ehm... non è anche quello che faccio io? Il sistema che deve controllare,
> ed eventualmente scaricare, è quella mia routine.

si si, due applicazioni come me, ma lo fai piu' complesso... date, controdate,
tabelle setting (collegate una su locale, una su rete), eccc...

Ma non e' piu' facile, una roba tipo (io ovviamente faccio cosi') FTP da remoto
con routine temporizzata (nell'applicazione principale che lavorera'
sull'argomento in background) di file in locale se on-line c'e' una rel 002.exe
mentre tu hai una 001.exe ?

Se c'e' la downloadi in locale... poi l'applicativo la attiva, sostituindo in
locale in una cartella dedicata "AGGIORNAMENTI" la 001.exe (che verra'
cancellata), con la 002.exe (che diverra' il nuovo parametro di paragone
dell'FTP che cerchera' la 003.exe da questo momento in poi).

Io mi trovo benissimo... funziona da 12 anni :D

> Anche se sono un pulentun, il concetto di 'nummariello' mi è chiaro ;)

hai ragione, a volte dimentico che il nostro non e' un dialetto... e' una lingua
rigonosciuta come patrimonio dell'unesco :D

SIMME E NAPULE PAISA' ;)



title: come gestire versioni del mio FE

text:
Pablitomf ha scritto:

> si si, due applicazioni come me, ma lo fai piu' complesso... date,
controdate,
> tabelle setting (collegate una su locale, una su rete), eccc...

> Ma non e' piu' facile, una roba tipo (io ovviamente faccio cosi') FTP da
remoto
> con routine temporizzata (nell'applicazione principale che lavorera'
> sull'argomento in background) di file in locale se on-line c'e' una rel
002.exe
> mentre tu hai una 001.exe ?

> Se c'e' la downloadi in locale... poi l'applicativo la attiva, sostituindo in
> locale in una cartella dedicata "AGGIORNAMENTI" la 001.exe (che verra'
> cancellata), con la 002.exe (che diverra' il nuovo parametro di paragone
> dell'FTP che cerchera' la 003.exe da questo momento in poi).

> Io mi trovo benissimo... funziona da 12 anni :D

ehm, io qui sono tanto blindato che non posso scrivere nemmeno un .BAT,
figurati applicazioni.
Poi non ho idea di come fare un'applicazione per FTP.
Ma se, mentre l'applicazione sostituisce la versione, l'utente ci sta
lavorando?

> > Anche se sono un pulentun, il concetto di 'nummariello' mi è chiaro ;)

> hai ragione, a volte dimentico che il nostro non e' un dialetto... e' una
lingua
> rigonosciuta come patrimonio dell'unesco :D

> SIMME E NAPULE PAISA' ;)

:)



title: come gestire versioni del mio FE

text:
> ehm, io qui sono tanto blindato che non posso scrivere nemmeno un .BAT,
> figurati applicazioni.

ah, questo e' un altro paio di maniche :)

> Poi non ho idea di come fare un'applicazione per FTP.

basta chiedere ;) se ti serve, parla...

> Ma se, mentre l'applicazione sostituisce la versione, l'utente ci sta
> lavorando?

ovviamente non lo fai... perche' l'FTP temporizzato che scarica (se trova
versione piu' alta) e' eseguita dall'applicativo principale (quindi quello che
sara' vittima della sostituzione stessa)... ma a fine FTP, il sistema dara' un
messaggio all'utente del tipo "RIAVVIARE IL PROGRAMMA - AGGIORNAMENTO SCARICATO"
(o se vuoi essere "SPRUCIDO" lo "quitti" brutalmente - ma non si fa - )...
ovviamente il riavvio avverra' attraverso la prima applicazione, che fara' la
scompattazione e la sostituzione per poi lanciare l'applicativo principale
(ovvero quello appena scaricato).



title: come gestire versioni del mio FE

text:

Aggiornato in cosa... nelle Librerie...?

Ma non sarà ancora il problema del Verisning...?

@Alex


title: Maschera - casella combinata

author: Nazzareno Laganà

text:
Avendo in una maschera una casella combinata che pesca le "località" da una
tabella "CAP" che riporta anche i "cap" e le "provincie", come faccio,
prelevando la località nella casella combinata a far apparire in automatico,
sempre in maschera, nella casella "Cap" e "Provincia" i valori
corrispondenti alla località nella tabella "CAP"?
Grazie. Ciao!


title: Maschera - casella combinata

author: elio

text:
"Nazzareno Laganà"  ha scritto nel messaggio
> ...............
scusa, la tabella di cui parli ha i dati anche per quanto riguarda le zone
postali (cap in base alla via ed al numero civico)? Oppure sai dove trovare
una tabella di questo tipo?
Ciao e grazie
e.


title: Maschera - casella combinata

author: Roberto in campagna

text:
"Nazzareno Laganà" <
lag...@libero.it
> ha scritto nel messaggio
news:1KG17.8123$eB4.2...@news.infostrada.it...

Se la casella combinata si chiama località, ha la proprietà Numero colonne
impostata a 3, ha la proprietà Larghezza colonne impostata a 3cm;0cm;0cm ,
ha comeOrigine riga questo codice SQL:
SELECT DISTINCTROW [CAP].[località], [CAP].[cap], [CAP].[provincie] FROM
[CAP];
Se il controllo che deve contenere il CAP si chiama cap.
Se il controllo che deve contenere la provincia si chiama provincia.
A fronte dell'evento "Dopo aggiornamento" della casella combinata genera il
seguente codice VBA:
Me!cap = Me!località.Column(1)
Me!provincia = Me!località.Column(2)
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


title: Modifica contemporanea di record (come evitare il messaggio...)

author: Marco Dell'Oste

text:
Ciao NG
Mi ritrovo con una maschera che 'pesca' i propri record da una tabella,
nella stessa maschera è inserita una sottomaschera che piglia i propri
record dalla stessa tabella precedente ma con il dettaglio dell'ordine
stavolta.
Nella maschera principale o una check-box che se spuntata aziona una queri
di aggiornamento che assegna a tutti i record di un determinato ordine
appena filtrato la data odierna (serve per chiudere l'ordine e fissare la
data di chiusura dello stesso).
Mi succede questo:
finche 'checko' la casella e poi vado a cambiare record dal form principale
tutto funziona perfettamente,
quando DE-Checko tale casella (magari perche ceckata erroneamente mi esce il
seguente popup che dice:
Titolo:
Modifica contemporanea di record
Testo del messaggio:
Durante la corrente sessione di modifica il record è stato modificato da un
altro utente. Salvando le proprie modifiche si sovrascriveranno i
cambiamenti dell'altro utente.
Copiando le proprie modifiche negli appunti sarà possibile esaminare i
valori immessi dall'altro utente e decidere se conservarli o eliminarli. Se
si decide di eliminarli, incollare nel record le proprie modifiche.
Tre tasti:
Salva il record            Copia negli Appunti            Non salvare le
modifiche
Io faccio salva il record e tutto funziona bene.. ma è una palla tutte le
volte!!!
Perche succede ciò??  come lo evito??
AGrazie a tutti
Marco


title: ANTIPATICI!!!!!!!!!!!!!!!!

text:
Posto per la terza volta questa mia richiesta....
possibile che non vogliate o non sappiate rispondere!?!?!
Questo è il mio problema:
Devo controllare in ogni momento quante e quali maschere di un db sono
aperte... questo mi serve perché dopo un certo tempo (X minuti) di
inattività dovrei farle chiudere tutte e visualizzare una maschera di
log-in.
Non so se mi sono spiegato, mi servirebbe qualcosa di simile al tempo di
attesa per far partire uno screen-saver, ma lo funzione su timer è solo
sulla scheda singola, non sul file db e poi non so come intercettare tutti
gli eventi di "attività" (click del mouse, pressione tasti ecc...)
P.S. sto lavorando in Access 97
GRAZIE MILLE A CHI MI DA' QUALCHE DRITTA!!!!


title: ANTIPATICI!!!!!!!!!!!!!!!!

author: Carlo Costarella

text:
"doppiazeta19" <
doppia...@hotmail.com
> ha scritto nel messaggio
news:nhOX7.8792$s04.3...@news.infostrada.it...

Non è che non ti vogliamo rispondere, è che la risposta è complessa e ci
costringe a programmare per te per un'oretta.
Posso darti qualche suggerimento.
Creati una tabella con: NomeMaschera, ApertaSìNo, TimerApertura,
TempoDiApertura.
All'apertura di una maschera scrivi nella tabella i dati mettendo in
TimerApertura il valore time.
Una funzione imposta l'intervallo timer della maschera aperta ai valori di
TempoApertura. Su questa maschera "Su Timer" imposterai il codice di
controllo: if me.dirty then...else ...
Ripeti la procedura per le altre maschere.
Potresti inoltre realizzare tutto direttamente nella maschera e senza la
tabella.
Ovviamente è solo un esempio e va sviluppato.
Spero di esserti stato d'aiuto,
Ciao, Carlo