Salve,

non riesco a capire perchè non mi funziona la insert su un db access.

Vi posto il codice e l'errore...

codice:
Private Sub insbutton_Click()

    'Dichiarazione variabili
    Dim conn As New ADODB.Connection
    Dim cmd As New ADODB.Command
    Dim stringasql As String

    'Apre il Data Base
    With conn
        .ConnectionString = "driver={Microsoft Access Driver (*.mdb)};dbq=piogest.mdb"
        .CursorLocation = adUseClient
        .Mode = adModeShareDenyNone
        .CommandTimeout = 15
        .Open
    End With
    
    'Stringa Sql
    stringasql = "INSERT INTO datipionieri (NOME,COGNOME,VIA,NUMERO,CAP,CITTA,PROVINCIA) VALUES ('"
    stringasql = stringasql & nometext.Text & "','"
    stringasql = stringasql & cognometext.Text & "','"
    stringasql = stringasql & viatext.Text & "','"
    stringasql = stringasql & ntext.Text & "','"
    stringasql = stringasql & captext.Text & "','"
    stringasql = stringasql & cittatext.Text & "','"
    stringasql = stringasql & provtext.Text & "')'"
    
    'Inserimento nel db
    cmd.ActiveConnection = conn
    cmd.CommandText = stringasql
    cmd.Execute
    conn.Close
    Set conn = Nothing
    
    MsgBox "Inserimento andato a buon fine"
    
End Sub
E l'errore che mi da è:

Errore di run-time '-2147217900 (80040e14)':
[Microsoft][Driver ODBC Microsoft Access] Punto e virgola(
mancante alla fine dell'istruzione SQL

E non riesco a capire il problema... sono andato anche a controllarmi quell'errore di run-time ma non capisco.

Ho però notato una cosa... ho letto da qualche parte di attivare due riferimenti per connettersi al db e cioè:

- Microsoft ActiveX Data Objects 2.8 Library
- Micrisoft ActiveX Data Objects Recordset 2.8 Library

C'è scritto di attivarli all'inizio.. ma io da bravo testone non li ho attivati.. e se provo ad attivarli adesso mi da il seguente errore:

"Nome già utilizzato per modulo, progetto o libreria degli oggetti esistente"

Spero di avervi dato più informazioni possibili per potermi aiutare.

Vi ringrazio in anticipo.

Grazie