Paweł Wolańczuk

Paweł Wolańczuk Student,
Politechnika
Warszawska

Temat: DLookUp - wyszukiwanie danych z innego rekordu (kryteria)

Witam serdecznie!

Poszukuję pomocy z napisaniem jednej formuły w MS Access. Sprawa wygląda następująco: w formularzu można wpisać dane osób(imię, nazwisko, adres), numer klienta głównego(każda osoba ma taki numer. Jeżeli klient jest podklientem to ma taki sam numer jak klient główny) oraz zaznaczyć kilka innych opcji tak/nie (np. klient, podklient).

Teraz najważniejsza rzecz - chciałbym to scalić z Word'em w celu drukowania (oraz automatyzacji) umów. Wszystko jest fajnie, gdyby nie fakt, że mam podział na klientów i podklientów. W takim przypadku na umowie dotyczącej podklienta potrzebuję danych podklienta (co jest łatwe) oraz niektórych danych klienta (co sprawiło mi już trudność).

Oczywiście, musi to być zrobione w za pomocą formularza, aby nikt nie miał z tym problemu. I tutaj pojawia się moja prośba o pomoc. Potrzebuję napisać funkcję warunkową: w przypadku bycia klientem głównym przepisanie danych osobowych - będzie wtedy występowała redundancja danych, ale w moim przypadku jest to do przeżycia oraz w przypadku bycia podklientem konieczność sprawdzenia danych z innego rekordu w tabeli "Lista". Jak napisać funkcję DLookUp w taki sposób, aby wyszukiwała dane z z innego rekordu tabeli, biorąc pod uwagę powtarzalność danych w polu [numer klienta glownego] ?

Natworzyłem coś takiego, ale oczywiście nie działa i nie potrafię sobie z tym poradzić.

IIf([klient]=PRAWDA; [Imię]; DLookUp("[Imię]"; "[Lista]"; [numer klienta glownego]=&Formularze![Lista]![numer klienta glownego]))

Obstawiam, że coś namieszałem w kryteriach wyszukiwaniu. Czy mógłby ktoś mi z tym pomóc? Bardzo proszę i dziękuję z góry!Ten post został edytowany przez Autora dnia 02.11.14 o godzinie 13:25

Temat: DLookUp - wyszukiwanie danych z innego rekordu (kryteria)

Może to tylko kwestia błędnego sformułowania kryterium w DLookUp - brak ""?
IIf([klient]=PRAWDA; [Imię]; DLookUp("[Imię]"; "[Lista]"; "[numer klienta glownego]=" & Formularze![Lista]![numer klienta glownego]))
Jeśli wartość [numer klienta glownego] jest liczbą, doradzam - na wszelki wypadek - użyć CLng(Formularze![Lista]![numer klienta glownego]). Jeśli jest string - nie zapomnij o apostrofie ', czyli

DLookUp("[Imię]"; "[Lista]"; "[numer klienta glownego]= '" & CStr(Formularze![Lista]![numer klienta glownego]) & "'")



Wyślij zaproszenie do