jestem w trakcie tworzenia makra, które powinno pobrać liczbę z pola liczbowego w formularzu i stworzyć z nim polecenie sql. Makro jest przypisane do przycisku "Dodaj" i uruchamia się przy naciśnięciu go. Niestety po naciśnięciu przycisku w linii "oStatement.setFloat(1, fmtStan.Value)" wyskakuje błąd "Błąd uruchomieniowy języka BASIC. Nie ustawiono zmiennej obiektu." ChatGPT też nie jest w stanie mi pomóc, może ktoś z Was da radę. Makro wygląda następująco:
Kod: Zaznacz cały
Sub Dodaj()
Dim oForms As Object
Dim oForm As Object
Dim oStatement As Object
Dim oField As Object
' Pobierz dostęp do wszystkich formularzy
oForms = ThisComponent.DrawPage.Forms
' Pobierz dostęp do formularza o indeksie 0
oForm = oForms.getByIndex(0)
' Pobierz połączenie do bazy danych
oConnection = ThisDatabaseDocument.CurrentController.ActiveConnection
' Utwórz instrukcję SQL do dodawania wpisu, używając pobranej wartości pola tekstowego
sSQL = "INSERT INTO ""Historia magazynu"" (""Nr. wewnętrzny"", ""Operacja"",""Ilość"", ""Data operacji"", ""Stan przed"", ""Stan po"") VALUES ('1222101001', 'Dodanie', ?, curdate(), '13', '13')"
' Utwórz obiekt instrukcji SQL
oStatement = oConnection.prepareStatement(sSQL)
' Pobierz wartość z pola liczbowego
oStatement.setFloat(1, fmtStan.Value)
' Wykonaj instrukcję SQL
oStatement.executeUpdate()
' Zaktualizuj formularz
oForm.reload()
End Sub