Salve ragazzi,
mi sto avvicinando al linguaggio visual basic!
Ho creato direttamente in access una maschera con un campo di input (nome_comune) ed un bottone.
Al bottone ho associato questo codice:
Il codice funziona ma non del tutto!codice:Private Sub Comando57_Click() If IsNull(Me.nome_comune) Then ' il campo 'nome_comune' deve essere pieno messaggio = MsgBox("Devi inserire una città!", vbCritical) ' focus sul campo di input nome_comune.SetFocus End If ' crea un nuovo recordset Dim rs As New ADODB.Recordset Dim sql As String ' inserisce il comune sql = "INSERT INTO comuni (nome) VALUES ('" & Me.nome_comune & "')" ' apre il recordset rs.Open sql, CurrentProject.Connection, adOpenDynamic, adLockOptimistic ' distrugge il recorset Set rs = Nothing ' messagio di inserimento riuscito messaggio = MsgBox("Inserimento città riuscito!", vbInformation) ' campo di input vuoto nome_comune.Value = "" ' focus sul campo di input nome_comune.SetFocus End Sub
Infatti dopo aver inserito con successo una città se clicco sul bottone con il campo di input vuoto, viene dato un errore di run time in cui mi viene detto che il campo del db non accetta stringhe nulle!
Perchè mi viene dato l'errore se io all'inizio dello script faccio un controllo proprio sul campo di input? Non dovrebbe comparire la finestra vbCritical?
Naturalmente l'errore è su questa riga: rs.Open sql, CurrentProject.Connection, adOpenDynamic, adLockOptimistic.
Grazie a chi saprà dirmi qualcosa.
![]()

Rispondi quotando