[access]After_Update op ander form uitvoeren

Pagina: 1
Acties:

  • Boss
  • Registratie: September 1999
  • Laatst online: 09:19

Boss

+1 Overgewaardeerd

Topicstarter
Dacht dat ik Access wel volledig onder de knie had, maar zit nu toch ergens mee waar ik niet uitkom.

Ik heb 2 formulieren, A en B.
Op formulier A staat een textbox met een after-update event. Dat event doet een berekening met de waarde in die textbox en slaat die op in een andere textbox.

Nu wordt de waarde van die textbox op formulier A ingevuld (via code) vanuit formulier B. Hoe kan ik na het drukken op een knop op formulier B het after-update event uitvoeren van de textbox op formulier A?

Iemand enig idee?

Ik kan natuurlijk ook de code van formulier A naar B kopiëren, maar dat is echt het _laatste_ wat ik zou willen proberen.

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.


  • IS128AE
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:24
Is formulier B een sub-form in form A?

[ Voor 15% gewijzigd door IS128AE op 20-02-2004 20:58 ]

ITIL sucks ;-)


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Standaard worden eventprocedures als private gedeclareerd. Maak ze public (=haal private weg en je kunt ze gewoon aanroepen:
in code op formulier b:

forms!forma.textboxz_afterupdate

roept dus de afterupdate routine aan van het textboxZ op forma

Zelf houd ik daar niet van: liever maak ik in een aparte module of in formA een publieke subroutine aan die zowel wordt aangeroepen door het afterupdate_event van de tekstbox als door de knop op form b.

Op form A
code:
1
2
3
4
5
6
7
Public Sub DoeMijnDing()
  ...doe wat je moet doen
End sub

Private Sub Textbox_AfterUpdate()
     DoeMijnDing
end sub


en op form B
code:
1
2
3
private sub CmdKnop_click()
    forms!forma.doemijnding
end sub

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


  • Boss
  • Registratie: September 1999
  • Laatst online: 09:19

Boss

+1 Overgewaardeerd

Topicstarter
En bedankt! Ik had het al geprobeerd door de 'private' weg te halen, maar dat is dus niet helemaal hetzeflde als expliciet 'public' ervoor zetten.

Het enige andere wat ik erover kon vinden op 't web was door via code eerst het control actief te maken (SetFocus) en daarna met SendKeys een enter sturen. Was al niet zo blij met die oplossing!

Omdat de code op Form A al na diverse updates wordt gebruikt, had ik al een aparte sub ervoor gemaakt.

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.