MarcoGarino ha scritto:
uongiorno 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.
...
Quando eseguo il comando di debug mi evidenza l'espressione
DoCmd.GoToRecord , , acPrevious
...
Senza entrare per il momento "nel merito" del codice, ma considerando il fatto che su un PC funziona e su un altro no, le cose classiche da verificare sono:
1) Verificare se ci sono Riferimenti mancanti (cosa che in teoria potrebbe succedere solo su versioni diverse di Access).
2) Limiti di autorizzazione di "lettura/scrittura" su cartelle/file?
3) Stessa versione di Access? (sia come "numero" sia come bit: 32/64)
4) Stesso sistema operativo? (anche qui: numero e bit)
(dando per scontato che siano entrambi aggiornati con le correzioni rilasciate da Microsoft o almeno entrambi i computer siano nelle stesse condizioni)
Se alle domande 3 e 4 hai risposto no, specie sul discorso 32/64 bit allora le cose potrebbero complicarsi. Ma non metto il carro davanti ai buoi.
Prima di perderlo, inserisco anche questo link:
Compacting Access application db causes Run-Time error 3326 (prudenza e backup)
Edito dopo parecchio, nella speranza che comunque tu rilegga tutto: entro anche nel merito del codice (un po') già che ci siamo
Dim com, des, f As String
Dim qta, i As Integer
Dim pez, disp, cont As Single
No! Eventualmente
Dim com As String, des As String, f As String
Dim qta As Integer, i As Integer
Dim pez As Single, disp As Single, cont As Single
se vuoi tenere le variabili con lo stesso data type sulla stessa riga di dichiarazione
pez = pezzi
...
DoCmd.FindRecord codice
Dove attribuisci il valore a [pezzi] e [codice]?