Avatar billede OWB Novice
14. juli 2004 - 15:12 Der er 10 kommentarer og
2 løsninger

Opdatere felt i tabel med beregnet værdi?

Hej.

På en form som har en forespørgsel som kontrolellement kilde, har jeg nogle tekstfelter som delvis udfyldes via indtastninger, og delvis beregnes. Beregningen kan være noget i retningen af =[tabelfelt]/10 indtastet i udtryksgeneratoren, og det virker også fint på formen, men selve feltet i tabellen bliver ikke udfyldt med den beregnede værdi. Hvordan kan jeg lave det, så den gør det?

Jeg har forsøgt med noget der ligner  Update [tabelnavn] Set [feltnavn] = [feltnavn]/10  men det er ikke en gyldig syntaks for udtryksgeneratoren : (

Håber spørgsmålet er formuleret så det er til at forstå mit problem.
14. juli 2004 - 15:17 #1
Der er flere måder at gøre det på, men på formularens BeforeUpdate, kan du lægge en kode, som skriver værdien til feltet:

Me![Dit felt] = [feltnavn]/10
14. juli 2004 - 15:17 #2
...jeg går ud fra, at det er 2 forskellige felter? Og ikke bare det samme felt, som du vil dividere med 10?
Avatar billede OWB Novice
14. juli 2004 - 15:45 #3
Hmm, umiddelbart står feltet tom på både formen, og i tabellen, når jeg tilføjer din kodelinje til formens før opdatering. Jeg går ud fra at kontrolellementkilden til tekstboksen på min form stadig skal referere til det pågældende feltnavn i min forms forespørgsel.?
Avatar billede terry Ekspert
14. juli 2004 - 18:39 #4
I'll take a look at your dB if Thomas says OK!
Avatar billede OWB Novice
15. juli 2004 - 08:19 #5
Er udrejst de næste par dage, så har ikke mulighed for at respondere på eventuelle indlæg.

/ule
15. juli 2004 - 09:10 #6
ok, jeg har ikke selv været på siden mit sidste indlæg her...

Hvis [felt1] skal opdateres med værdien af [Felt2]/10, skal [felt1] være et felt i tabellen og [felt2] skal være et felt i tabellen eller blot et andet beregnet felt i forespørgslen.

På formularens BeforeUpdate lægger du så koden:

Me![felt1] = Me![felt2]/10

I princippet behøver de 2 felter ikke at blive vist på formularen, men hvis de gør, skal de, ganske rigtigt, være bundet til de respektive felter i forespørgslen.
Avatar billede OWB Novice
18. juli 2004 - 17:24 #7
Jeg laver sikkert en eller anden dum fejl, men kan stadig ikke få det til at virke. Kontrolelement kilden for min formular, er som beskrevet tidligere en forespørgsel, som henter data fra to tabeller. Forespørgslen ser sådan ud:

SELECT tblEmne.*, DSum("Mængde","tblEmneRåvare","EmneNr = " & EmneNr) AS Mængde FROM tblEmne;

Og kodeeksemplet du har hjulpet mig til omskriver jeg til:

Me![Vaegt stk] = Me![Mængde] / 1000

Jeg har forsøgt både med og uden felterne repræsenteret på formularen.

Der ud over har jeg prøvet at oprette en ny ekstra dummy formular, med kun en tabel som kontrolelement kilde, og der kan jeg heller ikke få det til at virke.?

Skulle eksisterende poster i tabellen, manglende data i det beregnede felt ikke blive opdateret, eller er det kun efterfølgende nyoprettede poster, der vil være udstyret med data i det beregnede felt?

/ule.
Avatar billede OWB Novice
25. juli 2004 - 14:55 #8
Måske der er andre der skulle have et bud på hvad jeg gør galt?

/ule.
Avatar billede OWB Novice
15. februar 2005 - 20:18 #9
Den er vist for gammel til at jeg kan regne med mere hjælp, prøver igen :-(
15. februar 2005 - 20:26 #10
Hej Ule,

Beklager, at jeg ikke har set dine sidste indlæg før nu.

Men det er korrekt, at koden kun gælder for nye poster eller de poster, som du retter i. Hvis det skal gælde for alle gamle poster, er du nødt til at køre en opdateringsforespørgsel.
Den kan se nogenlunde såleds ud:

Update tblEmne Set [Vaegt stk] = Mængde / 1000 Where [Vaegt stk] is null
Avatar billede OWB Novice
18. februar 2005 - 13:38 #11
Der tog jeg så fejl :-)  Vil få det afprøvet i weekenden eller i løbet af mandag, og skal nok oprette et spørgsmål så du kan få alle dine point. God weekend.
18. februar 2005 - 13:40 #12
I lige måde :o)

Og skidt med de 20 point - bare du får det til at virke! :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