Hallo,
Meine Erreignisprozedur funktioniert nicht mehr, nachdem ich von .mdb auf .mde konvertiert habe...Ich dachte der VBA Code wird kompiliert, sieht aber so aus als ob er entfernt wird?
Mach ich da was falsch oder verstehe ich da was falsch?
Danke
Hallo,
bei einer MDE wird der VBA Code kompiliert und anschließend entfernt. Der ist weg, an den kommt auch der Entwickler nicht mehr. Daher ist es wichtig, die passende MDB immer gut aufzubewahren.
Lässt sich in der MDB der Code fehlerfrei kompilieren?
ZitatVBA Editor >Debuggen >Kompilieren
Das ganze liess sich fehlerfrei kompilieren...
Da ich aber auch vermutet habe, daß es an der Kompilierung, habe ich überflüssigen Code entfernt. Danach ging`s. Komisch nur, wenn Du mal beide Varianten vergleichst:
Vorher:
Private Sub Form_Current()
Dim lngWhite As Long
lngWhite = RGB(255, 255, 255)
If Me.NewRecord = True Then
'hier der Code der bei einem neuen Datensatz gilt
essDatum.ShowDatePicker = 1
essDatum.BackStyle = 0
essDatum.Locked = False
'essDatum.BackColor = lngWhite
Else
'hier der Code der bei einem existierendem Datensatz gilt
essDatum.ShowDatePicker = 0
essDatum.BackStyle = 1
essDatum.Locked = True
End If
End Sub
Nachher:
Private Sub Form_Current()
If Me.NewRecord = True Then
'hier der Code der bei einem neuen Datensatz gilt
essDatum.ShowDatePicker = 1
essDatum.BackStyle = 0
essDatum.Locked = False
Else
'hier der Code der bei einem existierendem Datensatz gilt
essDatum.ShowDatePicker = 0
essDatum.BackStyle = 1
essDatum.Locked = True
End If
End Sub
Verstehe jetzt nicht, warum die erste Variante nicht funktioniert?
Hallo,
bin nicht sicher, aber es könnte sein, dass die MDE den RGB Befehl nicht kennt. Weise mal den Farbcode für Weis direkt zu.
lngWhite = 16777215
Hallo!
Die mde kennt alle Befehle, die auch eine mde kennt - denn beide kennen keine Befehle sondern beinhalten im Prinzip nur "Befehle" für die Access (egal ob Vollversion oder Runtime). ;)
In einer mde können aber einige Anweisungen nicht mehr ausgeführt werden. So wird z. B. docmd.OpenForm ..,acDesign zu einem Fehler führen.
Ansonsten sollte man meiner Ansicht nach eine mde nicht mit der Access-Runtime gleichsetzen.
Zu "funktioniert nicht mehr":
Vielleicht funktioniert der erste Code mittlerweile wieder.
Vielleicht wurde die mde auch auf einem anderen PC getestet und dort gab es dann ein Problem mit den Verweisen. Das könnte ein Grund sein, warum die RGB-Funktion nicht gefunden wurde. Vielleicht fehlt auch nur die Aktivierung der Ereignisbehandlung.
Welche Fehlermeldung kam eigentlich? Oder wie machte sich das "nicht funktionieren" sonst bemerkbar?
mfg
Josef