Grzegorz S.

Grzegorz S. Technik metod
logistycznych,
Ficomirrors

Temat: RAPORTY ACC 2007

Wynikiem kwerendy jest raport (etykieta na opakowanie).

1. Jak access ma rozpoznać że ma wydrukować 20 takich samych etykiet jeśli ma zdefiniowane ilość w jednym opakowaniu(5szt) i wartość jednej dostawy(5szt X 20 opakowań = 100szt)?

2. Jak access ma wydrukować ostatnią etykietę z inną ilością niż domyślna w przypadku gdy w dostawie jest jeden niepełny karton?
Monika M.

Monika M. PROGRAMISTA VBA,
Excel, Access,
Outlook, Word -
SZKOLENIA

Temat: RAPORTY ACC 2007

Na razie się odniosę do pierwszego punktu, bo już jest późno.

Potrzebna będzie dodatkowa tabela, nazwę ją tblLicznik.
Trzeba tam umieścić jedno pole o nazwie [Numer], gdzie będą liczby od 1 do (myślę, że tyle wystarczy) 50. Tego numeru będziemy używać jako licznika ilości etykiet do wydruku.

Raport powinien być oparty na kwerendzie z dwóch tabel, np. tabela paczki/opakowania i tblLicznik.
Z pierwszej tabeli bierzemy pola, które mają być na etykiecie, koniecznie jakieś ID paczki, wysyłki itp., a z drugiej bierzemy pole [Numer].
Połączenie tych dwóch niezwiązanych ze sobą tabel spowoduje, że dla każdego ID paczki/wysyłki zostaną przyporządkowane wszystkie numery z tblLicznik.
Czyli mając 10 paczek i 50 numerów w tblLicznik, powinniśmy mieć z kwerendy 500 rekordów.

Raport etykiet powinien być filtrowany do wydruku.
Najlepiej wywoływać wydruk takich etykiet z jakiegoś formularza, gdzie będą odpowiednie pola i określona ilość etykiet do wydruku (pole tekstowe - nazwijmy je [txtIlosc]).
W tym formularzu powinien być przycisk, który wywoływałby drukowanie lub podgląd raportu etykiet. Do przycisku może być przypisany kod VBA albo makro, gdzie wywołamy akcję otwierania raportu etykiet, ale z filtrem wyników.
Filtr określimy przez odpowiedni wpis dla argumentu WhereCondition w VBA albo WHERE w makrze.
Wartość dla argumentu filtra: gdyby np. były to etykiety produktu, paczki, to potrzebne będzie przefiltrowanie na jakieś ID produktu czy paczki, dla której chcemy wydrukować etykiety, z dodatkowym warunkiem "AND" dla numeru.

Przykład:
"[IDPaczki]=" & Me.IDPaczki & " And [Numer]<=" & Me.txtIlosc

W powyższym zapisie uwaga na znaki cudzysłowu w odpowiednich miejscach.
Spowoduje to, że otrzymamy etykietę tylko konkretnej paczki w takiej ilości, w jakiej jest to zdefiniowanie w polu [txtIlosc].

Inny sposób, to skorzystanie z korespondencji seryjnej - drukowanie etykiet w Wordzie poprzez uruchomienie druku w MS Access - przy pomocy makra czy kodu VBA. Tutaj potrzebny byłby szablon etykiet z już wybranymi polami korespondencji seryjnej.Monika M. edytował(a) ten post dnia 06.07.10 o godzinie 19:53



Wyślij zaproszenie do