[Risolto] Errore Colonna non trovata istruzione INSERT INTO
[Risolto] Errore Colonna non trovata istruzione INSERT INTO
Salve a tutti e grazie in anticipo a chi vorrà darmi una mano. Allego un DB di esempio che riproduce l'errore che mi sta facendo uscire pazzo.
In breve: ho un formulario scollegato da qualsiasi tabella con due campi di cui uno è una data. Premendo il bottone "inserisci" prelevo i valori dei campi e li inserisco in una tabella tramite macro con un'istruzione sql "INSERT INTO ... VALUES ...".
Ebbene ricevo un errore "colonna non trovata" quando a me invece risulta tutto corretto.
Allego il database semplificato per riprodurre l'errore.
Grazie!
In breve: ho un formulario scollegato da qualsiasi tabella con due campi di cui uno è una data. Premendo il bottone "inserisci" prelevo i valori dei campi e li inserisco in una tabella tramite macro con un'istruzione sql "INSERT INTO ... VALUES ...".
Ebbene ricevo un errore "colonna non trovata" quando a me invece risulta tutto corretto.
Allego il database semplificato per riprodurre l'errore.
Grazie!
- Allegati
-
- test.odb
- (12.7 KiB) Scaricato 149 volte
Ultima modifica di TriGecko il giovedì 1 settembre 2016, 23:49, modificato 1 volta in totale.
OpenOffice 4.1.2 su Windows 10 64bit
Re: Errore Colonna non trovata istruzione INSERT INTO
Prima di inserire un comando sql in una macro è meglio verificarne la corretta sintassi provandola manualmente andando su Comando Sql da Menu Strumenti, hai provato e funziona??TriGecko ha scritto: Ebbene ricevo un errore "colonna non trovata" quando a me invece risulta tutto corretto.
La data và inserita con il seguente formato '2016-08-31'
Prova la seguente macro
Codice: Seleziona tutto
sub onClickInserisci
dim nrPresenze, data, dataT, oForm, oConnection, sSQL, oStatement
oForm = ThisComponent.DrawPage.forms.Formulario
oConnection = oForm.ActiveConnection
data = DateValue(oForm.getByName("fmtData").Text)
dataT = Year(data)&"-"& Month(data)&"-"&Day(data)
nrPresenze = oForm.getByName("fmtNrPresenze").CurrentValue
sSQL = "INSERT INTO ""nrPresenze"" (""data"", ""nrPresenze"") VALUES ('" & dataT & "','" & nrPresenze & "' )"
print sSQL
select case isnull(oConnection)
case true
print "Nessuna connessione attiva al database."
end
case False
oStatement=oConnection.createStatement
oStatement.execute(sSQL)
end select
end sub
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
Re: Errore Colonna non trovata istruzione INSERT INTO
Grazie della risposta. Sì, ho provato anche con l'inserimento manuale, stesso errore "Colonna non trovata:31/08/16" ed anche con tutte le innumerevoli varianti, vale a dire trattini, ordine inverso (anno mese giorno), ho provato anche con il TIMESTAMP cioè aggiungendo l'ora (31/08/16 00:00), niente da fare.
OpenOffice 4.1.2 su Windows 10 64bit
Re: Errore Colonna non trovata istruzione INSERT INTO
Hai provato la macro che ti ho allegato?
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
Re: Errore Colonna non trovata istruzione INSERT INTO
Sì, provata, stesso errore.
OpenOffice 4.1.2 su Windows 10 64bit
Re: Errore Colonna non trovata istruzione INSERT INTO
A me funziona ti allego db
- Allegati
-
- test.odb
- (13.42 KiB) Scaricato 174 volte
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10
Re: Errore Colonna non trovata istruzione INSERT INTO
E' vero! Guardando il codice ho visto che hai anche racchiuso il valore fra apici anziché fra virgolette. In effetti facendo qualche prova ho visto che le due condizioni sono necessarie: data nel formato che dici tu (inglese) e racchiusa fra apici. Gli apici quindi vanno usati per tutti valori stringa?
Intanto grazie di avermi risolto il problema.
Intanto grazie di avermi risolto il problema.
OpenOffice 4.1.2 su Windows 10 64bit
Re: Errore Colonna non trovata istruzione INSERT I
Si
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Openoffice 4.1.13 su windows 10