Avatar billede steber Nybegynder
02. maj 2006 - 19:49 Der er 5 kommentarer og
1 løsning

Sæt value på felt i continous form i VBA.

Jeg forsøger at formulere mit spørgsmål som et forsimplet eksempel:

Jeg har en continous form som baserer sig på en tabel med fx 3 rækker. Formen har 4 felter som alle er bound til kolonner i den underliggende tabel.
Kolonne 1 er primærnøglen. Kolonne 2 er styk-pris. Kolonne 3 er Antal. Kolonne 4 er Beløb.
Men skulle tro at Kolonne 4 (Beløb) er redundant. Men beløb er en beregning som baserer sig på andet end styk-pris og Antal, og resultatet af beregningen med samme styk-pris og Antal kan ændre sig dag for dag.

Og mit spørgsmål drejer sig netop om hvordan jeg putter resultatet af beregningen i Beløb-feltet (som er bound til den underliggende tabel).
Hvis jeg fx i VBA v.h.a. de rette Events sætter me.beløb = 123, ja så sætter jeg jo Beløb felterne i alle tre rækker til 123 - både i formen og i tabellen.
Jeg kan ikke i VBA opdatere rækken/kolonnen i tabellen, da rækken ikke eksisterer endnu hvis jeg er ved at indtaste en ny række. Desuden vil en sådan løsning give mig en ReQuery-og-GoToRecord sag når tabellen en gang indeholder fx 2000 rækker.

Jeg mener at jeg en gang for "mange" år siden har sat værdien i et felt i VBA (evt. v.h.a. actions/makroer) på den række jeg stod i, men kan ikke huske hvordan. Måske skal jeg bruge action SetValue, men jeg kan ikke finde ud af hvordan jeg skal bruge den. Men det er jo ikke sikkert at det er vejen frem.

Er der nogen som kan give et tip?

M.v.h. og på forhånd tak -
Stefan
Avatar billede fdata Forsker
02. maj 2006 - 20:25 #1
Hvis beløbet kan beregnes v.h.a. en enkel formel, kan du lægge denne i formularens "FørOpdatering" hændelse.
- Tast F4 for at åbne Egenskabsarket og vælg fanen Hændelser.
- Klik i feltet FørOpdatering og derefter på knappen med de 3 punktummer.
- I VBA koden skriver du Me.Beløb = <her indsætter du formlen>
Avatar billede steber Nybegynder
02. maj 2006 - 20:57 #2
Hvilket så desværre sætter Beløb på alle tre rækker. (Hvis formlen til den aktuelle række returnerer 123, så sættes alle rækker til 123.) Så det er ikke hensigten.
Hensigten er at det kun Beløb-feltet i den aktuelle række som sættes.
Avatar billede fdata Forsker
02. maj 2006 - 21:03 #3
Hvis det er rigtigt, er Beløb feltet IKKE bundet til et felt i tabellen!
Avatar billede steber Nybegynder
03. maj 2006 - 19:58 #4
Jeg må jo bare erkende at jeg har fumlet rundt med min test case ... jeg burde selv have opdaget det. Nå, men selvom det måske var et simpelt spørgsmål, så var det en stor hjælp. Tak.
Avatar billede fdata Forsker
03. maj 2006 - 22:09 #5
Velbekomme. Husk at lukke spm.
Avatar billede fdata Forsker
04. maj 2006 - 22:40 #6
Sådan. Tak for point  ;o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester