Jak dopisać rekord na formularzu z poziomu VBA?

Może to być potrzebne np przy pobieraniu danych z jakiegoś pliku. Jeżeli jest w tym momencie aktywny odpowiedni formularz (czyli taki na którym są pola tekstowe o nazwach „Imie” i „Nazwisko”), to możemy od razu zapisać pobrane dane. Procedura jest wyzwalana po kliknięciu przycisku o nazwie „przyciskDopiszRekord”, który także musi się znaleźć na formularzu.

Private Sub przyciskDopiszRekord_Click()
    Dim strImie As String, strNazwisko As String
 
    'testowe pobranie danych 
    strImie = InputBox("Podaj imię")
    strNazwisko = InputBox("Podaj nazwisko")
 
    'ustawienie się na nowym rekordzie
    DoCmd.GoToRecord , , acNewRec
 
    'wpisanie wartości do pól
    Me.Imie = strImie
    Me.Nazwisko = strNazwisko
 
    'zapisanie rekordu na fm
    DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
End Sub

2 myśli w temacie “Jak dopisać rekord na formularzu z poziomu VBA?

  1. Załóżmy, że Twój podformularz nazywa się fmPozycjeFaktur i zawiera pola tekstowe TowarID i Ilosc. Procedura dodania rekordu na takim podformularzu wyglądałaby tak:
    [vb]
    Me.fmPozycjeFaktur.SetFocus
    DoCmd.GoToRecord , , acNewRec
    Me.fmPozycjeFaktur.Form.TowarID = 5
    Me.fmPozycjeFaktur.Form.Ilosc = 2
    [/vb]

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *