Hallo,
vor einigen Tagen wurde bei einigen unserer Firmenrechner ein Update aufgespielt, bei dem die Regionseinstellungen auf China umgestellt wurden. Die Oberfläche er meisten Programme war weiterhin deutsch, aber gerade bei den Access-Datenbanken gab es Ärger, nach jetzigem Kenntnisstand, weil Sonderzeichen im Code verwendet wurden.
Diese habe ich jetzt meines Wissens alle raus. Leider sieht Access das anders, ich bekomme diese Fehlermeldung:2025-09-22 07_42_08-Chat _ Maik Mangels _ Microsoft Teams.png
Private Sub Form_Load()
DoCmd.Echo False
DoCmd.Maximize
Me!Datum = Date
DoCmd.GoToRecord acForm, "Lieferschein", acLast
DoCmd.Echo True
End Sub
Private Sub Form_Open(Cancel As Integer)
Call Druck_verbieten
End Sub
Private Sub Form_Current()
If Me!DSgesperrt = True Then
Me.AllowEdits = False
Else
Me.AllowEdits = True
End If
If Me!DSgesperrt = True Then
Me!BtnSperrOff.Visible = True
Else
Me!BtnSperrOff.Visible = False
End If
If Me!KzRueck = True And (Me!Ruecklieferung <> "" Or Not IsNull(Me!Ruecklieferung)) Then
Forms!Lieferschein!RueckBez.Visible = True
Forms!Lieferschein!Ruecklieferung.Visible = True
Forms!Lieferschein!RueckWeg.Visible = True
Else
Forms!Lieferschein!RueckBez.Visible = False
Forms!Lieferschein!Ruecklieferung.Visible = False
Forms!Lieferschein!RueckWeg.Visible = False
End If
If Me!LAusd = "" Or IsNull(Me!LAusd) Then
Me!LAusd = 2
End If
Me.Refresh
End Sub
Ich habe versucht, den Debugger durch setzen eines Haltepunkts in jeder Sub zum Stoppen zu bewegen, aber die obige Fehlermeldung kommt trotzdem, der Code wird nicht angesprochen.
Was geschieht zwischen DoCmd.OpenForm und den Unterprozeduren?
Auf meinem nicht betroffenen Rechner läuft alles wie gewohnt
Bitte keine Diskussionen über ,,Updates zurückfahren", das läuft alles schon auf einer anderen Ebene. Mich würde nur interessieren, wie ich die obige Fehlermeldung wegbekomme. Was läuft da zwischen den Zeilen im VBA-Code ab?
Gruß
Doming
Zitat von: Doming am September 22, 2025, 07:52:00Diese habe ich jetzt meines Wissens alle raus. Leider sieht Access das anders, ich bekomme diese Fehlermeldung:
Es geht nicht nur um Steuerelemente, die auch im VBA-Code eine Ereignisprozedur haben, sondern um
*alle* Steuerelemente. Dabei bitte im Hinterkopf behalten, dass auch der Formularfu
ß ein Steuerelement ist, und von einem auf Deutsch eingestellten Access automatisch genau so benannt wird. (Analog: Berichtsfu
ß)
Zitat von: Doming am September 22, 2025, 07:52:00Was geschieht zwischen DoCmd.OpenForm und den Unterprozeduren?
Das Klassenmodul des jeweiligen Formular muss erst mal kompiliert werden. Dabei werden Steuerelemente zu Properties des aus der Klasse erstellten Objektes. Genau dort dürfte dann das ß-Problem zuschlagen.
Hallo und danke für die Antwort.
Das mit den Füßen war mir bekannt und der Formularfuß wurde auch einige Male im Code angesprochen. Diese Stellen habe ich mit .Section(Footer) zu korrigieren gehofft. Dass die Controls aber auch angesprochen werden, wenn sie nicht im Code stehen, war mir unbekannt.
Okay, dann bin ich immerhin aus der Fehlerbehebung raus ;D
Hallo,
schon mal mit Total Deep Search von V-Tools versucht? Das durchsucht alle Arten von Objekten:
https://www.skrol29.com/us/vtools.php
Ob es hierbei erfolgreicher ist als Find/Replace, kann ich nicht sagen.
Gruß
Christian