Ho un problema con VBA su Access2000
Questo codice non funziona (mi crea solo un record nella tabella "Marche"):
codice:
Dim db As Database
Dim origine As DAO.Recordset
Dim marche As DAO.Recordset
Dim strCriterio As String

Set db = CurrentDb

Set origine = db.OpenRecordset("AUTOXX", dbOpenDynaset)
Set marche = db.OpenRecordset("Marche", dbOpenDynaset)

origine.MoveFirst
Do Until origine.EOF
    strCriterio = "txtMarca = '" & origine!MARCA & "'"
    marche.FindFirst strCriterio
    If marche.EOF Then 
        marche.AddNew
        marche!txtMarca = CStr(origine!MARCA)
        marche.Update
    End If
    origine.MoveNext
Loop

marche.Close
origine.Close
Set marche = Nothing
Set origine = Nothing
Questo codice invece funziona perfettamente: tutte le marche vengono riportate (una volta sola) dalla tabella "origine" alla tabella "marche".
codice:
Dim db As Database
Dim origine As DAO.Recordset
Dim marche As DAO.Recordset
Dim strCriterio As String

Set db = CurrentDb

Set origine = db.OpenRecordset("AUTOXX", dbOpenDynaset)
Set marche = db.OpenRecordset("Marche", dbOpenDynaset)

origine.MoveFirst
Do Until origine.EOF
    strCriterio = "txtMarca = '" & origine!MARCA & "'"
    If IsNull(DLookup("idMarca", "Marche", strCriterio)) Then 
        marche.AddNew
        marche!txtMarca = CStr(origine!MARCA)
        marche.Update
    End If
    origine.MoveNext
Loop

marche.Close
origine.Close
Set marche = Nothing
Set origine = Nothing
Qualcuno mi sa dare qualche consiglio? Non riesco a capire perchè il primo codice non funziona. Grazie!