Newsgroup: it.comp.appl.access
Titolo: stesso record dopo requery

ciao a tutti
 
ho provato ad utilizzare quello di Karl
 
Dim lngStore As Long
 
lngStore = Me!MioRif
Me.Requery
Me.Recordset.FindFirst "MioRif = " & lngStore
 
ma non mi considera lo zero 
come un numero.
 
come posso fare?
grazie.

Salve,
 
Francodellavalle28 ha scritto:

...essere più preciso su cosa succede.
Cosa fai, comportamente del programma, numero di errore, in quale riga ecc.
 
-- 
Ciao
Karl
*********
Access FAQ:  
http://www.donkarl.com/it
 


ciao Karl
non da errore
si comporta come un requery normale
si porta sul primo record
 

 si porta sul primo record
 
Non capisco cosa vuol dire con
"non mi considera lo zero
  come un numero."
 
Cosa ti fa pensare che sarebbe così se non ricevi un errore in rispetto 
al tipo di dati?



era solo un'idea,
in un primo momento ho pensato
fosse un problema di errata dichiarazione 
della variabile.
 
 
 
 


 
Ovviamente sei arcisicuro che sulla tabella ci siano zeri  e non dei null?!
 
-- 
ac (x=y-1)
Aborro il Killfile
(La violenza e' l'ultimo rifugio degli incapaci -Salvor Hardin-)
 
---
Questa e-mail è stata controllata per individuare virus con Avast antivirus.
https://www.avast.com/antivirus
 
 

 si porta sul primo record
 
ho la sensazione che quel campo chiamato "MioRif"
ammetta duplicati e in particolare che il primo record
abbia valore zero.
 
ricorda che stai usando  "FindFrist" che significa
appunto "Trova il Primo" 
 
quindi le domande sono:
Il campo è numerico ??
Il campo ammette duplicati ??
che valore hai sul primo campo ??
quale valore ricerchi quando lamenti il problema ??
 
 
facci sapere
 
 
 

> che valore hai sul primo campo ??
Ho già fatto il primo errore dell'anno  :(((
 
la domanda corretta è:
 
che valore hai sul primo record ?? ( Chiaramente al campo "MioRif" )
 
 
Auguro un Buon Anno a tutti
 


grazie Alessandro e Mancini
 
è come dice Alessandro
 
cmq il campo è numerico
e accetta duplicati
 
ma il valore zero è quello predefinito,
in pratica io vedo zero ma il campo in
realtà è null

 realtà è null
 
Mhhh!!
ho dei dubbi .......
 


ho poi risolto con questo codice
' --- [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] ---------------------------------------

 grazie Alessandro e Mancini
 
Uhmmmm.....dietro la lavagna in ginocchio sui ceci!
Chi ti sei dimenticato?



hai ragione;-)
scusami Karl
grazie Karl

 End Sub
 
A cosa serve il riferimento alla classe se la maschera è aperta?
Basta anche:
 
Dim lngStore As Long
 
lngStore = nz(Forms!Maschera1!ID)
 
Forms!Maschera1.Painting = False
 
Forms!Maschera1.Requery
 
     If lngStore = 0 Then
	DoCmd.GoToRecord acForm, "Maschera1", acLast
     Else
         Forms!Maschera1.Recordset.FindFirst "ID= " & lngStore
     End If
 
Forms!Maschera1.Painting = True
 
BTW "Maschera1" non è molto parlante ovvero solo se si tratta sempre 
della maschera aperta prima della "Maschera2" e nessuno sa quale dati 
contengono. ;-)



Ok
grazie Karl