Newsgroup: it.comp.appl.access
Titolo: Maschera con pulsante Cerca...

ciao a tutti... ho una maschera con dati anagrafici...con origine
una Tabella Anagrafe ed avrei
la necessità di creare una casella di testo, un bottone
o altro di ricerca del  cognome e nome di un utente
nella maschera stessa ... da considerare
che la tabella Anagrafe è in relazione 1>molti con un'altra
tabella... quindi  la maschera è strutturata con una
sottomaschera...
come mi consigliate di fare ???
grazie...

"SuperPippo®" <ik0qd...@SPAMlibero.it> ha scritto nel messaggio
news:SL1P9.55596$Ou4.1...@twister2.libero.it...

Se la casella di testo non associata dove digiti il cognome e nome da
cercare si chiama Pippo.
Se il campo della Tabella Anagrafe che contiene il cognome si chiama Cognome
e il campo che invece contiene il nome si chiama Nome.
A fronte dell'evento "Su clic" del pulsante di comando genera il seguente
codice VBA:
Me.Filter = "('Cognome' & ' ' & 'Nome')=" & _
Chr$(34) & Me!Pippo & Chr$(34)
Me.FilterOn = True
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 Roberto
-----------------
ciao Roberto... ho provato in svariate maniere... ma mi da sempre errore...
di compilazione , errore di sintassi...
allora...vediamo se ho capito...
in effetti nella Tabella Anagrafe il campo Cognome e Nome sono esatti....
in maschera ho creato una casella di testo non associata e l'ho chiamata
Pippo dove dovrei digitare il cognome e nome...
poi come tu dici mi sono creato anche un pulsante di comando e
in Proprietà > su evento Click ho inserito il tuo codice
ma non funzia...dove sbaglio ???
Ciao...

"SuperPippo®" <ik0qd...@SPAMlibero.it> ha scritto nel messaggio
news:o3IP9.61569$Ou4.1...@twister2.libero.it...

Hai ragione, ci ho messo qualche apice di troppo. :o)
Prova con:
Me.Filter = "(Cognome & ' ' & Nome)=" & _
Chr$(34) & Me!Pippo & Chr$(34)
Me.FilterOn = True
--
Roberto
---------------------------------------------


 Me.FilterOn = True
--------------
ok... funzia....anche se poco pratico... dato che devo prima inserire
con la tastiera i dati e poi clikkare con il mouse sul pulsante
Aggiorna...cmq mi accontento... ma... vorrei chiederti
siccome devo applicare questa ricerca in 4 caselle di testo
non associate...è possibile utilizzare solo un pulsante di comando ???
mi spiego meglio....
sempre da Tabella Anagrafe ho altri campi in cui effettuare una ricerca
in mancanza del Cognome e Nome
e sono... Data_Nascita, Codice Regionale, oppure N_Protocollo...
potrei fare...
Me.Filter = "(Cognome & ' ' & Nome)=" & _
Chr$(34) & Me!Pippo & Chr$(34)
Me.FilterOn = True
Me.Filter = "(Data_Nascita)=" & _
Chr$(34) & Me!Pippo2 & Chr$(34)
Me.FilterOn = True
Me.Filter = "(Codice Regionale & ' ' & Nome)=" & _
Chr$(34) & Me!Pippo3 & Chr$(34)
Me.FilterOn = True
Me.Filter = "(N_Protocollo & ' ' & Nome)=" & _
Chr$(34) & Me!Pippo4 & Chr$(34)
Me.FilterOn = True
funzionerebbe ??
ciao Roberto... gli auguri di Buon Anno a domani....




 Dovresti quindi dirci ogni campo che tipo é.
--------------------
in effett8i hai ragione... come sempre... nella mia completa ignoranza..
ci ho provato tutto il pomeriggio... mi filtrava solo il codice regionale
ma solo alcune volte poi mi usciva errore di runtime 2001...
cmq.. i campi soni :
Cognome e Nome campi separati = Testo
Codice regionale = Testo
N_Protocollo = testo
Nascita = Data_Ora
ciao Roberto...

 ciao Roberto...
Nella maschera inserisci 5 caselle di testo non associate:
1) Pippo1 nella quale digiterai il cognome cercato
2) Pippo2 nella quale digiterai il nome cercato
3) Pippo3 nella quale digiterai il codice regionale cercato
4) Pippo4 nella quale digiterai il numero di protocollo cercato
5) Pippo5 nella quale digiterai la data di nascita cercata
Digiterai qualcosa solamente nelle caselle di testo che debbono diventare
parametri di filtro, le altre resteranno con il valore Null.
A fronte dell'evento "Su clic" del pulsante di comando prova a generare il
seguente codice VBA:
Dim Criteria As String
Criteria = ""
If Not IsNul(Me!Pippo1) Then
    Criteria = "Cognome=" & Chr$(34) & _
    Me!Pippo1 & Chr$(34)
End If
If Not IsNul(Me!Pippo2) Then
    If Criteria <> "" Then
        Criteria = Criteria & " AND "
    End If
    Criteria = Criteria & "Nome=" & Chr$(34) & _
    Me!Pippo2 & Chr$(34)
End If
If Not IsNul(Me!Pippo3) Then
    If Criteria <> "" Then
        Criteria = Criteria & " AND "
    End If
    Criteria = Criteria & "[Codice regionale]=" & _
    Chr$(34) & Me!Pippo3 & Chr$(34)
End If
If Not IsNul(Me!Pippo4) Then
    If Criteria <> "" Then
        Criteria = Criteria & " AND "
    End If
    Criteria = Criteria & "[N_Protocollo]=" & _
    Chr$(34) & Me!Pippo4 & Chr$(34)
End If
If Not IsNul(Me!Pippo5) Then
    If Criteria <> "" Then
        Criteria = Criteria & " AND "
    End If
    Criteria = Criteria & "Nascita= #" & _
    Format( Me!Pippo5, "mm/dd/yyyy") & "#"
End If
Me.Filter = Criteria
Me.FilterOn
Dovrebbe funzionare: facci sapere.


 Roberto
---------------------
provato subito e non funzia... mi dice errore di compilazione
Sub o Function non definita.....
Ps- ho provato a digitare solo il Cognome ... dovrebbe uscire
anche lasciando gli altri campi vuoti... giusto ???
chiaramente ho provato anche con tutte le caselle ma l'errore
che da è sempre lo stesso....
ciao

"SuperPippo®" <ik0qd...@SPAMlibero.it> ha scritto nel messaggio
news:w21Q9.64797$Ou4.2...@twister2.libero.it...

Come al solito Access ha sempre ragione: prova a scrivere IsNull dove io ho
invece scritto solamente IsNul.
Una elle mi è rimasta nella tastiera.


 Roberto
----------------
certo... a sbagliare normalmente sono sempre gli umani....
cmq.. corretto e non funzia... l'errore che esce questa volta dice...
"Errore di compilazione - Utilizzo non valido di property"
e mi riporta al codice con evidenziazione di FilterOn...
ciao........................................................................
..............


ciao........................................................................
Beh, non mi era mai capitato di scrivere tanti errori in 4 righe di codice!
:o)
Sostituisci:
Me.FilterOn
con:
Me.FilterOn = True
Comunque in due anni con VBA non sei migliorato proprio per niente!
Di studiarlo un po' proprio non se ne parla?
Buon anno


 Roberto
--------------------
caro Roberto...non puoi negare, però, che in 2 anni che frequento...,
non assiduamente NG di Access, quacosa ho imparato... mi sò
muovere un pò meglio in Access e quando chiedo in NG penso
di sapermi esprimere meglio di un (vino) novello...a proposito..
hai fatto il vino quest'anno ???
purtroppo devo dire che in testa proprio non mi entra il VBA...
ed è anche vero che non mi impegno molto dato che ho
altri interessi...e cmq sono un tipo che si accontenta...
la mia scrivania è piena di foglietti di appunti e note... mi dimentico
molto facilmenmte le cose... bah....
riguardo il codice ... ok funziona tutto... anche se a qusto punto vorrei
fare
delle rifiniture...se possibile...quindi ti faccio delle domande...
nella casella N_Protocollo è possibile utilizzare caratteri Jolly...
esempio... invece di digitare 3345/2002/F2355... digitare*/*/F2355 ????
dato che in query mi funziona e mi trovo bene così....
nella casella Nascita è possibile utilizzare il campo formattato __/__/__
???
infine, consiglio..per praticità... meglio usare il pulsante di comando..
oppure scrivendo nella casella interessata e dopo Invio si aggiornano
i campi della maschera ???
Ciao...............

 Ciao...............
Ciao e Buon Anno
