Adam Piętka

Adam Piętka Specjalista
ds.szkoleń

Temat: VBA: problem z dodaniem noweg rekordu

Witam.

Gorąca prośba o pomoc w rozwiązaniu tego z pewnością trywialnego dla większości problemu.

Na formularzu jest przycisk, który ma za zadanie stworzenie nowego rekordu w 2 tabelach (o jeden większego niż najwyższa wartość w kolumnie "nr_rekordu") - pole nr_rekordu w tabelach jest kluczem w formacie (text) i otworzyć formularz z tym nowym wnioskiem z wyświetlonym nowym numerem (nr_rekordu) na formularzu.
Problem w tym, że nowy wniosek jest dodawany do tabel, ale otwary formularz nie otwiera nowego rekordu i w polu _nr_rekordu na formularzu pojawia się wartośc (New)
Dopiero po wprowadzeniu jakiekolwiek zmiany na formularzu (np.wybranie z listy rozwijanej zmiennej) w polu nr_rekordu wskakuje nr nowo stworzonego wniosku.

Kod użyty do tego jest następujący:

Dim dbs As Database
Dim rst, rst2 As DAO.Recordset
Dim strSQL1 As String
Dim strSQL2 As String

Set dbs = CurrentDb()

DoCmd.OpenForm "Form_Wydatki"

DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
IdWniosku = Forms!Form_Wydatki.Form.nr_rekordu.Value
strSQL3 = "INSERT INTO dane1 (nr_rekordu) VALUES(" & IdWniosku & ")"
dbs.Execute strSQL3
strSQL2 = "INSERT INTO dane2 (nr_rekordu) VALUES(" & IdWniosku & ")"
dbs.Execute strSQL2

Drugi problem:

Na stworzonym formualrzu, który zawiera część pól z tabeli z rekordami rekordów w formie (Continuous Forms) na wyświetlanych polach jest zrobiony ON CLICK poniższy kod:

DoCmd.OpenForm "Form_Wniosek"

Forms!Form_Wniosek.Form.Filter = [nr_rekordu] = " & Me.nr_rekordu.Value"
Forms!Form_Wniosek.Form.FilterOn = True

Chodzi o to by po klieknięciu ta pole z wyświetlanym konretnym rekordem otwierał się formularz do edycji z tym właśnie rekordem. Obecnie problem polega na tym, że nie otwiera się kliknięty wniosek tylko dodaje się nowy rekord do tabeli.(Prawdopodobnie związany bezpośrednio z problemem1)

Czy dla powyższych przykładów Data Entry powinno być zaznaczone na Yes czy No ?

Z góry dziękuję za cenne rady.

Pozdrawiam.