Avatar billede mugs Novice
17. april 2002 - 20:15 Der er 4 kommentarer og
1 løsning

Loop

Jeg har ca. 2500 poster i formularen, og skal have tildelt feltet "Kampagne" en numerisk værdi, som bestemmes af Inputboksen "A". Inden løkken startes, filtrerer jeg posterne ved Access filtreringsværktøj.
Det fungerer efter hensigten bortset fra, at når jeg når til den sidste post, får jeg fejlen:

Du kan ikke gå til den angivne post.

Uanset om posterne er filtrede eller ej.

Hvis jeg fjerner linien "DoCmd.GoToRecord o.s.v." opstår fejlen jo ikke, men Access går så heller ikke til næste post.
Jeg kan override fejlen ved en Errorhandler, men det forekommer mig ikke at være en optimal løsning.

Koden ser således ud:
Dim As String
A = InputBox(Prompt:="Indtast kampagnens ID:", Title:="Kampagne")
DoCmd.GoToRecord acForm, "TildelkampF", acFirst
If Kampagne <> A Then
Do
Forms!TildelkampF!Kampagne = A
DoCmd.GoToRecord acForm, "TildelkampF", acNext, 1
Loop While Me.Kampagne <> A
End If
17. april 2002 - 20:18 #1
Hvorfor benytter du ikke bare en Update-forespørgsel i stedet? Den går 100 gange hurtigere og er samtidig fri for fejlsituationer?
17. april 2002 - 20:21 #2
Dim A As String
A = InputBox(Prompt:="Indtast kampagnens ID:", Title:="Kampagne")
docmd.setwarnings false
docmd.RunSQL "Update [NavnPåDinTabel] Set Kampagne = '" & A & "'"
docmd.setwarnings true
Avatar billede mugs Novice
17. april 2002 - 20:39 #3
Thomas > Jeg har ikke brugt en Update fordi jeg ikke kan se skoven for bare træer. Jeg har knoklet med dette i et par dage så jeg er ved at blive sindsyg.

Din kode fungerer perfekt hvis hele tabellen skal opdateres, men det er som regel nødvendigt kun at opdatere en del af posterne, derfor filtrerer jeg.
Kan man indsætte et "Where Kampagne <> A"?
17. april 2002 - 20:48 #4
Dit kriterie gør jo ingen forskel! Du siger bare at den kun skal ændre værdien der hvor den er forskellig i forvejen. Hvis du ikke har kritereit på, så ændre bare dem alle - inklusiv dem, som har værdien A i forvejen. Same difference :o)
Avatar billede mugs Novice
17. april 2002 - 20:56 #5
Tak. Jeg har lavet en opdateringsforespørgsel med [], der beder om en værdi til feltet Kampagne, jeg har derefter indsat et kriterie:

=[Forms]![TildelkampF]![Branche]

I feltet "Branche"
Avatar billede 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. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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