Newsgroup: it.comp.appl.access
Titolo: il cursore mi si sposta ogni volta sul primo record

ciao a tutti
ho problema con questo codice, in quanto il cursore
mi si sposta sempre sul primo record.
Grazie per l'aiuto
Private Sub DESCRIZIONE_Change()
On Error GoTo myError
Dim lngStore As Long
lngStore = Me!IDTESTATAFATTURA
'riduce lo sfarfallio dello schermo
Me.Painting = False
Me.Requery
Me.RecordsetClone.FindFirst "IDTESTATAFATTURA = " & lngStore
Me.Bookmark = Me.RecordsetClone.Bookmark
myExit:
Me.Painting = True
Exit Sub
myError:
Select Case Err.Number
  Case 3159
    'Bookmark non valido
    Resume myExit
  Case Else
    MsgBox "Exception Nr. " & Err.Number & " " & Err.Description
    Resume myExit
End Select
End Sub


E' giusto che faccia in quel modo,in quanto il "Requery" fa un
aggiornamento e riparte dal primo record.Ad ogni modo sul sito di Karl
c'e' la spiegazione come fare il "Requery" rimanendo nel record voluto
Dino

 Dino
Non hai guardato il codice che ha postato dando una risposta un pò
frettolosa.
@Alex

 wrote:

Giuro che non capisco il motivo per il quale su EVENTO CHANGE del
controllo DESCRIZIONE tu debba eseguire un REQUERY....!
In tutti i modi verifica cosa contiene
        lngStore = Me!IDTESTATAFATTURA
e se il dato è coerente... perchè tendenzialmente non dovrebbe fare
quello che dici a meno che il dato IDTESTATAFATTURA non sia un Long o
che lngStore non sia correttamente memorizzato...
a quel punto però siccome nella tua gestione errori skippi l'errore
3159 non ti accorgeresti di nulla... come credo sia...!
Invece di scrivere
Select Case Err.Number
   Case 3159
     'Bookmark non valido
     MsgBox "Bookmark non valido"
     Resume myExit
...
Ciao
@Alex


ciao Alex e Grazie
ho provato come mi hai detto ma non ho nessun errore
ma quando inserisco una descrizione dalla combo della sottomaschera
il cursore si sposta al primo record del recordset della sottomaschera

 il cursore si sposta al primo record del recordset della sottomaschera
Si ma non hai risposto sul perchè devi fare un Requery....?
@Alex


In effetti no  ho guardato il codice e come dici tu la risp. e'
frettolosa ma corretta a mio parere sul discorso "Requery" o
sbaglio???
Dino

 Dino
La risposta è corretta quando evade la domanda.
E' corretto il fatto che il Requery riporti al primo record, ma è pur
vero che lui nel codice ha già valutato questo aspetto
in quanto ha implementato quanto serve per tornare al Record
precedente al Requery, che è poi quello suggerito anche nel sito di
Karl.
Questo il motivo per il quale ho detto che la risposta non è corretta,
perchè sostanzialmente inutile.
@Alex


Ciao Alex
nella mschera ho una seconda sottomaschera
che se per errore immetto dei valori (tipo quantita e prezzo)
nella descrizione dove ho dei DDT mi mostra immediatamente
tramite la requery di cui chiedi spiegazione, l'errore.
Veramente ora con il seguente codice che ho inserito (in prezzo e
quantita) potrei anche farne a meno.
p.e.:Private Sub PREZZO_AfterUpdate()
On Error GoTo Err_PREZZO_AfterUpdate
If Me!DESCRIZIONE.Column(2) = "DDT" Then
    Me.NCOLLI = 0
    Me.QUANTITA = 0
    Me.PREZZO = 0
    'Forms("MFattura").Perc_Sconto = 0
    MsgBox "ATTENZIONE, con DDT nella Descrizione n.colli, quantità e
prezzo sono = a 0"
End If
Exit_PREZZO_AfterUpdate:
    Exit Sub
Err_PREZZO_AfterUpdate:
    MsgBox Err.Description
    Resume Exit_PREZZO_AfterUpdate
End Sub

 wrote:

In effetti e' così,la mia affermazione e' sicuramente corretta ma
diciamo "ininfluente" per la risoluzione del post.Leggendo bene il
tutto infatti,quello che chiede Ryc e' un'altra cosa.
Dino