Thread View: pl.comp.bazy-danych.msaccess
5 messages
5 total messages
Started by Krzysztof Odraki
Thu, 27 Aug 2015 10:36
Access 2013 - Pobieranie danych po wyborze opcji
Author: Krzysztof Odraki
Date: Thu, 27 Aug 2015 10:36
Date: Thu, 27 Aug 2015 10:36
23 lines
1359 bytes
1359 bytes
Mam ma³y problem, utkn±³em w miejscu i nie mam pojêcia jak ruszyæ do przodu. Utworzy³em w Accesie bazê, która zaczytuje dane z programu magazynowego, w tym towar wraz z cenami. Na podstawie kwerendy wybieraj±cej uzyskujê dane takie jak: Nazwa towaru, cena netto1 (PLN), cena brutto1 (PLN), cena netto2 (EUR), cena brutto2 (EUR). Baza, któr± zrobi³em ma mi pomóc w tworzeniu ofert dla klientów. W formularzu g³ównym s± informacje o kliencie, natomiast w podformularzu towary, które wybieram do oferty. Wszystko to dzia³a jak nale¿y z cenami w PLN. Po wybraniu towaru pobierane s± ceny, wpisujê ilo¶æ, udzielam rabatu - wyliczane s± automatycznie ceny i warto¶ci po rabacie. To wszystko widoczne jest w wygenerowanym raporcie. I to dzia³a jak nale¿y W zwi±zku z tym, ¿e niektóry towar mam w EUR, chcia³em tak¿e to uwzglêdniæ w bazie. Doda³em zatem wybór opcji do pozycji w podformularzu - do wyboru ceny PLN lub EUR. Odpowiednio przypisa³em je jako PLN warto¶æ 1 oraz EUR warto¶æ 2. Wybór waluty zapisuje siê w tabeli w zale¿no¶ci od wyboru. I teraz chcia³bym, aby w zale¿no¶ci od wyboru waluty przeliczane by³y ceny i warto¶ci dla ka¿dej pozycji w podformularzu jak i w raporcie. Nie wiem jak to zrobiæ...
Re: Access 2013 - Pobieranie danych po wyborze opcji
Author: MaciejF
Date: Fri, 28 Aug 2015 05:19
Date: Fri, 28 Aug 2015 05:19
29 lines
352 bytes
352 bytes
Wiatm, Ja bym u¿y³ funkcji warunkowej 1) IIF poni¿ej tylko sam pomys³ bez sk³±dni (z palca): IIF(waluta = PLN, Cena1 (funkcja DlookUp), Cena2) Lub 2) Select Case waluta Case PLN PoleCena = Cena 1 Case EUR PoleCena = Cena 2 Case Else Obs³uga innego przypadku End Select Lub 3) Blok IF IF Else End IF Czy o to chodzi³o? MF
Re: Access 2013 - Pobieranie danych po wyborze opcji
Author: MaciejF
Date: Fri, 28 Aug 2015 05:53
Date: Fri, 28 Aug 2015 05:53
11 lines
308 bytes
308 bytes
Konkretniej to w polu Cena Formularza =IIF(Me.Waluta = "PLN", DLookup("[TabelaCeny]", "Cena1", "[NrWyrobu] = " & Me.NrWyrobu), DLookup("[TabelaCeny]", "Cena2", "[NrWyrobu] = " & Me.NrWyrobu)) Nazwy tabel i pól trzeba zmieniæ na w³asne. Napisane dla podania idei. Czy o to chodzi³o? MF
Re: Access 2013 - Pobieranie danych po wyborze opcji
Author: MaciejF
Date: Fri, 28 Aug 2015 06:58
Date: Fri, 28 Aug 2015 06:58
21 lines
515 bytes
515 bytes
Proponuję Ci następującą funkcję, któą trzeba wywołać w zdarzeniu po aktualizacji pola NrWyrobu i Waluta. Function PrzepiszCene IF IsNull(Me.NrWyrobu) Or IsNull(Me.Waluta) Then Exit Function Else IF Me.Waluta = "PLN" Then Me.CenaSp = DLookup("[TabelaCeny]", "Cena1", "[NrWyrobu] = " & Me.NrWyrobu) ElseIf Me.Waluta = "EUR" Then Me.CenaSp = DLookup("[TabelaCeny]", "Cena2", "[NrWyrobu] = " & Me.NrWyrobu) Else Me.CenaSp = 0 End If End Function
Re: Access 2013 - Pobieranie danych po wyborze opcji
Author: "Krzysztof O."
Date: Fri, 28 Aug 2015 15:25
Date: Fri, 28 Aug 2015 15:25
41 lines
1358 bytes
1358 bytes
W dniu pi±tek, 28 sierpnia 2015 15:58:55 UTC+2 u¿ytkownik MaciejF napisa³: > Proponujê Ci nastêpuj±c± funkcjê, > któ± trzeba wywo³aæ w zdarzeniu po aktualizacji pola NrWyrobu i Waluta. > > Function PrzepiszCene > > IF IsNull(Me.NrWyrobu) Or IsNull(Me.Waluta) Then > Exit Function > > Else > > IF Me.Waluta = "PLN" Then > Me.CenaSp = DLookup("[TabelaCeny]", "Cena1", "[NrWyrobu] = " & Me.NrWyrobu) > ElseIf Me.Waluta = "EUR" Then > Me.CenaSp = DLookup("[TabelaCeny]", "Cena2", "[NrWyrobu] = " & Me.NrWyrobu) > Else > Me.CenaSp = 0 > End If > > End Function Dziêkujê wszystkim za podpowied¼. Rozwi±za³em to (z pomoc± kolegi z elektrody) w inny sposób. W formularzu mia³em opcje wyboru waluty, wykorzysta³em ich zdarzenia po aktualizacji. Po wybraniu z pola kombi towaru lub wpisaniu ilo¶ci towaru lub wybraniu opcji waluty PLN lub EUR, w procedurze zdarzenia AfterUpdate wywo³ywana jest procedura Policz. Sub Przelicz() If Me.Ramka48 = 1 Then Me.opisy_cena = Me.opisy_towar.Column(2) If Me.Ramka48 = 2 Then Me.opisy_cena = Me.opisy_towar.Column(3) End Sub Ramka48 to opcje PLN (warto¶æ 1) lub EUR (warto¶æ 2). W zale¿no¶ci od wyboru waluty z cennika pobierane s± ceny w PLN (kolumna 2 pola kombi wyboru towaru) lub EUR (kolumna 3).
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads