Buongiorno a tutti,
ho riadattato un codice vba che ho trovato nel sito, e credo di aver fatto un discreto lavoro.
In sostanza ho due tabelle la prima importa i dati da un file txt la seconda tabella, dopo aver controllato eventuali errori tramite una maschera, ci sono i dati sistemati.
per portare i dati dalla tabella A alla Tabella B ho creato una query di accodamento. nella maschera ho creato un pulsante per far eseguire l' accodamento dei dati.
Ora per evitare che vengano ricaricati due volte gli stessi dati ho creato un codice:
Dim Paghe As DAO.database
Dim Listino_IRF CALTANISSETTA] As DAO.Recordset
Dim [TABELLA PRESENZE IRF CALTANISSETTA] As DAO.Recordset
Set database = CurrentDb
Set [Listino IRF CALTANISSETTA] = db.OpenRecordset("Tab1", dbOpenDynaset)
[Listino IRF CALTANISSETTA].MoveFirst
Do Until [Listino IRF CALTANISSETTA].EOF
Set [TABELLA PRESENZE IRF CALTANISSETTA] = db.OpenRecordset("SELECT * FROM Tab2 WHERE Mese=" & [Listino IRF CALTANISSETTA].Fields("Mese").Value, dbOpenDynaset)
If [TABELLA PRESENZE IRF CALTANISSETTA].Fields("Mese").Value<>[Listino IRF CALTANISSETTA]T1.Fields("Mese").Value Then
DoCmd.OpenQuery "query accodamento IRF Caltanissetta", , acReadOnly
Else
MsgBox ("Listino già Caricato"), vbInformation, "INFORMAZIONE"
End if
[TABELLA PRESENZE IRF CALTANISSETTA].Close
Set [TABELLA PRESENZE IRF CALTANISSETTA]=Nothing
[Listino IRF CALTANISSETTA].MoveNext
Loop
[Listino IRF CALTANISSETTA].Close
database.Close
Set [Listino IRF CALTANISSETTA]=Nothing
Set Paghe=Nothing
dove sto dicendo se il mese della prima tabella è diverso dalla seconda tabella allora aggiorna altrimenti scrivi "Listino già caricato".
uno dei problemi, come avrete capito è ce le tabelle hanno nomi con gli spazi e non ho capito come scriverli ho messo le parentesi quadre ma mi da errore.
prima avevo provato con un codice più semplice:
If [Listino IRF CALTANISSETTA].Fields("Mese").Value <> [TABELLA PRESENZE IRF CALTANISSETTA].Fields("Mese").Value Then
DoCmd.OpenQuery "query accodamento IRF Caltanissetta", , acReadOnly
Else
MsgBox ("Listino già Caricato"), vbInformation, "INFORMAZIONE"
End If
ma dice che non trova il campo immagino perche prima non ho aperto le tabelle
grazie