Newsgroup: it.comp.appl.access
Titolo: codice per ricerca su maschera

prendendo spunto da un esempio sui bookmark preso dalla guida in linea di
access XP ho adattato il seguente codice al mnio db (su click di un
pulsante):
Dim rst As Recordset
Dim strcriteria As String
strcriteria = InputBox("Codice da cercare intero o in parte." & Chr(13) &
"Lasciare vuoto per tutti gli articoli." & Chr(13) & "Premere OK per
confermare.", "Cerca codice")
Set rst = Me.RecordsetClone
rst.findfirst strcriteria
If rst.nomatch Then
MsgBox "Nessun articolo trovato.", vbInformation
Else
Me.Bookmark = rst.Bookmark
End If
Set rst = Nothing
mi viene restituito un errore sulla riga "rst.findfirst strcriteria", dove
sbaglio?
se volessi che la variabile strcriteria fosse una stringa all'interno di un
codice è lecito modificare il comando nel seguente modo?
rst.findfirst "*"& strcriteria & "*"
In attesa di una risposta vi ringrazio in anticipo per l'interessamento
Nicola

 ha scritto nel messaggio
news:jGB7c.104248$O31.4...@news4.tin.it...

Cosa scrivi nell'inputbox? Se vuoi dare la possibilità di non scrivere nulla
per elencare tutti i record allora devi verificare se strcriteria è vuoto,
non ti conviene passare comunque il filtro;
es.
Dim strcriteria As String
strcriteria = InputBox("Codice da cercare intero o in parte." & Chr(13) &
"Lasciare vuoto per tutti gli articoli." & Chr(13) & "Premere OK per
confermare.", "Cerca codice")
If Not IsNull(strcriteria) And Trim(strcriteria) <> "" Then
    Dim rst As Recordset
    Set rst = Me.RecordsetClone
    rst.FindFirst strcriteria
    If rst.NoMatch Then
    MsgBox "Nessun articolo trovato.", vbInformation
    Else
    Me.Bookmark = rst.Bookmark
    End If
    Set rst = Nothing
End If
Nell'inputbox devi scrivere una condizione where; es. cognome='MAZZA'.
Nell'help è spiegato bene...
Ciao.
-- 
Sergio MAZZA

 ha scritto nel messaggio
news:jGB7c.104248$O31.4...@news4.tin.it...

Il metodo FindFirst richiede la stringa composta da:
NomeCampo + Operatore + Valore(Formattato in base al Type)
Modifica questa stringa in questo modo:
strcriteria = InputBox("Codice da cercare intero o in parte." & Chr(13) &
                                 "Lasciare vuoto per tutti gli articoli." &
Chr(13) & _
                                 "Premere OK per confermare.", "Cerca
codice")
strcriteria="[NomeCampo] = " chr(34) & "*" &  strCriteria & "*" & chr(34)
'Se TESTO
Ciao.
@Alex.

 ha scritto nel messaggio
news:c3n98m$v22$1...@lacerta.tiscalinet.it...

grazie per le risposte
volevo però anche capire il motivo per cui mi dà l'errore sulla riga
"rst.findfirst strcriteria", ho preso la procedura pari pari dall'help e mi
sembra strano che si comporti in modo anomalo...
Grazie ancora
Nicola

 Nicola
Nicola..... nelle prime righe del mio POST ti ho chiaramente
spiegato come passare la stringa al metodo in questione,
che è pari pari quello che riporta l'HELP......!
Per quanto riguarda l'ESEMPIO dell'HELP così come
l'hai POSTATO non è sicuramente di provenienza HELP
probabilmente nel pulirlo da commenti o altro hai
tagliato una parte importante.
Ho verificato personalmente l'HELP di Access97/2K e XP
ma dell'esempio come l'hai postato tu non c'è traccia, ci sono
parti simili, ma complete..... e corrette.
Eventualmemte POSTA la Routine Completa oppure dai
i RIFERIMENTI dell'HELP per verificare la cosa.
Ciao.
@Alex.

sembra strano che si comporti in modo anomalo...
findfirst è del DAO...se hai ADO nei riferimenti ti caccia un errore
Ciao :)

 ha scritto nel messaggio
news:ggt660pe9vee5arst...@4ax.com...

Vero, ma dice di aver usato FindFirst, se leggi i POST il suo errore
è nella Composizione della stringa, non nella gestione dei Riferimenti.
@Alex.

 ha scritto nel messaggio
news:c3vt9b$rvq$1...@lacerta.tiscalinet.it...

mi da l'errore su findfirst, se non ricordo male è "IMPOSSIBILE TROVARE IL
MEMBRO DEI DATI O L'OPERATORE", continua ad uscire nonostante abbia fatto le
modifiche che mi hai suggerito....
Nicola

 ha scritto nel messaggio
news:v5W8c.104362$z23.4...@news3.tin.it...

Allora come ha detto yQy può essere che non hai settato i Riferimenti a DAO.
Dalla finestra del codice---MENU'---STRUMENTI----RIFERIMENTI
deseleziona ADO e cerca DAO.
Poi eventualmente ti serva riseleziona ADO.
@Alex.