Helge Fechner
2007-09-15 17:38:47 UTC
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
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