petersen7913 Seniormester
25. januar 2021 - 12:17 Der er 11 kommentarer og
3 løsninger

Hvornår fanger AfterUpdate? Er Dirty eller Change bedre?

Jeg har en tabel med SalesVolume. Når den ændres skal jeg beregne andre felter i andre tabeller.

Jeg har lagt min kode på AfterUpdate, men det ser ud til at den nye værdi ikke er commited ned i tabellen. Jeg har en forespørgsel, der vælger den ændrede værdi og summer den med andre.

Vil det være bedre at lægge beregningerne på OnDirty? OnChange ser ud til ikke at være det rigtige valg.

Pft.
terry Ekspert
25. januar 2021 - 12:47 #1
Nothing is commited to the table until the form.AfterUpdate is fired, you shouldnt update other tables when a field.afterupdate event occures
petersen7913 Seniormester
25. januar 2021 - 13:01 #3
Tak, det er en oversigt, som jeg får meget glæde af.
Så det vil være bedre at lægge min kode på Exit, ser det ud til?
terry Ekspert
25. januar 2021 - 13:18 #4
Exit? Exiting a field wont update the record
terry Ekspert
25. januar 2021 - 13:20 #5
if you need to update other tables after you update a value in the current table, then I think you should wait until you update the record, IE afterupdate of the form
terry Ekspert
25. januar 2021 - 13:21 #6
If you update on control.exit then the user can undo the changes by pressing ctrl, and theat would mean the data in the other tables is now wrong :-(
petersen7913 Seniormester
25. januar 2021 - 13:32 #7
Det lyder rigtigt, tak :)
terry Ekspert
25. januar 2021 - 13:44 #8
selv tak
petersen7913 Seniormester
25. januar 2021 - 13:51 #9
Hm... jeg lægger min kode i form.AfterUpdate.
Men hvordan kan jeg se se hvilke(t) felt, der er ændret. Der er jo ingen grund til at lave genberegninger, hvis Volume-feltet ikke er ændret.
terry Ekspert
25. januar 2021 - 14:09 #10
Just let me test something...
petersen7913 Seniormester
25. januar 2021 - 14:17 #11
Takker, jeg holder en kort kaffepause ;)
terry Ekspert
25. januar 2021 - 14:17 #12
OK, move the code to the BEFORE update event of the form.
Here you can test the fields OldValue

So if Me.YourField isnt the same as MeYourField.OldValue then update other tables
petersen7913 Seniormester
25. januar 2021 - 14:36 #13
Virker perfekt :)
terry Ekspert
25. januar 2021 - 14:47 #14
;-)
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

Opret Preview

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





Premium
Bankdata efter hård kritik af it-sikkerheden fra Finanstilsynet: Vi kan godt genkende kritikken
Interview: Bankdata kan godt nikke genkendende til den række af kritik-punkter, som Finanstilsynet retter mod selskabets it-sikkerhed. Men der er en god forklaring, mener compliance-direktør Lene Weldum.
Computerworld
Spotify på vej med kæmpe satsning: Vil være mere end blot en musikstreamingtjeneste
Svenske Spotify er klar med en række nyheder, der rækker længere end blot lyd.
CIO
Der findes ikke noget vigtigere for din virksomhedskultur end psychological safety
Klumme: Forskningen er entydig: Vidensarbejde er mere effektiv, når du tør stille spørgsmål, rejse kritik og indrømme fejl helt uden frygt for at blive straffet eller gjort til grin. Hvis du ikke har fokus på denne del af din virksomhedskultur, så lever din virksomhed og dine medarbejdere ikke op til deres fulde potentiale.
Job & Karriere
IBM Danmark trækker tilbud om frivillige fratrædelser tilbage for stort antal ansatte: "IBM har taget røven på sine ansatte"
Som led i IBM Danmarks store fyringsrunde fik 130 ansatte grønt lys til at forlade selskabet på en frivillig fratrædelsesordning. Men nu har IBM Danmark trukket det oprindelige tilbud tilbage for størstedelen af de ansatte.
White paper
IDC Nordic Cloud Survey 2020
IDC Nordic Cloud survey blev gennemført i efteråret 2020 med over 200 deltagende virksomheder. Det viser at multicloud er fremtidens løsning for digital infrastruktur blandt nordiske virksomheder. Det skyldes blandt andet en stigende interesse for private cloud løsninger til edge computing og innovation. Samtidig er det tydeligt at hvor de fleste virksomheder før enten brugte public cloud eller private cloud er fremtidens løsning multicloud.