Î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

Copiază codul

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.

Back To Top
Search