Buona sera a tutti!
Vi espongo il mio problema: Ho creato una form che simula la pagina di un registro scolastico, che alla selezione di docente, classe e materia visualizza la lista degli alunni relativi; cliccando su uno dei nomi della lista viene visualizzata una nuova lista con i voti che l'alunno ha sul registro.
Ho poi pensato a tre bottoni per inserire, modificare e cancellare i record dal db, utilizzando delle combobox; l'insert funziona senza problemi:
mentre l'aggiornamento (modifica) e la cancellazione nocodice:Private Sub btmInserisci_Click() Dim Agherbino As Database, qdf As QueryDef, strSQL As String Dim idmateria As Integer If Me.CmbClasse = "" Or Me.CmbMateria = "" Or Me.cmbData = "" Or Me.cmbQuadrimestre = "" Or Me.cmbTipo = "" Or Me.cmbVoto = "" Then MsgBox "Compilare tutti i campi", vbCritical, "Informazioni mancanti!" Else If lblVotiStudente.Caption = "" Then MsgBox "Selezionare uno Studente" Else 'inserimento di un voto idmateria = RicavaID.Ricava_IDmateria(Me.CmbMateria.Value) Dim rec As Recordset Set Agherbino = DBEngine(0)(0) 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!" 'aggiorna la lista voti degli studenti Me.ElnVoti.Requery Me.cmbData = "" Me.cmbQuadrimestre = "" Me.cmbTipo = "" Me.cmbVoto = "" Agherbino.Close End If End If End Sub
Ecco i bottoni:
codice:Private Sub btmModifica_Click() 'UPDATE mia_tabella SET telefono = '0244444444' WHERE nome = '%s' AND cognome = '%s';",nome,cognome); Dim Agherbino As Database, qdf As QueryDef, strSQL As String Dim idmateria As Integer If Me.CmbClasse = "" Or Me.CmbMateria = "" Or Me.cmbData = "" Or Me.cmbQuadrimestre = "" Or Me.cmbTipo = "" Or Me.cmbVoto = "" Then MsgBox "Compilare tutti i campi", vbCritical, "Informazioni mancanti!" Else If lblVotiStudente.Caption = "" Then MsgBox "Selezionare uno Studente" Else 'inserimento di un voto idmateria = RicavaID.Ricava_IDmateria(Me.CmbMateria.Value) Dim rec As Recordset Set Agherbino = DBEngine(0)(0) strSQL = "UPDATE Valutazione_prova SET Data_prova='" & Me.cmbData.Value & "'AND Quadrimestre= " & Me.cmbQuadrimestre.Value & " AND Tipo='" & Me.cmbTipo.Value & "' AND Voto= " & Me.cmbVoto.Value & " WHERE Matricola = " & Me.ElnStudenti.Column(0) & " AND IdDocente = " & Form_HomeDocente.txtID.Value & " AND IdMateria=" & idmateria & "" 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 modificato correttamente!" 'aggiorna la lista voti degli studenti Me.ElnVoti.Requery Me.cmbData = "" Me.cmbQuadrimestre = "" Me.cmbTipo = "" Me.cmbVoto = "" Agherbino.Close End If End If End SubVi ringrazio in anticipo per l'eventuale aiuto!codice:Private Sub btmCancella_Click() ' DELETE FROM mia_tabella WHERE nome = '%s' AND cognome = '%s';",nome,cognome); Dim Agherbino As Database, qdf As QueryDef, strSQL As String Dim idmateria As Integer If Me.CmbClasse = "" Or Me.CmbMateria = "" Or Me.cmbData = "" Or Me.cmbQuadrimestre = "" Or Me.cmbTipo = "" Or Me.cmbVoto = "" Then MsgBox "Compilare tutti i campi", vbCritical, "Informazioni mancanti!" Else If lblVotiStudente.Caption = "" Then MsgBox "Selezionare uno Studente" Else 'inserimento di un voto idmateria = RicavaID.Ricava_IDmateria(Me.CmbMateria.Value) Dim rec As Recordset Set Agherbino = DBEngine(0)(0) strSQL = "DELETE 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 & ")" 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 eliminato correttamente!" 'aggiorna la lista voti degli studenti Me.ElnVoti.Requery Me.cmbData = "" Me.cmbQuadrimestre = "" Me.cmbTipo = "" Me.cmbVoto = "" Agherbino.Close End If End If End Sub![]()
![]()


Rispondi quotando