
În articolul de azi o să vă explic cum putem crea o interogare de tip UPDATE folosind VBA.
În primul rând, am creat un formular.
Acesta conţine:
– 1 x combo box => cboProduse;
– 1 x text box => txtCantitateNoua;
– 1 x command button => cmdUpdateCant;
– 1 x label => lblFinish.
Combo box-ul l-am legat de coloana de produse din tabelul tblProduse.
Codul din spatele butonului este următorul:
Private Sub cmdUpdateCant_Click()
On Error GoTo err
Dim UpdateCost As String
'dezactivam alertele
DoCmd.SetWarnings False
'cream o interogare de tip update, tinand cont de obiectele din formular
UpdateCost = "UPDATE tblProduse SET tblProduse.Cantitate_Disponibila = " & Me.txtCantitateNoua & _
" WHERE tblProduse.Produs = '" & Me.cboProduse & "'"
'rulam interogarea
DoCmd.RunSQL UpdateCost
'anuntam finalizarea update-ului
lblFinish.Visible = True
lblFinish.Caption = "Actualizare finalizata"
'activam alertele
DoCmd.SetWarnings True
Exit Sub
err:
Select Case err.Number
Case 3144
MsgBox "Completează câmpurile libere !", vbOKOnly + vbInformation, "Eroare"
Case Else
MsgBox err.Description, vbOKOnly + vbInformation, "Eroare"
End Select
End Sub
Baza de date creată o găsiţi în pagina de resurse.
Cum traducem codul ?
– am definit o interogare de tip UPDATE care va actualiza datele din tabel în funcţie de produsul ales în cboProdus;
– valoarea cu care va actualiza datele din tabel va fi preluată din txtCantitateNoua;
– pentru a nu fi deranjaţi de alerta de update, am dezactivat orice tip de alertă;
– în momentul în care update-ul se încheie, în lblFinish este afişat un text custom;
– în cazul în care nu sunt completate toate câmpurile formularului, pentru ca interogarea să ruleze, este afişat un mesaj custom.