17. februar 2011 - 15:02Der er
3 kommentarer og 2 løsninger
Opdatere beregnet felt til databasen
Hejsa,
Jeg har følgende stående i Post-Load triggeren til CustTable. Koden virker fint men sætter kun felterne "synligt" dvs. når vi går ind og kigger i kartoteket, er de beregnet korrekt, men når vi går ned i SQL-tabellen, står der stadig 0 i alle felterne. Det er som om at dataene kun eksisterer i en tmp-tabel. Hvordan får jeg den til at opdaterer til SQL-tabellen ? (C5 2008)
På forhånd tak for enhver hjælp.
/Hartvig
IF CustTable.Account THEN SET CustTable.SalesLastYear = 0 SET CustTable.SalesThisYear = 0 SEARCH CustStatistics RENAME Salg USING AcPeriodIdx WHERE Salg.PeriodStart >= MkDate(1,1,Year(PrevYr(&SystemDate))) AND Salg.PeriodStart <= MkDate(31,12,Year(&SystemDate)) AND Salg.Account == CustTable.Account IF Salg.PeriodStart <= MkDate(31,12,Year(PrevYr(&SystemDate))) THEN #Add(CustTable.SalesLastYear, Salg.OrderBalance) ELSEIF Salg.PEriodStart >= MkDate(1,1,Year(&SystemDate)) THEN #Add(CustTable.SalesThisYear, Salg.OrderBalance) ENDIF END ENDIF
Mellem ENDIF og END, kan det være fordi at koden ligger hvor den gør, altså at den skal flyttes et andet sted hen ?
Faktisk skal den i sidste ende slet ikke være i triggeren, men jeg skal finde en måde at køre den på 1 gang i døgnet eller lignende.
Synes godt om
Slettet bruger
19. februar 2011 - 11:01#5
Det er blokken på formen der skal opdateres. Det gøres ved først at skrive #Frm_Change(Custtable,'ON') og der efter #Frm_Commit(Custtable). #Frm_Commit kan undlades, så opdateres Custtable når man forlader formen.
Men der bør ikke ligge kode på POST_LOAD der opdaterer databasen. Koden skal liggen på en database trigger eller en kørsel (som du selv skriver).
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.