[Access] Page up en down blokkeren

Pagina: 1
Acties:

  • DDemolition
  • Registratie: Augustus 2003
  • Laatst online: 19-05 07:07

DDemolition

slopen is mijn lust en leven

Topicstarter
Hoi,

Ik ben een formulier in access aan het maken. Dit formulier hoeft slechts één record toe te voegen aan de database. daarna is het een kwestie van opslaan of cancel (docmd.close of me.form.undo)

Als je nu op page up of page down drukt wordt het huidige record opgeslagen en weer een nieuw record aangemaakt. Dit met het scrollwieletje hetzelfde.
Hoe kan ik dit tegengaan?

gegevensinvoer staat al op ja en heb het nodige al aangepast
Dit werkt ook niet echt:
Visual Basic:
1
2
3
4
5
6
7
8
Private Sub Form_Load()
    Me.AllowAdditions = False
End Sub

Private Sub cmdClose_Click()
    Me.AllowAdditions = True
    docmd.close
End Sub

Had al zitten denken om alle value op te halen van de tekstboxjes en vervolgens uit laten voeren in een SQL commando, maar dit is denk ik een beetje te omslachtig... (dit zijn er een stuk of 20 en moet nog een stel meer van deze formulieren maken :Y)

Specs: Server, WS boven, WS beneden


  • DDemolition
  • Registratie: Augustus 2003
  • Laatst online: 19-05 07:07

DDemolition

slopen is mijn lust en leven

Topicstarter
schopje...
m'n leraar wist 't ook niet.. |:(

Specs: Server, WS boven, WS beneden


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Varaibele aanmaken, en waarde toewijzen aan 'cancel' 'in het beforeupdate() event van het form.

Die variabele kun je dan weer manipuleren dmv de OK button en/of in het form_close event.

code:
1
2
3
4
5
6
7
8
9
Private Sub Form_BeforeUpdate(Cancel As Integer)
    Cancel = Not FlagContinue
    FlagContinue = False
End Sub

Private Sub cmdOK_Click()
    FlagContinue = True
    [etc]
End Sub

offtopic:
overigens maak je meer kans op een antwoord als je accessvragen in Officesuites en -software plaatst

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • pasta
  • Registratie: September 2002
  • Laatst online: 18-08 23:05

pasta

Ondertitel

Signature


  • googhum
  • Registratie: April 2003
  • Laatst online: 17-05-2022
Heb dat ook ooit eens opgelost door eerst een nieuwe record aan te maken, en deze vervolgens te openen om te editen. Lekker omslachtig, maar werkte perfect. Beetje vreemd dat je dit idd niet kan instellen op je formulier. |:(

  • DDemolition
  • Registratie: Augustus 2003
  • Laatst online: 19-05 07:07

DDemolition

slopen is mijn lust en leven

Topicstarter
Niesje schreef op woensdag 05 oktober 2005 @ 12:35:
Varaibele aanmaken, en waarde toewijzen aan 'cancel' 'in het beforeupdate() event van het form.

Die variabele kun je dan weer manipuleren dmv de OK button en/of in het form_close event.

code:
1
2
3
4
5
6
7
8
9
Private Sub Form_BeforeUpdate(Cancel As Integer)
    Cancel = Not FlagContinue
    FlagContinue = False
End Sub

Private Sub cmdOK_Click()
    FlagContinue = True
    [etc]
End Sub
Kun je een kleine hint geven wat ik verder moet doen? Snap het stukje code wel op dit na:
Cancel = Not FlagContinue
vervolgens wordt 'FlagContinue' 'False', op het close event zet ik 'm weer op true.
en dan schiet mijn programmeerkennis tekort :)

[ Voor 13% gewijzigd door DDemolition op 06-10-2005 21:19 ]

Specs: Server, WS boven, WS beneden


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

'FlagContinue' is een variabele op formulier niveau, die initieel 0 (false) is. Drukt een gebruiker op page/down, volgend record, whatever, dan wordt door 'cancel=not flagcontinue' het beforeupdate geannuleerd, m.a.w. er gebeurt niks. Door in de eventprocedure van je button(s) flagcontinue op -1 te zetten kan het BeforeUpdate_event wel aflopen.

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • DDemolition
  • Registratie: Augustus 2003
  • Laatst online: 19-05 07:07

DDemolition

slopen is mijn lust en leven

Topicstarter
Jaja,
Het werkt perfect!
Heb 'FlagContinue = False' in Form_Load() gezet, zodat deze tijdens het laden al een 'False' waarde krijgt.
Alles wordt nu netjes afgevangen _/-\o_
Bedankt voor de strakke oplossing!

Specs: Server, WS boven, WS beneden

Pagina: 1