14. juli 2004 - 15:12Der 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.
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
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.?
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.
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?
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
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.
Og skidt med de 20 point - bare du får det til at virke! :o)
Synes godt om
Ny brugerNybegynder
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.