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