Presentazione a cura di Claudia Neri 4c Mercurio (indirizzo programmatori)  2008/2009 I.s.i.s.t Russell-Newton Scandicci (Firenze)
Visual Basic Inserimento, modifica, cancellazione di un record Uso di AddNew/Update Uso di Edit/Update Uso di Delete Ricerca diretta di un record con .seek “=“
Prendiamo ad esempio l’esercizio piscina per spiegare l’eliminazione, la modifica e la registrazione di record nel database utilizzando visual basic senza intervenire sul database attraverso access. Primo passo: progettare la form
ComboBox: contenete gli iscritti Permette di visualizzare i dati dell’iscritto E adesso prima di spiegare cosa fanno questi pulsanti vediamo cosa succede nella form_load e al clic di visualizza
Iniziamo a vedere la form_load… Private Sub Form_Load() Call caricaCombo cmdRegistra.Enabled = False cmdModifica.Enabled = False cmdElimina.Enabled = False End Sub
Private Sub caricaCombo 'scrivo nella combobox tblIscritti.MoveFirst 'posizionarsi al primo record Do While tblIscritti.EOF = False cmbIscritti.AddItem tblIscritti("CodIsc") & "- " & tblIscritti("Cognome") & “ ” & tblIscritti("Nome") tblIscritti.MoveNext 'andare al record successivo Loop cmbIscritti.ListIndex = -1 End Sub Ecco cosa c’è nella sottoprocedura caricaCombo In questa fase viene caricata la combobox con i nomi degli iscritti del database Si imposta a –1 perché così parte con nessun nome visualizzato
..e al clic di Visualizza Posizione = InStr(cmbIscritti.Text, "-") RicCodIsc = Mid$(cmbIscritti.Text, 1, Posizione - 1) 'ricerco nella tabella iscrizioni il codice iscritto tblIscritti.Index = "PrimaryKey" tblIscritti.Seek "=", RicCodIsc If tblIscritti.NoMatch = True Then MsgBox ("Errore non esiste iscritto con quel codice") Else Call visDatiIscritto End If cmdRegistra.Enabled = True cmdModifica.Enabled = True cmdElimina.Enabled = True
Ed ecco cosa succede nella sottoprocedura visDatiIscritto Private Sub visDatiIscritto() txtCodIsc.Text = tblIscritti("CodIsc") txtCognome.Text = tblIscritti("Cognome") txtNome.Text = tblIscritti("Nome") txtIndirizzo.Text = tblIscritti("Indirizzo") txtCitta.Text = tblIscritti("Città") txtCap.Text = tblIscritti("Cap") txtTelefono.Text = tblIscritti("Telefono") txtEmail.Text = tblIscritti("Email") End Sub
Cominciamo adesso con il pulsante Elimina Il pulsante elimina deve contenere le istruzioni per poter cancellare il record che abbiamo selezionato attraverso la combo box. Per far ciò viene utilizzato il metodo DELETE del controllo record-set Vediamo in visual basic
Private Sub cmdElimina_Click() A = MsgBox("Sei sicuro di volerlo eliminare?", vbYesNo) If A = 6 Then tblIscritti.Delete MsgBox "Eliminazione effettuata" End If cmbIscritti.Clear Call caricaCombo Call pulisciText cmdRegistra.Enabled = False cmdModifica.Enabled = False cmdElimina.Enabled = False Per prima cosa ci si domanda se si vuole davvero eliminare. Qui si guarda se è stato confermato o meno e si utilizza un numero perché la risposta alla domanda viene memorizzata attraverso un numero.
Passiamo adesso al pulsante modifica All’attivazione di questo pulsante occorre attivare la frame che contiene le textbox per poter così effettuare le eventuali modifiche. Private Sub cmdModifica_Click() fraDati.Enabled = True cmdElimina.Enabled = False txtCodIsc.Enabled = False txtCognome.SetFocus End Sub
Ecco il pulsante registra Dopo aver modificato i dati occorre salvare queste modifiche anche sul database e ciò avviene cliccando sul pulsante registra. In questo pulsante vengono utilizzate due metodi il primo è EDIT e il secondo è UPDATE.
tblIscritti.Edit tblIscritti("CodIsc") = txtCodIsc.Text tblIscritti("Cognome") = txtCognome.Text tblIscritti("Nome") = txtNome.Text tblIscritti("Indirizzo") = txtIndirizzo.Text tblIscritti("Città") = txtCitta.Text tblIscritti("Cap") = txtCap.Text tblIscritti("Telefono") = txtTelefono.Text tblIscritti("Email") = txtEmail.Text tblIscritti.Update MsgBox "Registrazione effettuata" cmbIscritti.Clear Call caricaCombo Call pulisciText fraDati.Enabled = False cmdElimina.Enabled = False cmdModifica.Enabled = False cmdRegistra.Enabled = False
Adesso vediamo come facciamo ad aggiungere un nuovo iscritto Per aggiungere un iscritto occorre che nella combobox sia selezionata la riga vuota, questo deve far cambiare la caption del pulsante registra e al posto di “Registra” deve apparire “Aggiungi”. Qui viene poi utilizzato un nuovo metodo che è quello ADDNEW. Dobbiamo adesso modificare alcune istruzioni nel codice di alcuni pulsanti già utilizzati vediamo come….
Le modifiche del pulsante visualizza If cmbIscritti.ListIndex = -1 Then cmdRegistra.Caption = "Aggiungi" cmdRegistra.Enabled = True fraDati.Enabled = True Else cmdRegistra.Caption = "Registra" Posizione = InStr(cmbIscritti.Text, "-") RicCodIsc = Mid$(cmbIscritti.Text, 1, Posizione - 1) tblIscritti.Index = "PrimaryKey" tblIscritti.Seek "=", RicCodIsc If tblIscritti.NoMatch = True Then MsgBox ("Errore non esiste iscritto con quel codice") Else Call visDatiIscritto End If cmdRegistra.Enabled = True cmdModifica.Enabled = True cmdElimina.Enabled = True End If Nel visualizza abbiamo aggiunto il se che guarda se la riga selezionata della combobox è vuota, se ciò è vero allora cambia la caption al pulsante registra e attiva tutte le text per poter aggiungere i dati del nuovo iscritto
Le modifiche nel pulsante registra If cmbIscritti.ListIndex = -1 Then tblIscritti.AddNew Else tblIscritti.Edit End If tblIscritti("CodIsc") = txtCodIsc.Text tblIscritti("Cognome") = txtCognome.Text tblIscritti("Nome") = txtNome.Text tblIscritti("Indirizzo") = txtIndirizzo.Text tblIscritti("Città") = txtCitta.Text tblIscritti("Cap") = txtCap.Text tblIscritti("Telefono") = txtTelefono.Text tblIscritti("Email") = txtEmail.Text tblIscritti.Update MsgBox "Registrazione effettuata" cmbIscritti.Clear Call caricaCombo  Call pulisciText fraDati.Enabled = False cmdElimina.Enabled = False cmdModifica.Enabled = False Si è aggiunto un se in modo da verificare quando nella combobox è selezionata la riga vuota  o no.  Infatti se è selezionata la riga vuota  deve eseguire l’istruzione di aggiungere nella tabella un nuovo iscritto altrimenti deve solo consentire di aggiungere le modifiche a un iscritto già presente
Fine presentazione Firenze, 22/12/2008

Presentazione cancellazione registrazione modifica di un record in visual basic

  • 1.
    Presentazione a curadi Claudia Neri 4c Mercurio (indirizzo programmatori) 2008/2009 I.s.i.s.t Russell-Newton Scandicci (Firenze)
  • 2.
    Visual Basic Inserimento,modifica, cancellazione di un record Uso di AddNew/Update Uso di Edit/Update Uso di Delete Ricerca diretta di un record con .seek “=“
  • 3.
    Prendiamo ad esempiol’esercizio piscina per spiegare l’eliminazione, la modifica e la registrazione di record nel database utilizzando visual basic senza intervenire sul database attraverso access. Primo passo: progettare la form
  • 4.
    ComboBox: contenete gliiscritti Permette di visualizzare i dati dell’iscritto E adesso prima di spiegare cosa fanno questi pulsanti vediamo cosa succede nella form_load e al clic di visualizza
  • 5.
    Iniziamo a vederela form_load… Private Sub Form_Load() Call caricaCombo cmdRegistra.Enabled = False cmdModifica.Enabled = False cmdElimina.Enabled = False End Sub
  • 6.
    Private Sub caricaCombo'scrivo nella combobox tblIscritti.MoveFirst 'posizionarsi al primo record Do While tblIscritti.EOF = False cmbIscritti.AddItem tblIscritti("CodIsc") & "- " & tblIscritti("Cognome") & “ ” & tblIscritti("Nome") tblIscritti.MoveNext 'andare al record successivo Loop cmbIscritti.ListIndex = -1 End Sub Ecco cosa c’è nella sottoprocedura caricaCombo In questa fase viene caricata la combobox con i nomi degli iscritti del database Si imposta a –1 perché così parte con nessun nome visualizzato
  • 7.
    ..e al clicdi Visualizza Posizione = InStr(cmbIscritti.Text, "-") RicCodIsc = Mid$(cmbIscritti.Text, 1, Posizione - 1) 'ricerco nella tabella iscrizioni il codice iscritto tblIscritti.Index = "PrimaryKey" tblIscritti.Seek "=", RicCodIsc If tblIscritti.NoMatch = True Then MsgBox ("Errore non esiste iscritto con quel codice") Else Call visDatiIscritto End If cmdRegistra.Enabled = True cmdModifica.Enabled = True cmdElimina.Enabled = True
  • 8.
    Ed ecco cosasuccede nella sottoprocedura visDatiIscritto Private Sub visDatiIscritto() txtCodIsc.Text = tblIscritti("CodIsc") txtCognome.Text = tblIscritti("Cognome") txtNome.Text = tblIscritti("Nome") txtIndirizzo.Text = tblIscritti("Indirizzo") txtCitta.Text = tblIscritti("Città") txtCap.Text = tblIscritti("Cap") txtTelefono.Text = tblIscritti("Telefono") txtEmail.Text = tblIscritti("Email") End Sub
  • 9.
    Cominciamo adesso conil pulsante Elimina Il pulsante elimina deve contenere le istruzioni per poter cancellare il record che abbiamo selezionato attraverso la combo box. Per far ciò viene utilizzato il metodo DELETE del controllo record-set Vediamo in visual basic
  • 10.
    Private Sub cmdElimina_Click()A = MsgBox("Sei sicuro di volerlo eliminare?", vbYesNo) If A = 6 Then tblIscritti.Delete MsgBox "Eliminazione effettuata" End If cmbIscritti.Clear Call caricaCombo Call pulisciText cmdRegistra.Enabled = False cmdModifica.Enabled = False cmdElimina.Enabled = False Per prima cosa ci si domanda se si vuole davvero eliminare. Qui si guarda se è stato confermato o meno e si utilizza un numero perché la risposta alla domanda viene memorizzata attraverso un numero.
  • 11.
    Passiamo adesso alpulsante modifica All’attivazione di questo pulsante occorre attivare la frame che contiene le textbox per poter così effettuare le eventuali modifiche. Private Sub cmdModifica_Click() fraDati.Enabled = True cmdElimina.Enabled = False txtCodIsc.Enabled = False txtCognome.SetFocus End Sub
  • 12.
    Ecco il pulsanteregistra Dopo aver modificato i dati occorre salvare queste modifiche anche sul database e ciò avviene cliccando sul pulsante registra. In questo pulsante vengono utilizzate due metodi il primo è EDIT e il secondo è UPDATE.
  • 13.
    tblIscritti.Edit tblIscritti("CodIsc") =txtCodIsc.Text tblIscritti("Cognome") = txtCognome.Text tblIscritti("Nome") = txtNome.Text tblIscritti("Indirizzo") = txtIndirizzo.Text tblIscritti("Città") = txtCitta.Text tblIscritti("Cap") = txtCap.Text tblIscritti("Telefono") = txtTelefono.Text tblIscritti("Email") = txtEmail.Text tblIscritti.Update MsgBox "Registrazione effettuata" cmbIscritti.Clear Call caricaCombo Call pulisciText fraDati.Enabled = False cmdElimina.Enabled = False cmdModifica.Enabled = False cmdRegistra.Enabled = False
  • 14.
    Adesso vediamo comefacciamo ad aggiungere un nuovo iscritto Per aggiungere un iscritto occorre che nella combobox sia selezionata la riga vuota, questo deve far cambiare la caption del pulsante registra e al posto di “Registra” deve apparire “Aggiungi”. Qui viene poi utilizzato un nuovo metodo che è quello ADDNEW. Dobbiamo adesso modificare alcune istruzioni nel codice di alcuni pulsanti già utilizzati vediamo come….
  • 15.
    Le modifiche delpulsante visualizza If cmbIscritti.ListIndex = -1 Then cmdRegistra.Caption = "Aggiungi" cmdRegistra.Enabled = True fraDati.Enabled = True Else cmdRegistra.Caption = "Registra" Posizione = InStr(cmbIscritti.Text, "-") RicCodIsc = Mid$(cmbIscritti.Text, 1, Posizione - 1) tblIscritti.Index = "PrimaryKey" tblIscritti.Seek "=", RicCodIsc If tblIscritti.NoMatch = True Then MsgBox ("Errore non esiste iscritto con quel codice") Else Call visDatiIscritto End If cmdRegistra.Enabled = True cmdModifica.Enabled = True cmdElimina.Enabled = True End If Nel visualizza abbiamo aggiunto il se che guarda se la riga selezionata della combobox è vuota, se ciò è vero allora cambia la caption al pulsante registra e attiva tutte le text per poter aggiungere i dati del nuovo iscritto
  • 16.
    Le modifiche nelpulsante registra If cmbIscritti.ListIndex = -1 Then tblIscritti.AddNew Else tblIscritti.Edit End If tblIscritti("CodIsc") = txtCodIsc.Text tblIscritti("Cognome") = txtCognome.Text tblIscritti("Nome") = txtNome.Text tblIscritti("Indirizzo") = txtIndirizzo.Text tblIscritti("Città") = txtCitta.Text tblIscritti("Cap") = txtCap.Text tblIscritti("Telefono") = txtTelefono.Text tblIscritti("Email") = txtEmail.Text tblIscritti.Update MsgBox "Registrazione effettuata" cmbIscritti.Clear Call caricaCombo Call pulisciText fraDati.Enabled = False cmdElimina.Enabled = False cmdModifica.Enabled = False Si è aggiunto un se in modo da verificare quando nella combobox è selezionata la riga vuota o no. Infatti se è selezionata la riga vuota deve eseguire l’istruzione di aggiungere nella tabella un nuovo iscritto altrimenti deve solo consentire di aggiungere le modifiche a un iscritto già presente
  • 17.