Newsgroup: it.comp.www.asp
Titolo: Perché?!

dim dbAdd
dbAdd="DBQ=" & Server.Mappath("mdb-database/locali.mdb") &
";Driver={Microsoft Access Driver (*.mdb)};"
Set ConnAdd = Server.CreateObject("ADODB.Connection")
Set RsAdd = Server.CreateObject("ADODB.Recordset")
ConnAdd.Open dbAdd
sql = "insert into Locali (Name, Number, Address, Category) values ('" &
Nome & "', '" & Numero & "', '" & Indirizzo & "', '" & Categoria & "')"
   Set RsAdd = ConnAdd.Execute (sql)
ConnAdd.close
set ConnAdd = nothing
Perché mi dà quest'errore?
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO
statement.
/locali.asp, line 24
Aiuto pleaz.
Simone.

Non è che Number è numerico e non vuole le virgolette?

 statement.
Quando hai problemi con le query, ti consiglio di prendere la stringa esatta
che viene utilizzata, mostrandola con una Response.Write:
sql = "insert into Locali (Name, Number, Address, Category) values ('" &
 Nome & "', '" & Numero & "', '" & Indirizzo & "', '" & Categoria & "')"
Response.Write "SQL=" & sql & "<br>"
quindi fai copia&incolla in Access (o Visdata, se hai anche il Visual Basic,
visto che e' piu' "immediato" per queste cose;-)), e provi la SQL. Nel tuo
caso, stando al nome dei campi penso che "Number" sia un campo numerico
quindi nella SQL non dovresti metterci l'apice:
sql = "insert into Locali (Name, Number, Address, Category) values ('" &
 Nome & "', " & Numero & ", '" & Indirizzo & "', '" & Categoria & "')"
Pero' perche' usi (sprechi) un oggetto Recordset per fare una semplice
insert? Meno oggetti (e variabili) definisci ed istanzi, e piu' efficiente
sara' il codice! Tra l'altro lo crei ma non lo distruggi neanche dopo
l'uso...
Ad esempio io al posto tuo farei cosi':
Set ConnAdd = Server.CreateObject("ADODB.Connection")
ConnAdd.Open "DBQ=" & Server.Mappath("mdb-database/locali.mdb") & _
        ";Driver={Microsoft Access Driver (*.mdb)};"
sql = "insert into Locali (Name, Number, Address, Category) values (" & _
        "'" & Nome & "', " & Numero & ", '" & Indirizzo & "', '" & Categoria
& "')"
ConnAdd.Execute sql
ConnAdd.Close
Set ConnAdd = Nothing
Ciao!
--
   Alex Palmese
--- Per scrivermi elimina "LOSPAM" dall'indirizzo ---
Sei anche tu stanco dei messaggi spam? Usa Terminator, il programma
anti-spam italiano FREEWARE! 
http://www.sertel.net/terminator/


No no, sono tutti campi di testo.
L'errore viene nella pagina 
www.morethanwords.it/locali.asp
 quando si cerca
di inserire un nuovo locale, per esempio con questi dati: "MR BOOM P.zza P.
Paoli, 19/21 Tel. 06/68805645".
(riga 23) sql = "insert into Locali (Name, Number, Address, Category) values
('" & Nome & "', '" & Numero & "', '" & Indirizzo & "', '" & Categoria &
"')"
(riga 24)      Set RsAdd = ConnAdd.Execute (sql)
L'errore lo dà alla riga 24... ma non capisco xké! :,(
Nel primo post c'è il codice completo.
Simone.

statement.
intanto non dare dei nomi banali ai campi, tipo name, number, nome,
numero ecc., potrebbero esserci problemi riguardo a parole riservate.
questo detto, i campi Name, Number, Address, Category sono tutti di
tipo testo o memo?
-- 
ben fatto, in fretta, economico: scegline due.

 numero ecc., potrebbero esserci problemi riguardo a parole riservate.
Infatti ho risolto cambiando nome ai campi.
Grazie :-)
Simone.