ho una macro che inserisce record nel database da una tabella di calc; le tabelle, di calc e del database, devono essere aggiornate continuamente, per cui, quando qualche record è già stato inserito, la macro restituisce un errore di violazione di unicità. C'è un modo per aggiungere al database solo i nuovi record?
Codice: Seleziona tutto
for i = 1 to iCount-1
ID = Sh.getCellByPosition(0, i).getString()
campo2 = Sh.getCellByPosition(1, i ).getString()
campo3 = Sh.getCellByPosition(2, i ).getString()
sql = "INSERT into ""prova"" (""ID"", ""campo2"", ""campo3"") VALUES " _
& "('" & ID & "', '" & due & "', '" & tre & "')"
oDeclaracion.Execute(sql)
next i
doc.close(false)
Ho provato anche con questa istruzione, ma anche questa volta la macro rimane in esecuzione all'infinito.
Codice: Seleziona tutto
sql1 = "SELECT IFNULL(""ID"", 0) AS ""ID"" FROM ""prova"" "
sNull =oDeclaracion.Execute(sql1)
if sNull > 0 then
oDeclaracion.Execute(sql)
end if