30. august 2010 - 12:18Der er
9 kommentarer og 1 løsning
Rette alle poster i fortløbende formular
Jeg har en fortløbende formular, der har et felt (ja/nej) - chkFiltre. Når jeg opdaterer feltet til "true" indsætter værdien fra et felt (txtServiceID) i en tabel - tblFiler_bestilles.
Jeg kunne godt tænke mig en funktion, hvor jeg kunne opdatere alle chkFiltre felter i formularen og samtidig indsætter ServiceID i tabellen.
Jeg har kigget på flere mulige løsninger på eksperten, men har ikke kunnet få dem til at virke.
Det virker ikke helt. i tblFilter_bestilles er der kun eet felt - nemlig feltet med Service_ID.
Det betyder, jeg skal indsætte en post med service_ID, hvis jeg sætter chkFiltre = true og hvis jeg vælger at slette skal posterne i tblFilter_bestilles slettes!
Jeg har tilrettet til dette, men den spørger om jeg vil opdatere en post og derefter løber den i en uendelig løkke, hvis jeg svarer ja.
Det skal lige siges, at jegh har placeret koden på en ubundet ja/felt ved navn Afkrydsningsfelt517
DoCmd.GoToRecord acForm, "frmBestilling_filtre", acFirst Do Until Me.NewRecord = True Me.chkFiltre = True DoCmd.RunSQL "update tblFilter_bestilles Set Service_ID =" & Me.txtService_ID Loop
Den uendelige løkke skyldes, at du ikke får fomrmularen til at gå til næste post. Spørgamålet om du vil opdatere kan vi komme udenom, ved at indsætte en false til Warnings.
Docmd.SetWarnings False DoCmd.GoToRecord acForm, "frmBestilling_filtre", acFirst Do Until Me.NewRecord = True Me.chkFiltre = True DoCmd.RunSQL "update tblFilter_bestilles Set Service_ID =" & Me.txtService_ID DoCmd.GoToRecord acForm, "DIN FORM", acNext Loop Docmd.SetWarnings True
Huskm altid at sætte warnings til true igen, ellers forbliver de frakoblede i hele applikationen.
at den kun skal udføre løkken indtil NewRecord er = True.
Men prøv denne:
Docmd.SetWarnings False DoCmd.GoToRecord acForm, "frmBestilling_filtre", acFirst On error GoTo errorhandler Do Until Me.NewRecord = True Me.chkFiltre = True DoCmd.RunSQL "INSERT INTO tblFilter_bestilles(Service_ID) VALUES('" & Me.txtService_ID & "');"DoCmd.GoToRecord acForm, "DIN FORM", acNext Loop Docmd.SetWarnings True Errorhandler: If err.Number = 2046 Then Exit Sub End If
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.