Leszek Biały

Leszek Biały Usługi wysokościowe.

Temat: powiązanie pomiędzy dwoma polami combi w formularzu

Witajcie.

Piszę do was z prośbą o pomoc ponieważ próbuje próbuje i nic dalej mi nie wychodzi .
Już wyjaśniam w czym problem.

Mamy dwa pola kombi w formularzu do wprowadzania danych:

Jednostka ___________ Kod_jednostki____________

Są to pola combo których źródłem wierszy jest tabela o nazwie Jednostki
„ Jednostka” pobiera tylko dane z kolumny 1 ( czyli ODDZIAL)
„Kod Jednostki” pobiera tylko dane z kolumny 2 ( czyli KOD)

Tabela Jednostki

ODDZIAL KOD
Warszawa 1010
Kraków 0101
Rzeszów 2121
Kielce 0123
Zakopane 0334
Berlin 0554
Londyn 4556

I teraz mój problem , chcę aby to działało tak , jak np. operator zna tylko oddział to wpisuje w polu jednostka np. warszawa , i automatycznie w polu kod wyskakuje kod Warszawy czyli 1010 , bądź w drugą stronę , zna sam kod , wpisuje 1010 i wpisuje się Warszawa. Te dane powinny być spójne –jeśli taki kod to takie miasto bądź odwrotnie

( Makrem tego nie dam rady zrobić bo tych danych w tabeli jest ponad 400 ) także za dużo .Z tego co się oriętuję trzeba napisać zapytanie SQL po aktualizacji każdych z pól . Proszę o pomoc bo pewnie to nic trudnego a moje umiejętności są za małe 
Karol Kowalczyk

Karol Kowalczyk Programista, Marsh
Sp z o.o.

Temat: powiązanie pomiędzy dwoma polami combi w formularzu

Trzeba obsłużyć dwa zdarzenia "AfterUpdate" na dwóch kontrolkach combo.
Mniej wiecej takie kody VBA:
1. Na combo1:
Me.Combo2.value= dlookup("Kod","jednostki","ODDZIAL=" & Me.Combo1.value)
2. Na combo2:
Me.Combo1.value= dlookup("ODDZIAL","jednostki","Kod=" & Me.Combo2.value)
Leszek Biały

Leszek Biały Usługi wysokościowe.

Temat: powiązanie pomiędzy dwoma polami combi w formularzu

Witam , napisałem coś takiego w odpowiednich polach ,

Private Sub Jednostka_AfterUpdate()

Me.Jednostka.Value = DLookup("KOD", "Jednostki", "ODDZIAL=" & Me.Jednostka_kod.Value)

End Sub

Private Sub Jednostka_kod_AfterUpdate()

Me.Jednostka_kod.Value = DLookup("ODDZIAL", "Jednostki", "KOD=" & Me.Jednostka.Value)
End Sub

Ale wyrzuca mi błąd :

( W polu Jednostka)
Run-Time error '3075'
Błąd składniowy ( brak operatora) w wyrażeniu kwerendy 'ODDZIAL='.

(W polu Jednostka_kod)
Run-time error '2471'
Wyrażenie wprowadzone jako parametr kwerendy spowodowało następujący błąd: Warszawa

Co ja tam nie tak zrobiłem ??
Karol Kowalczyk

Karol Kowalczyk Programista, Marsh
Sp z o.o.

Temat: powiązanie pomiędzy dwoma polami combi w formularzu

Powiedzmy że nie uwzgledniłem że to pole typu tekst. Powinno być tak:

Private Sub Jednostka_AfterUpdate()

Me.Jednostka.Value = DLookup("KOD", "Jednostki", "ODDZIAL='" & Me.Jednostka_kod.Value & "'")

End Sub

Private Sub Jednostka_kod_AfterUpdate()

Me.Jednostka_kod.Value = DLookup("ODDZIAL", "Jednostki", "KOD='" & Me.Jednostka.Value & "'")
End Sub



Wyślij zaproszenie do