[Risolto] Errore Colonna non trovata istruzione INSERT INTO

Creare una macro - Scrivere uno script - Usare le API
Rispondi
TriGecko
Messaggi: 4
Iscritto il: giovedì 1 settembre 2016, 21:28

[Risolto] Errore Colonna non trovata istruzione INSERT INTO

Messaggio da TriGecko »

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. :crazy:
Allego il database semplificato per riprodurre l'errore.
Grazie!
Allegati
test.odb
(12.7 KiB) Scaricato 141 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
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Errore Colonna non trovata istruzione INSERT INTO

Messaggio da Gaetanopr »

TriGecko ha scritto: Ebbene ricevo un errore "colonna non trovata" quando a me invece risulta tutto corretto. :crazy:
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??
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
TriGecko
Messaggi: 4
Iscritto il: giovedì 1 settembre 2016, 21:28

Re: Errore Colonna non trovata istruzione INSERT INTO

Messaggio da TriGecko »

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
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Errore Colonna non trovata istruzione INSERT INTO

Messaggio da Gaetanopr »

Hai provato la macro che ti ho allegato?
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
TriGecko
Messaggi: 4
Iscritto il: giovedì 1 settembre 2016, 21:28

Re: Errore Colonna non trovata istruzione INSERT INTO

Messaggio da TriGecko »

Sì, provata, stesso errore.
OpenOffice 4.1.2 su Windows 10 64bit
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Errore Colonna non trovata istruzione INSERT INTO

Messaggio da Gaetanopr »

A me funziona ti allego db
Allegati
test.odb
(13.42 KiB) Scaricato 166 volte
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
TriGecko
Messaggi: 4
Iscritto il: giovedì 1 settembre 2016, 21:28

Re: Errore Colonna non trovata istruzione INSERT INTO

Messaggio da TriGecko »

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.
OpenOffice 4.1.2 su Windows 10 64bit
Gaetanopr
Volontario
Volontario
Messaggi: 3300
Iscritto il: mercoledì 21 novembre 2012, 20:07

Re: Errore Colonna non trovata istruzione INSERT I

Messaggio da Gaetanopr »

Si
LibreOffice 7.2.2.2 windows 10
Openoffice 4.1.13 su windows 10
Rispondi