in welcher Reihenfolge wird eine Control-Auflistung mit for each durchlaufen?

15/09/2007 - 19:38 von Helge Fechner | Report spam
A2003, SP2

Hallo Gemeinde,


Hintergrund:

In einem Formular muß ich die controls durchlaufen und Werte zuweisen.
Die Controls sind jeweils mit _xx benannt, xx steht für eine Zahl von 01 -
50.
Beispiel:

t_01
abholung_01
R_beginn_01
R_Ende_01

t_02
usw.

Ich habe zwei Zàhler, einmal i für die Datenfelder und clt_zaehler, um den
Index für die Controls zu bestimmen


i = 1
ctl_zaehler = 0
Me!form_close.SetFocus
For Each ctl In Me.Controls
If ctl.ControlType = acCommandButton Or ctl.ControlType =
acTextBox Then

If Right(ctl.Name, 2) = Format(CStr(i), "00") And
Left(ctl.Name, 1) = "t" Then
Me.Controls.Item(ctl_zaehler).Caption =
teppichnummer(i)
End If

If Right(ctl.Name, 2) = Format(CStr(i), "00") And
Left(ctl.Name, 2) = "ab" Then
Me.Controls.Item(ctl_zaehler).ControlSource =
auftragsdatum(i)
End If

If Right(ctl.Name, 2) = Format(CStr(i), "00") And
Left(ctl.Name, 3) = "R_b" Then
Me.Controls.Item(ctl_zaehler).ControlSource =
reinigungsbeginn(i)
End If

If Right(ctl.Name, 2) = Format(CStr(i), "00") And
Left(ctl.Name, 3) = "R_E" Then
Me.Controls.Item(ctl_zaehler).ControlSource =
reinigungsende(i)
i = i + 1
End If
End If
ctl_zaehler = ctl_zaehler + 1
Next ctl


die Reihenfolge ist durchlaufend vergeben (im Beispiel mit [x] angegeben,
somit müsste es eigentlich mit t_1 [0] beginnen dann abholung_01 [1] ,
R_beginn_01 [2] , R_Ende_01 [3] - soweit ist es ok.
Dann geht es aber nicht mit t_2 [4] weiter, sonder mit t_3 [8] . Und damit
kommt die gesamte Reihenfolge durcheinander.


Wenn die vergebene Reihenfolge nicht relevant ist, was kann ich dann tun?


mfg

Helge
 

Lesen sie die antworten

#1 Thomas Möller
15/09/2007 - 21:00 | Warnen spam
Hallo Helge,

Helge Fechner schrieb:
In einem Formular muß ich die controls durchlaufen und Werte zuweisen.
Die Controls sind jeweils mit _xx benannt, xx steht für eine Zahl von
01 - 50.
Beispiel:

t_01
abholung_01
R_beginn_01
R_Ende_01

die Reihenfolge ist durchlaufend vergeben (im Beispiel mit [x]
angegeben, somit müsste es eigentlich mit t_1 [0] beginnen dann
abholung_01 [1] , R_beginn_01 [2] , R_Ende_01 [3] - soweit ist es ok.
Dann geht es aber nicht mit t_2 [4] weiter, sonder mit t_3 [8] . Und
damit kommt die gesamte Reihenfolge durcheinander.



IMHO ist die Reihenfolge abhàngig von der Reihenfolge, in der die
Steuerelemente auf das Formular eingefügt worden sind.


Wenn die vergebene Reihenfolge nicht relevant ist, was kann ich dann
tun?



Wahrscheinlich hilft Dir so etwas hier:
www.donkarl.com?FAQ6.5


HTH
Thomas

Homepage: www.Team-Moeller.de

Ähnliche fragen