Una famiglia di sistemi di gestione per database relazionali di Microsoft progettati per semplificare l'uso.
Private Sub Form_Close()
Dim lngStore As Long
lngStore = Form_Maschera1.ID
'riduce lo sfarfallio dello schermo
Form_Maschera1.Painting = False
Form_Maschera1.Requery
Me.Recordset.FindFirst "ID= " & lngStore
Form_Maschera1.Painting = True
End Sub
Tu dall'esempio di Karl hai correttamente sostituito tutti i Me. con Form_Maschera1
perché solo nel caso del RecordSet hai lasciato
...... Me.Recordset.FindFirst "ID= " & lngStore ????????
tu devi cercare nel recordSet di Maschera1 non di MasZoom
poi l'errore 94 te lo da quando vai al Nuovo record perché
in quel momento non hai ancora il numeri di Id
potresti risolvere con una if che se il valore di Id è Null
allora va semplicemente all'ultimo record
' --- [code] ------------------------------------------------
Private Sub Form_Close()
Dim lngStore As Variant
' ho messo Variant perche nel caso di nuovo record ID è ancora Null
lngStore = Form_Maschera1.ID
'riduce lo sfarfallio dello schermo
Form_Maschera1.Painting = False
Form_Maschera1.Requery
If Nz(lngStore, "") = "" Then ' verifico se lngStore è Null
'se è null vado all'ultimo record e finisce li
DoCmd.GoToRecord , "", acLast
Else
' se non è null allora cerco nel RecordSet
' tu qui avevi Me.Recordset.FindFirst "ID= " & lngStore
Form_Maschera1.Recordset.FindFirst "ID= " & lngStore
End If
Form_Maschera1.Painting = True
End Sub
'----- [/code] ---------------------------------------
3 domande .........
ma hai notato cosa succede quando dopo avere modificato un valore in
MasZoom premi il pulsante di avanzamento di Maschera1
invece che il pulsante di chiusura di MasZoom ????
Perché vuoi fare il requery, io lo ho testato senza nessun requery e mi
aggiorna tranquillamente la visualizzazione di Maschera1 ?????
Ma forse ci hai postato un estratto
hai provato con il Recalc ??? che di suo non manda al 1° record ??
Private Sub Form_Close()
Form_Maschera1.Recalc
End Sub