'Dim cn As ADODB.Connection
'Dim strConnString As String
'
'Set cn = New ADODB.Connection
'
'strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;"
'strConnString = strConnString & "Data Source=c:\connessioni.mdb"
'cn.ConnectionString = strConnString
'cn.Open
'
'Dim connessioni As ADODB.Recordset
'Set connessioni = New ADODB.Recordset
'
'connessioni.ActiveConnection = cn
'connessioni.CursorType = adOpenForwardOnly
'connessioni.Source = "SELECT * FROM connessioni"
'connessioni.Open
'
'Dim comando As ADODB.Command
'Dim strSQL As String
'
'Set comando = New ADODB.Command
'strSQL = "INSERT INTO connessioni VALUES(connessione, sconnessione,
commenti) VALUES (1, 2,Proviamo)"
'
'comando.ActiveConnection = cn
'comando.CommandText = "INSERT INTO connessioni VALUES(connessione,
sconnessione, commenti) VALUES (1, 2,Proviamo)"
'
'cn.BeginTrans
'
'comando.Execute <<<<<<<<<< ERRORE!!!
'
'cn.CommitTrans
'
'Set comando = Nothing
'Set connessioni = Nothing
l'errore è qui sopra. e sentite che errore!
Errore di run-time '-2147217900 (80040e14)':
Punto e virgola (;) mancante alla fine dell'istruzione SQL
provo a cliccare sulla guida ? ed
Impossibile trovare l'argomento della guida richiesto.. bla bla bla
Sapete dov'è l'errore? e quale sia?
Grazie a tutti, Augusto
insert into non vuole la parola VALUES anche quando elenchi i fields (se non
sbaglio).
quindi elimina il primo VALUES.
poi, "proviamo" andrebbe tra virgolette, ovviamente visto usi ado sono
virgolette singole:
strSQL = "INSERT INTO connessioni (connessione, sconnessione,
commenti) VALUES (1, 2,'Proviamo')"
le virgolette vanno messe se si tratta di un campo-stringa. quindi si
presume che connessione e sconnessioni siano campi numerici...
MarioH
E si vede. Ma recupereremo!
Con un po' di pazienza diventerai un esperto. ;-)
Iniziamo con un buon coniglio: F1
> 'Dim cn As ADODB.Connection
[bla bla bla]
> 'cn.Open
> '
> 'Dim connessioni As ADODB.Recordset
[bla bla bla]
> 'connessioni.Source = "SELECT * FROM connessioni"
> 'connessioni.Open
> '
> 'Dim comando As ADODB.Command
> 'Dim strSQL As String
[bla bla bla]
> 'strSQL = "INSERT INTO connessioni VALUES(connessione, sconnessione,
> commenti) VALUES (1, 2,Proviamo)"
La sintassi corretta l'ho presa volutamente dalla guida di Access
INSERT INTO destinazione [(campo1[, campo2[, ...]])]
VALUES (valore1[, valore2[, ...])
destinazione:
Nome della tabella o della query a cui accodare i record.
campo1, campo2:
Nomi dei campi a cui accodare i dati, se seguono un argomento destinazione
oppure i nomi dei campi da cui ottenere i dati, se seguono un argomento
origine.
valore1, valore2, ...
Valori da inserire nei campi specifici del nuovo record. Ogni valore viene
inserito nel campo che corrisponde alla posizione del valore nell'elenco:
valore1 viene inserito nel campo1 del nuovo record, valore2 nel campo2 e
così via. I valori devono essere separati da virgole e i campi di testo
devono essere racchiusi tra virgolette (' ').
2.o coniglio: F1
> 'comando.ActiveConnection = cn
> 'comando.CommandText = "INSERT INTO connessioni VALUES(connessione,
> sconnessione, commenti) VALUES (1, 2,Proviamo)"
Arrère!...che 'dalle mie parti' vuoli dire 'di nuovo!'
Direi che basta scrivere:
comando.CommandText = strSQL
3.o coniglio: osare.
> l'errore è qui sopra. e sentite che errore!
>
> Errore di run-time '-2147217900 (80040e14)':
> Punto e virgola (;) mancante alla fine dell'istruzione SQL
DATI:
1) Il ";" serve per separare due istruzioni SQL.
2) Access non supporta le query multiple
ELABORAZIONE:
....................................................................
RISULTATO
In Access il ";" non è obbligatorio.
"Ma allora perché restituisce un simile errore?" -dirai-
CONSIDERAZIONI:
Il fatto che in Access il ";" non sia obbligatorio non significa che non ne
conosca il 'ruolo'!
Quindi con ogni probabilità Jet si aspetta una query multipla.
Forse, dunque, gliene hai dato modo!
Prova a confrontare la sintassi corretta con ciò che hai scritto tu e vedrai
che la presenza di 2 calusole VALUES ingannerebbero anche te! [si fa per
dire!]...ingannerebbero anche skunk!
4.o e 5.o coniglio: laddove si può è sempre meglio non peccare di
ingenuità. - mai fidarsi ciecamente di un copia-incolla.
> provo a cliccare sulla guida ? ed
bene!
> Impossibile trovare l'argomento della guida richiesto.. bla bla bla
e ti sei fermato qui?!? ;(
6.o, 7.o, 8.o, ...., n.simo coniglio: osare...F1...F1...F1...
> Sapete dov'è l'errore?
si
> e quale sia?
si
> Grazie a tutti, Augusto
prego, nonsonostatoio.
P.S.: io scherzo, eh!
P.P.S.: Qualcuno ha visto una coppia di conigli?
Sono fuggiti dal cappello e...bhe...sarebbe meglio non lasciarli troppo
soli!
Sapete come vanno queste cose, no?
non sapevo che Bugs Bunny fosse esperto di Sql..................
Ciao
Sir Jo
beh.. l'errore è tutto qua.
'strSQL = "INSERT INTO connessioni VALUES(connessione, sconnessione,
commenti) VALUES (1, 2,Proviamo)"
^^^^^^^^
questo values non ci va e poi funza tutto!grazie del CONIGLI!
augusto