Newsgroup: it.comp.appl.access
Titolo: utilizzo di Object e dao.Recordset

ciao a tutti
 
quando si utilizzata
 
Dim rsCheck As Object
piuttosto che
Dim rsCheck As dao.Recordset
 
e in questo caso cos'e' meglio utilizzare?
 
    ' Trova il record corrispondente al controllo
    Dim rsCheck As Object
 
    Set rsCheck = Me.Parent!SM_ImpostazioniGeneriche.Form.RecordsetClone
    rsCheck.FindFirst "IdProdotto =" & Me!IDProdotto
 
    If rsCheck.NoMatch Then
        MsgBox "Articolo " & Me!DescrizioneProdotto & " non trovato"
    Else
        Me.Parent!SM_ImpostazioniGeneriche.Form.Bookmark = rsCheck.Bookmark
 
    End If
 
    rsCheck.Close: Set rsCheck = Nothing
 
    Me.Parent!SM_ImpostazioniGeneriche.SetFocus
 
grazie

francodel...@gmail.com
 formulated on Monday :

Come diceva il Duca di Mantova:
"Questa o quella per me pari sono..."
 
Sono invece completamente inutili quei cinque Me quando,
come nel contesto, Me non è Funzione.
 
Parimenti inutile la riga:
rsCheck.Close: Set rsCheck = Nothing
se la routine termina con l'istruzione successiva.
 
Bruno

grazie Bruno
 
nel caso in cui, anzichè avere 
 
Parent!SM_ImpostazioniGeneriche.SetFocus
 
avessi avuto 
 
Me!txtLink_Prodotto.Requery
Parent!SM_ImpostazioniGeneriche!txtLink_Prodotto.Requery
 
"rsCheck.Close: Set rsCheck = Nothing" si poteva ugualmente omettere?
 
grazie ancora
 


 
Mi togli una curiosita'? Perche' fai la Close del RecordsetClone?
Ti e' chiaro che rsCheck e' solo un puntatore all'oggetto?
 
-- 
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
 
 

 -- 
ciao Alessandro
per azzerare la variabile,
ma come pare non serve
 
 
 


ciao Bruno
mi puoi fare alcuni esempi
quando utilizzare o meno (Me)?
 
grazie


Non  mi hai risposto.
Ho scritto della close non della nothing.
La nothing, al di la del fatto che non serve, "azzera la variabile"? 
Quale variabile? Quanto e' "grossa"?


francodel...@gmail.com
 was thinking very hard :

Quando il recordset non viene più usato nella routine puoi anche
lasciarlo aperto: si chiuderà quando termina la routine.
Lo chiuderai invece se vuoi usare lo stesso nome con un diverso SET.
 
Bruno

 quando utilizzare o meno (Me)?
Supponi di avere tre controlli in una scheda denominati
ctrl_1, ctrl_2, ctrl_3 e di volerli leggere o modificare in
sequenza:
 
For i = 1 to 3
    Me("ctrl_" i) = 12^i
Next
 
Etc...
 
Bruno


ciao Alessandro e grazie
in effetti non servono entrambi


ciao Bruno e grazie
mi serve per capire meglio......
in un codice come questo è bene fare cosi'...
è su current di una sottomaschera
 
    Dim ParentDocName As String
 
    On Error Resume Next
    ParentDocName = 
Me.Parent.Name
 
 
    If Err <> 0 Then
        GoTo Form_Current_Exit
    Else
        On Error GoTo Form_Current_Err
        Me!txtLink_nMiaFattura.Requery
        Me.Parent!SM_MieFatturexCliente!Link_IdFattura.Requery
        Me.Parent!SM_DettMiaFattura.Requery
 
        ' Trova il record corrispondente al controllo
        Dim rsCheck As Object
 
        Set rsCheck = Parent!SM_MieFatturexCliente.Form.RecordsetClone
        rsCheck.FindFirst "IdFattura =" & IdFattura
 
        If rsCheck.NoMatch Then
            MsgBox "Fattura n. " & nMiaFattura & " non trovata"
        Else
            Parent!SM_MieFatturexCliente.Form.Bookmark = rsCheck.Bookmark
 
        End If
 
    End If