Msgbox in Kontextmenü-Funktion 3x

30/10/2008 - 12:29 von Jürgen Volke | Report spam
Hallo NG,

ich habe in einem Formular in diversen Textfeldern ein Kontextmenü
eingerichtet.
Ein Eintrag im Kontextmenü ruft folgende Funktion auf:

Public Function fktTextÄndern()
Dim strWhere As String
Dim intTag As Integer
intTag = Screen.ActiveControl.Properties("Tag")
If intTag > 0 Then
strWhere = "Id = " & intTag
DoCmd.OpenForm "frmMeinForm", , , strWhere, , , True
Else
MsgBox "Bitte erst Haken setzten!"
End If
End Function

Hat das Feld einen Tag > 0 wird richtigerweise das Formular frmMeinForm
aufgerufen.
ist der Tag 0, wird die MsgBox insgesamt 3 mal ausgegeben. Einmal reicht
eigentlich :-)

woran könnte das liegen??

Gruß Jürgen
 

Lesen sie die antworten

#1 Karl Donaubauer
30/10/2008 - 12:58 | Warnen spam
Hallo, Jürgen!

Jürgen Volke wrote:
ich habe in einem Formular in diversen Textfeldern ein Kontextmenü
eingerichtet.
Ein Eintrag im Kontextmenü ruft folgende Funktion auf:

Public Function fktTextÄndern()
Dim strWhere As String
Dim intTag As Integer
intTag = Screen.ActiveControl.Properties("Tag")
If intTag > 0 Then
strWhere = "Id = " & intTag
DoCmd.OpenForm "frmMeinForm", , , strWhere, , , True
Else
MsgBox "Bitte erst Haken setzten!"
End If
End Function

Hat das Feld einen Tag > 0 wird richtigerweise das Formular
frmMeinForm aufgerufen.
ist der Tag 0, wird die MsgBox insgesamt 3 mal ausgegeben. Einmal
reicht eigentlich :-)

woran könnte das liegen??



Der 3malige Aufruf ist ein alter Bug, der oft mit Menüs,
aber auch mit Eval() auftritt. Normalerweise reicht es dann,
aus der aufgerufenen Sub oder aus dem Makro eine Funktion
zu machen. Die hast du aber bereits vorliegen.

Liegt die Funktion in einem Standardmodul?
Also ganz normaler Aufruf über =fktTextÄndern() bei OnAction?

Ich vermute, dass die ganze Funktion 3mal aufgerufen wird,
also auch 3mal OpenForm etc. Prüfe das mal und baue dann
z.B. eine statische Zàhlvariable ein oder dergl.

cu
Karl
********* Ich beantworte keine Access-Fragen per Email. *********
Access-FAQ: http://www.donkarl.com

Ähnliche fragen