Access: Der Code enthält einen Syntaxfehler, …

Es ergab sich folgende Situation: Ich habe eine neue Microsoft Access Datenbank erstellt, ein leeres Formular im Entwurfsmodus geöffnet und anschliessend ein Kombinationsfeld auf das Formular gezogen. Im Normalfall sollte sich nun ein Assistent öffnen und mir bei der Erstellung des Steuerelementes unter die Arme greifen – nicht so an diesem Tag. Es erschien folgende Fehlermeldung: “Der Code enthält einen Syntaxfehler, oder eine benötigte Microsoft Access-Funktion ist nicht verfügbar.”

Messagebox mit Access Fehlermeldung
Fehlermeldung beim Versuch ein Kombinationsfeld auf ein Formular zu ziehen

Also mal schnell gegoogelt und natürlich nichts gescheites gefunden. Ein paar Leute hatten zwar das gleiche Problem aber niemand eine Lösung…

Der Code enthält einen Syntaxfehler

“Der Code enthält einen Syntaxfehler” – Hä? Wohl kaum, vor ein paar Woche hat noch alles funktioniert. Und auch der Hinweis, dass eine benötigte Access-Funktion nicht verfügbar sei, ist wohl eher irreführend. Ich tippe (mal wieder) auf irgendwelche Sicherheitseinstellungen. Also mal schnell die Einstellungen für das Trust-Center geöffnet:

Dialogbox der Access-Optionen
Microsoft Access Dialog “Option”
Dialogbox des Trust Centers von Access
Microsoft Access Trust Center Einstellungen

Und siehe da: Wenn man unter “Makroeinstellungen” den Punkt “Alle Makros, außer digital signierten Makros deaktivieren” abwählt und stattdessen “Alle Makros aktivieren (nicht empfohlen, weil potentiell gefährlicher Code ausgeführt werden kann)” aktiviert, beschwert sich Access nicht mehr über Syntaxfehler im Code. Obacht: Eventuell muss man Access einmal neu starten, damit die Änderungen wirksam werden.

Könnte es sein, dass die Signatur des Assistenten nicht mehr gültig ist und Microsoft “vergessen” hat, diese zu aktualisieren?

Erschreckend

Ich finde es ziemlich erschreckend, wie oft ich in den letzten Jahren schon Probleme mit den Sicherheitseinstellungen hatte. Mal gab es Probleme beim Importieren von Daten, dann streikte der Tabellenverknüpfungsmanager. Und immer wieder diese Fehlermeldungen, die zum Teil völlig irreführend sind und, wie man dem obigen Text entnehmen kann, mit dem eigentlichen Problem nichts zu tun haben.

Wie man sehen kann, hat Microsoft in dem Bemühen, die Office-Produkte sicherer zu machen, leider immer wieder neue Baustellen aufgemacht. Schade, denn eigentlich ist die Access-Datenbank eine sehr gelungene Sache.


VB.net: Datum als optionales Argument übergeben

Problem: Ich habe in VB.net eine Funktion oder eine Prozedur und möchte ein Datum als optionales Argument übergeben. Nichts einfacher als das (dachte ich… )

Lösung:

Private Sub foo(Optional Datum as Date = CDate("01.01.1901") )

Problem: Nein, doch keine Lösung, denn die IDE meckert über das Datum:

Fehler BC30060: Eine Konvertierung von "String" in "Date" kann in einem konstanten Ausdruck nicht durchgeführt werden.

Lösung: Ok, es gibt doch die Funktion <MinValue> für Datumswerte, das müsste doch gehen

Private Sub foo(Optional Datum as Date = Date.MinValue)

Problem: Grrrrr, geht auch nicht:

Fehler BC30059: Konstanter Ausdruck erforderlich.

Lösung: Wie wäre es denn mit <Nothing>?

Private Sub foo(Optional Datum as Date = Nothing)

Jupp, das funktioniert! Jetzt noch schnell der Vergleich mit <Is Nothing> und es läuft.

If Datum Is Nothing Then...

Problem: Doch halt – was ist das?

Fehler BC30020	'Der Is-Operator akzeptiert keine Operanden vom Typ "Date". Die Operanden müssen Referenztypen sein oder Typen, die NULL-Werte zulassen.

Lösung: In diesem Fall kann man tatsächlich mit < = > abfragen.

If Datum = Nothing Then...

Intern setz VB.net das Datum auf den 01.01.0001 aber Nothing ist so clever und akzeptiert den Wert. Problem tatsächlich gelöst.


Wieviel Gigabyte passen in ein Gramm DNA?

Unglaubliche 100 Milliarden Gigabyte passen in 1 Gramm DNA.

Weiterlesen

Telefonieren mit 1&1 in Zeiten von Corona

Sie haben eine Telefonflatrate ins deutsche Festnetz und wollen teleonieren? Sehr gut! Sie sind Kunde bei 1&1? Das könnte in Zeiten von Corona Probleme geben…

weiterlesen

VirusTotal

Sie haben eine Mail erhalten und im Anhang befindet sich z.B. eine Word-Datei. Jetzt sind Sie sich nicht sicher, ob Sie das Word-Dokument öffnen sollen oder nicht. Versuchen Sie doch mal mit VirusTotal.

weiterlesen

Gemeindeblatt Höhenkirchen-Siegertsbrunn

Mein Lebensmittelpunkt verlagert sich seit 3 Jahren von Frankfurt (Altenstadt/Hessen) immer mehr nach Oberbayern und hier speziell nach Höhenkirchen-Siegertsbrunn. Gerne lese ich hier auch das Gemeindeblatt. Was ich nicht wusste: Das gibt es auch Online! Habe ich über die Facebook-Gruppe Dorfleben in Höhenkirchen Siegertsbrunn und Umgebung erfahren. Allerdings gibt es online keine schöne Übersicht und so habe ich mir die Mühe gemacht, die Links zu allen Heften aus den letzten 2 1/2 Jahren mal übersichtlich zur Verfügung zu stellen. Viel Spaß damit!

weiterlesen

Eine Webseite per Knopfdruck aus einer Microsoft Access Datenbank erstellen

Wer kennt das nicht: Da hat man seine Daten digitalisiert, ist unterwegs und kommt nicht dran… Wie wäre es, wenn man eine Webseite einfach per Knopfdruck erstellen könnte? Zum Beispiel einfach aus einer Microsoft Access Datenbank heraus?

weiterlesen

Aktivitäten ausserhalb der Datenkrake Facebook

Es ist ja immer wieder die Rede von Facebook als Datenkrake. Doch wie schlimm ist es wirklich? Noch schlimmer! Wenn Sie wissen wollen, von welchen Firmen Facebook Informationen über Sie erhält, dann lesen Sie weiter.

weiterlesen

Schwarzmalerei – Darkmode in Windows 10 aktivieren

Der sogenannte Darkmode ist ja momentan in aller Munde und hat sogar in Windows 10 Einzug gehalten. Aber was ist der Darkmode überhaupt und wie kann man diesen in Windows 10 aktivieren?

weiterlesen

Upgrade von Windows 7 auf Windows 10

Der Support für Windows 7 läuft im Januar 2020 ab. Das heißt: keine (Sicherheits-) Updates mehr. Es ist aber immer noch möglich, Windows 7 per Upgrade KOSTENLOS auf Windows 10 umzustellen (Stand: Dezember 2019). Deutschlands führendes Computermagazin c’t stellt hierfür eine sehr ausführliche Anleitung zur Verfügung.

weiterlesen