Ciao.

Tramite un bottone devo far inserire un nuovo record nel mio db, ma ho 2 problemi.
1. l'utente deve compilare tutti i campi per poter inserire il nuovo record nel db. ma pur avendo messo il controllo sui campi per vedere se sono pieni, mi da errore di debug.
2. in uno di questi campi posso inserire un valore numerico intero o con la virgola. Inserendo il numero intero non ho problemi, mentre con la virgola mi da errore.
Nella mia tabella del db ho dichiarato il campo in questione come Numerico a doppia precisione.
Ecco il codice del mio bottone:
codice:
Private Sub btmInserisci_Click()
Dim Agherbino As Database, qdf As QueryDef, strSQL As String
    Dim numberecord As Integer
    Dim idmateria As Integer
    
    idmateria = RicavaID.Ricava_IDmateria(Me.CmbMateria.Value)
        
    If IsNull(Me.cmbData.Value) And IsNull(Me.cmbQuadrimestre.Value) And IsNull(Me.cmbTipo.Value) And IsNull(Me.cmbVoto.Value) Then
        MsgBox "Compilare tutti i campi", vbCritical, "Informazioni mancanti!"
    Else
        Dim rec As Recordset
        Set Agherbino = DBEngine(0)(0)
        strSQL = "SELECT * FROM Valutazione_prova WHERE Matricola = " & Me.ElnStudenti.Column(0) & " AND IdDocente = " & Form_HomeDocente.txtID.Value & " AND IdMateria = " & idmateria & " AND Data_prova = '" & Me.cmbData.Value & "' AND Quadrimestre = " & Me.cmbQuadrimestre.Value & " AND Tipo = '" & Me.cmbTipo.Value & "' AND Voto = '" & Me.cmbVoto.Value & "'"
        Set qdf = Agherbino.CreateQueryDef("", strSQL)
        Set rec = qdf.OpenRecordset()
        numberecord = rec.RecordCount
        Set rec = Nothing
        Set qdf = Nothing
        
        If numberecord = 0 Then
    
            strSQL = "INSERT INTO Valutazione_prova(Matricola, IdDocente, IdMateria, Data_prova, Quadrimestre, Tipo, Voto) VALUES (" & Me.ElnStudenti.Column(0) & ", " & Form_HomeDocente.txtID.Value & ", " & idmateria & ", '" & Me.cmbData.Value & "', " & Me.cmbQuadrimestre.Value & ", '" & Me.cmbTipo.Value & "', '" & Me.cmbVoto.Value & "')"
            Agherbino.Execute strSQL
            strSQL = "SELECT * FROM Valutazione_prova WHERE Matricola = " & Me.ElnStudenti.Column(0) & " AND IdDocente = " & Form_HomeDocente.txtID.Value & " AND IdMateria = " & idmateria & " AND Data_prova = '" & Me.cmbData.Value & "' AND Quadrimestre = " & Me.cmbQuadrimestre.Value & " AND Tipo = '" & Me.cmbTipo.Value & "' AND Voto = '" & Me.cmbVoto.Value & "'"
            MsgBox "Voto aggiunto correttamente!"
        Else
            'se la query iniziale ha restituito per l'utente cercato un risultato allora il messaggio sarà
            MsgBox "Voto già inserito per lo studente selezionato e per la data scelta."
        End If
        
        'aggiorna la lista voti degli studenti
        Me.ElnVoti.Requery
        Agherbino.Close
    End If
End Sub