29. juli 2003 - 09:08Der er
13 kommentarer og 1 løsning
Opdatere værdier for hver record i fortløbende form
Jeg har en form+subform hvor jeg lister en række records - hver record har et felt "ExpirationDate" og når jeg på formen taster en dato vil jeg gerne have udregnet differencen mellem den tastede dato og alle "ExpirationDate"'s i den fortløbende subform - jeg har lavet et unbound-felt i subformen, men jeg får skrevet den samme værdi i alle felterne, selvom datoerne er forskellige:
Private Sub btn_CalcDate_Click() Me.Remaining = (Me.Expiration - Me.Text23) End Sub
Skal det ind i en form for løkke, for at få det gentaget for alle records, eller hur?
Brug af AI afslører de svagheder, virksomheder allerede har opbygget gennem års cloud-transformation, nye SaaS-løsninger og fragmenterede sikkerhedssystemer.
You could make the calculation in a query then us the query as the record source for your sub form. Then add an extra field to the detail.
If you enter the ExpirationDate on the main form then you could also get the query to use this field but you will need to requery the sub form IF you alter the value on the main form. You may also need to give the field a default value or you may get an error if the field is empty.
Umiddelbart er jeg størst tilhænger af dit første forslag, men resultatet skrives kun for den 1. record - kan du hjælpe mig med en while/for-løkke, så jeg kommer gennem alle records?
Jeg har pt. indtastningsfeltet (me.Text23) i subformens header. Me.Expiration er den ExpirationDate der er for hver record. Me.Remaining skal være differencen for mellem de to for hver record.
Xactly! Jeg får en #name? fejl, når jeg sætter ovenstående ind i Remainings Control source... Er det fordi Me.Text23 som udgangspunkt er Null indtil man har tastet en dato og trykket på knappen "Calculate!" (Calculate udfører en Me.Recalc)
It sure does! Tak for hjælpen. Ved nogle regnefunktioner står Access og tænker i lang tid, uden man kan gøre noget - kan man evt åbne en boks midt på skærmen, hvor der står "Calculating - Please wait"? Jeg ved godt at der står Calculating nede på statusbaren i venstre hjørne, men brugerne er sjældent klar over dette.
If you can locate the line of code which is geting performed then you could make a little form which looks like a msgbox and open that BEFORE the line of code and then close the little form AFTER the line of code. Thats about all I can suggest
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.