Buongiorno a tutti,
ho un problema con un comando in visual basic su un database di Access: in pratica ho copiato un file di database da un pc all'altro e mentre sul primo funzionava perfettamente sul nuovo mi restituisce l'errore runtime 3326.
Di seguito riporto il codice del modulo di VB:
Option Compare Database
Option Explicit
Private Sub articoli_Click()
DoCmd.OpenForm "articoli"
End Sub
Private Sub scarica_Click()
Dim com, des, f As String
Dim qta, i As Integer
Dim pez, disp, cont As Single
pez = pezzi
DoCmd.OpenForm "da scaricare2"
DoCmd.OpenForm "carico 4"
Forms![carico 4]![codice SL].SetFocus
DoCmd.FindRecord codice
i = 51
Do
com = "": des = "": qta = 0: disp = 0: cont = 0
i = i - 1
DoCmd.GoToRecord , , acPrevious
If Not IsNull(Forms![carico 4]!componenti) Then
com = Forms![carico 4]!componenti
Else
com = Forms![carico 4]![codice SL]
End If
des = Forms![carico 4]!descrizione
qta = Forms![carico 4]![pz o gr]
f = "codice ='" & com & "' and fornitore='" & Forms![da scaricare]!provenienza & "'"
DoCmd.OpenForm "contenitori", , , f
If Not IsNull(Forms!contenitori!pezzi) Then disp = Forms!contenitori!pezzi
If Not IsNull(Forms!contenitori!id) Then cont = Forms!contenitori!id
DoCmd.Close acForm, "contenitori"
DoCmd.SelectObject acForm, "da scaricare2"
Forms![da scaricare2]!data = Forms![da scaricare]![data carico]
Forms![da scaricare2]![scaricare da] = Forms![da scaricare]!provenienza
Forms![da scaricare2]!assieme = Forms![da scaricare]!codice
Forms![da scaricare2]!quantità = pez
Forms![da scaricare2]!riga.SetFocus
DoCmd.FindRecord i
Forms![da scaricare2]!codice = com
Forms![da scaricare2]!descrizione = des
Forms![da scaricare2]!qtà = qta
Forms![da scaricare2]![da scaricare] = qta * pez
Forms![da scaricare2]!disponibilità = disp
Forms![da scaricare2]!contenitore = cont
Forms![da scaricare2]!elimCont = False
If Forms![carico 4]!riga = 1 Or IsNull(Forms![carico 4]!componenti) Then Exit Do
DoCmd.SelectObject acForm, "carico 4"
Loop
DoCmd.Close acForm, "carico 4"
DoCmd.SelectObject acForm, "da scaricare2"
f = "riga >=" & i
DoCmd.ApplyFilter , f
End Sub
Quando eseguo il comando di debug mi evidenza l'espressione
DoCmd.GoToRecord , , acPrevious
Qualcuno sa darmi un indicazione??
Ringrazio in anticipo e saluto,
Marco Garino