VBA Code GoToRecord

Status
Niet open voor verdere reacties.

Rick Kock

Gebruiker
Lid geworden
11 mei 2006
Berichten
16
Hallo,

Ik heb een scriptje gemaakt waarmee ik via een input veldje en een knop een formulier kan openen waarna het naar het ingevoerde record ID

DoCmd.OpenForm "Bekijk"
DoCmd.GoToRecord acDataForm, "Bekijk", acGoTo, Me.record_id

Dit alles gaat goed totdat ik een record verwijder (heb nu record: 1,2,6) als ik nu intyp: 1 krijg ik record 1 bij 2 krijg ik 2 maar zodra ik 6 invul dan krijg een melding met "Kan niet naar opgegeven record gaan."

Als ik dit tijdelijk dit script gebruik

DoCmd.OpenForm "Bekijk"
DoCmd.GoToRecord acDataForm, "Bekijk", acGoTo, "6"

dan is er geen probleem.

Wat kan ik hier aandoen?

Alvast Bedankt,

Rick
 
Waarom zo moeilijk met een record nummer?
Je kunt rechtstreeks filteren met de OpenForm methode.

expression.OpenForm(FormName, View, FilterName, WhereCondition, DataMode, WindowMode, OpenArgs)

Hiervoor gebruik je de parameter WhereCondition.
Hierin zet je een string Veldnaam = waarde.
Het is de WHERE conditie van het SQL statement waar het formulier op gebaseerd is zonder het woordje WHERE.

De wijze waarop jij het doet betekent dat access inderdaad de mist ingaat. Access gaat namelijk naar de recordnummers kijken (alleen intern beschikbaar) en die kloppen niet meer als je records verwijderd.
 
Bartuls zei:
expression.OpenForm(FormName, View, FilterName, WhereCondition, DataMode, WindowMode, OpenArgs)

Hiervoor gebruik je de parameter WhereCondition.
Hierin zet je een string Veldnaam = waarde.
Het is de WHERE conditie van het SQL statement waar het formulier op gebaseerd is zonder het woordje WHERE.

Ik heb dit geprobeerd maar begrijp geloof ik niet helemaal wat je bedoeld kan je een voor beeldje gegeven?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan