Newsgroup: it.comp.appl.access
Titolo: Scorrere record selezionato. Masch continua

Scorrere record se selezionato. Masch continua
n.b. Maschera di tipo continuo
Con il codice riportato sotto:
riesco a posizionarmi, in base al carattere digitato in una casella di
testo, sul record con iniziali
campo cognome = ai caratteri digitati in una casella di testo259.
Se in un’unica videata della maschera ho 10 record (sono tutti in ordine
alfabetico)
i primi 6 iniziano con A e dal 7° in poi iniziano con B,
quando digito la lettera B il selettore di record si sposta su tale 7°
record che però non scorre
verso l’alto riportandosi in prima posizione nella videata.
Non succede invece per la altre lettere che sono fuori videata
se le seleziono me le fa vedere sempre per prima a video.
Inoltre, nella casella di testo, se digito A e di seguito B, non scrive
AB, ma prima A e poi B;
quindi, per scrivere AB, devo riposizionare, ogni volta, il cursore I di
inserimento testo (con il mouse) alla destra
del carattere appena digitato.
Come può essere risolto il problema?
Oppure vi è una soluzione alternativa?
Codice:
Private Sub Testo295_Change()
               Dim CaratteriDigitati As String
               CaratteriDigitati = Nz(Me!Testo295.Text, "")
               Me.RecordsetClone.FindFirst "cognome LIKE '" &
CaratteriDigitati & "*'"
               Me.Bookmark = Me.RecordsetClone.Bookmark
End Sub

 ha scritto nel messaggio
news:3A06AE68...@usa.net...

Prova con la seguente Funzione:
il controllo non legato [txtRicerca] è la casella dove inserire i caratteri
della ricerca.
Function Ricerca()
Dim strFind As String
strFind = "[NomeControllo] like  '" & Forms![frmRicerca]![txtRicerca].Value
& "*'"
            If Not IsNull(Forms![frmRicerca]![txtRicerca]) Then
                Me.RecordsetClone.FindFirst strFind
                Me.Bookmark = Me.RecordsetClone.Bookmark
            End If
End Function
giuseppe

 End Function
Scusa siccome non è specificato come va usata la funzione ho inserito il codice
direttamente dentro all'evento testo change
così:
 Private Sub Testo295_Change()
Dim strFind As String
strFind = "[cognome] like  '" & Forms![frmRicerca]![testo295].Value & "*'"
            If Not IsNull(Forms![frmRicerca]![test295]) Then
                Me.RecordsetClone.FindFirst strFind
                Me.Bookmark = Me.RecordsetClone.Bookmark
            End If
End sub
solo che non succede nulla
dove erro (io) o dove erra (access)?
ipotizzo che erro io visto che hai parlato di una funzione, solo che non
sapendo come usarla
ho provato a copiare il codice;
ciao and thank you

 ha scritto nel messaggio
news:3A07FFEF...@usa.net...

la funzione l'ho testata inserendo nell'evento Su clic di un Pulsante : Call
Ricerca
Dopo digitato nella casella la o le lettere e dopo clic sul pulsante , il
Selettore del record cercato visualizza la selezione
Ho rifatto il test , presumo che la casella di testo dove inserire i
caratteri della ricerca posizioni nell' Intestazione maschera .
La funzione è rimasta la stessa ma ho aggiunto:
Private Sub Comando17_Click()
Call Ricerca
Me.txtRicerca.SetFocus
Me.txtRicerca.SelStart = 10 'Presumo che i caratteri da cercare sono
inferiori a 10
End Sub
    giuseppe