ho copiato un mio precedente progetto che funzionava bene ed era questo
codice:
Private Sub Csalva_Click()
Csalva.Enabled = False
' CONTROLLO LA VALIDITA' DEI CAMPI
If Len(Trim(nome_categoria.Text)) = 0 Then
lblMessaggio.Caption = "Inserire il cliente"
nome_categoria.SetFocus
ElseIf Len(Trim(descrizione.Text)) = 0 Then
lblMessaggio.Caption = "Inserire la data"
descrizione.SetFocus
Else ' SE TUTTE LE CONDIZIONI SONO STATE SODDISFATTE...
' COMANDO SQL A SECONDA CHE SI TRATTI DI UNA INSERT O DI UN UPDATE
Dim SQL As String
' MESSAGGIO DI CONFERMA (SECONDO LO STESSO CRITERIO DESCRITTO SOPRA)
Dim conferma As String
' COME SOPRA...
s = Split(ricerca.Text, " ")
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
Const Provider As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = C:\paghe.mdb"
cn.Open Provider
If ricerca.Text = "" Then ' ...ESEGUO LA INSERT
SQL = "INSERT INTO categorie " _
& "(nomecategoria, descrizione) " _
& "VALUES " _
& "('" & Replace(nome_categoria.Text, "'", "''") & "', " _
& "'" & Replace(descrizione.Text, "'", "''") & "')"
conferma = "Inserimento effettuato con successo"
Else ' ...ESEGUO L'UPDATE
SQL = "UPDATE categorie SET " _
& "nomecategoria = '" & Replace(nome_categoria.Text, "'", "''") & "', " _
& "descrizione = '" & Replace(descrizione.Text, "'", "''") & "' " _
& "WHERE id = " & CInt(s(0))
conferma = "Modifica effettuata con successo"
End If
' ESEGUO IL COMANDO SQL CHE ARRIVA DELLA CONDIZIONE
cn.Execute (SQL)
lblMessaggio.Caption = conferma
cn.Close
' PULISCO E RICARICO LA COMBO BOX
ricerca.Clear
Call Form_Load
End If
End Sub