Newsgroup: it.comp.appl.access
Titolo: FindFirst

Salve!
volevo sapere se la funzione RecordsetClone.FindFirst effettua la ricerca
solo su campi numerici o alfanumerici.
Non riesco a capire l'errore:
Ho un campo Cognome e un altro Nome
voglio effettuare la ricerca di un omonimo sul cognome, ad esempio.
Mi dà l'errore che non riesce a comprendere il risultato del cognome ????
Cosa c'è che non va? La funzione la posso utilizzare solo su controlli di un
campo numerico?
Grazie!

 Grazie!
No, sarebbe assurdo quello che dici, la ricerca viene effettuata
per tutti i tipi di DATI, forse sbagli i riferimenti...!!!
Posta il CODICE, eventualmente....!
Alessandro./[@Alessandro]/
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 wrote in message
ce_28.23315$ly.7...@twister1.libero.it...

No, però la differenza è che, quando fai un controllo con un dato non
numerico devi circondarlo da apici. Quindi, se il valore da confrontare ce
l'hai per esempio, nella variabile cognome, sarà
rst.findfirst "COGNOME='" & cognome & "'"
Antonio

 dove me.cog è il nome del controllo del campo [cognome]
Grazie!

 End Sub
Come diceva ANTONIO, la sintassi giusta per campi testo è differente.
Correggi la 2° riga con:
   nominativo = "[cognome]= '" & Me.cog & "'"
Alessandro./[@Alex]/


 ha scritto nel messaggio
news:28b0e925cca08cf013...@mygate.mailgate.org...

Grazie Alessnadro, tutto a posto ma....
dovendo agire su più campi, ad esempio cognome e nome?
E' giusta la seguenti sintassi?:
Private Sub nome_AfterUpdate()
Dim nominativo As String
nominativo = "[cognome]= '" & Me.cog & "'" And "[nome]='" & Me.nom & "'"
Me.RecordsetClone.FindFirst nominativo
If Me.RecordsetClone.NoMatch Then
GoTo fine
Else
MsgBox "Nominativo già esistente"
SendKeys "{esc}"
DoCmd.CancelEvent
DoCmd.GoToControl "cog"
fine:
End If
End Sub
Non mi trova nulla. Forse non va la "AND" ?
Grazie!

 MsgBox "Nominativo giā esistente"
No hai sbagliato, devi costruire una STRINGA:
 nominativo = "[cognome]= '" & Me.cog & "' And [nome]='" & Me.nom & "'"
OK.


 Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Ti ringrazio per la squisita celerità ma, purtroppo non mi funziona.
Ti ripeto il codice:
Private Sub nome_AfterUpdate()
Dim nominativo As String
nominativo = "[cognome]= '" & Me.cog & "' And [nome]='" & Me.nom & "'"
Me.RecordsetClone.FindFirst nominativo
If Me.RecordsetClone.NoMatch Then
GoTo fine
Else
MsgBox "Nominativo già esistente"
SendKeys "{esc}"
DoCmd.CancelEvent
DoCmd.GoToControl "cog"
fine:
End If
End Sub
non mi dà nulla ma nemmeno qualche errore. Invece, se inserisco "[nome]
anzichè [nome] senza gli apici iniziali mi dà l'errore "Previsto fine
istruzione" evidenziandomi [nome]???
Grazie e resto in attesa.

 Grazie e resto in attesa.
La sintassi è giusta, assolutamente.
Io controllerei meglio i dati e la corrispondenza con la digitazione...!


 ha scritto nel messaggio
news:9643344cd8291f54f0...@mygate.mailgate.org...

Molto strano..............
ho cambiato i nomi ai controlli, cioè, da cog a cognome e da nom a nome e
funziona una meraviglia! Grazie! ma non si doveva evitare di mettere lo
stesso nome al controllo associato ad un campo???? Boh?
Ciao.



prova con
nominativo = "[cognome]= '" & Me.![cognome] & "' And [nome]='" &
Me![nome] & "'"
Saluti.
Emanuele.

 Ciao.
No, io non direi, anzi molto spesso torna COMODO e ti evita
possibili errori di omonimie...!
Bene.
