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

Rispondi quotando