Ich habe ein Formular erstellt, das den "Status" von Projekten für jeden Monat anzeigt. Ich möchte die Spalten-/Kontrollfeldeigenschaften einmal zu Beginn eines jeden Monats aktualisieren (blenden Sie den aktuellen Monat im Laufe des Jahres ein). Da in den kommenden Monaten noch keine Daten vorliegen, habe ich den folgenden Code geschrieben.Durchlaufen Steuerelemente mit bestimmter Benennungsstruktur, um sichtbare Eigenschaft festzulegen
Public Function updateProgressForm()
Dim currentMonth As String
Dim currentYear As Long
Dim txtDate As String
Dim todaysmonth As Long
Dim txtboxMonth As Integer
Dim txtboxName As String
Dim txtboxLabel As String
todaysmonth = Month(Now())
currentMonth = MonthName(todaysmonth, 3)
currentYear = Year(Now())
txtDate = currentMonth & " " & currentYear
DoCmd.OpenForm "IndProgressTracking", acDesign, , , , acWindowNormal
Forms!IndProgressTracking!Month12.ControlSource = txtDate
Forms!IndProgressTracking!Month12Label.Caption = txtDate
For txtboxMonth = 1 To 12 Step 1
txtboxName = "Month" & txtboxMonth
txtboxLabel = txtboxName & "Label"
If IsNull(txtboxName) Then
txtboxName.Visible = False
txtboxLabel.Visible = False
Else
txtboxName.Visible = True
txtboxLabel.Visible = True
End If
Next
txtboxName = "Month1"
Forms!IndProgressTracking.Controls!txtboxName.Visible = True
End Function
Der Teil, der mir einen Fehler gibt, ist die txtboxName.Visible es ungültig Qualifier erklärt. Daher habe ich stattdessen die letzten 2 Zeilen ausprobiert, aber die letzte Zeile (vor der Endfunktion) gibt an, dass sie das Steuerelement, auf das ich mich bezogen habe, nicht finden kann (txtboxName
). Ich habe ein Textfeld und einen Aufkleber für jeden Monat, also ist es nicht eine große Sache, wenn ich jedes einzeln anrufen muss, indem ich den Kontrollnamen benutze, den ich nur hoffen wollte, indem ich die For-Schleife benutze. Irgendwelche Vorschläge sind willkommen!
Dank @HansUp - Ich versuche immer, meinen Code zu testen, auch wenn es nur 1 Zeile ist und manchmal vergessen, die richtigen Referenzen zurück in setzen. –