Alle Beiträge zu Microsoft Access

Microsoft Access 2010 IconTipps zu Microsoft Access und VBA

VBA Vorlage für Funktion mit Fehlerbehandlung

Kommentare deaktiviert für VBA Vorlage für Funktion mit Fehlerbehandlung

Microsoft Access VBA Vorlage für Funktion mit Fehlerbehandlung

Mit Hilfe dieser VBA Vorlage für Funktion bauen Sie eine standardisierte Grundstruktur für neue VBA-Funktionen oder Subs für Microsoft Access VBA-Projekte auf. Die Verwendung ist auch in anderen Microsoft Office Programmen, wie Word oder Excel möglich.

Diese Vorlage liefert das Grundgerüst einer Funktion mit Fehlerbehandlung. Kopieren Sie die Zeilen in Ihr VBA-Projekt und ersetzen Sie alle „XXX“ durch den Namen Ihrer Funktion. Für die Verwendung als SUB ersetzen Sie „Function“ in Zeile 1 und in den Zeilen 7 und 23 durch „SUB“.

 

Access 2003 und 2010 gleichzeitig verwenden

Kommentare deaktiviert für Access 2003 und 2010 gleichzeitig verwenden

Access 2003 und 2010 gleichzeitig verwenden

Während der Entwicklung von Datenbanken arbeite ich lieber mit Access 2003 als mit den neueren Versionen. Anders als bei Excel ist die gleichzeitige Verwendung verschiedener Access-versionen nicht möglich.

access-anwendung-1

Was tun?

Wenn Sie auf dem gleichen System Access 2003 und 2010 abwechselnd betreiben, macht Ihnen vermutlich eines der neuen Features von Office 2010 oder neuer einen Strich durch die Rechnung.  Die Systemprüfung und -aktualisierung überschreibt eine Reihe von Registry-Einträgen. Sie erkennen das daran, daß bei jedem Start von Access 2010 das Office-Setup ausgeführt wird.

Der anschließende Start von Access 2003 scheint zu gelingen, es wird aber eine Fehlermeldung ausgegeben. Beim Arbeiten mit der so geöffneten Datenbank funktioniert der VBA-Editor nicht.

Abhilfe schafft das Ausführen einer .reg-Datei mir folgenden Inhalt, bevor Access 2003 gestartet wird.

Wenn vor dem Programmstart von Access 2003 diese Daten wieder in die Registrierung geschrieben werden, funktioniert Access 2003 reibungslos. Die Pfadangaben gelten für Windows 7 Pro 32 bit und müssen gegebenenfalls angepasst werden.

Das gleichzeitige Ausführen beider Versionen ist, im Gegensatz zu Word und Excel, nicht möglich.

Berechnung von Nachtarbeitsstunden mit Access und VBA

Kommentare deaktiviert für Berechnung von Nachtarbeitsstunden mit Access und VBA

Berechnung von Nachtarbeitsstunden mit Access und VBA

In einen Access-Projekt stand die Berechnung von Nachtarbeitsstunden mit Access und VBA als Aufgabe an. Die Nachtarbeitsstunden sollten später gesondert ausgewiesen werden. Bei einer sehr flexible Arbeitszeiteinteilung, mit Unterbrechungen und Mehrarbeitsstunden zeigte sich, daß der Anteil der Nachtarbeitsstunden periodisch sehr unterschiedlich liegen kann.

Die erste Überlegung ging dahin, zu ermitteln, welcher Anteil einer Zeitperiode 1 (Arbeitszeit) sich in einer Zeitperiode 2 (Nachtstunden) befindet.

Dabei fällt auf, daß es 9 verschiedene Möglichkeiten gibt:

 

Berechnung von Nachtarbeitsstunden mit Access und VBA

Nacht MorgensTagNacht AbendsNacht MorgensTag
BeginnEnde
BeginnEnde
BeginnEnde
BeginnEnde
BeginnEnde
BeginnEnde
BeginnEnde
BeginnEnde
BeginnEnde

Mit der folgenden Funktion konnte die Berechnung realisiert werden.

Die Funktion gibt den Anteil Nachtarbeitsstunden in Minuten zurück.

Uhrzeit auf ein festgelegtes Minuten-Intervall runden mit VBA

Kommentare deaktiviert für Uhrzeit auf ein festgelegtes Minuten-Intervall runden mit VBA

Uhrzeit auf ein festgelegtes Minuten-Intervall runden mit VBA

Für die Berechnung von Anwesenheits- oder Arbeitszeiten werden Startzeit, Endzeit, Pausenzeiten oder Unterbrechungen erfasst. Wenn es nicht nötig ist, die erfassten Zeiten minuten-genau zu verarbeiten, wird eine Funktion zum Runden der Zeiten benötigt. Das folgende Beispiel einer Funktion realisiert das Runden nach einem Zeit-Intervall, das mit der Uhrzeit als Funktions-Parameter übergeben wird.

Aufruf: UhrzeitGerundet(Uhrzeit as date; Intervall as interger)

Rückgabe: Uhrzeit als [Date]

Beispiel: UhrzeitGerundet(#24.12.2012 16:10:00#;15) – ergibt 24.12.2012 16:15

Ziffern aus Zeichenketten extrahieren

Kommentare deaktiviert für Ziffern aus Zeichenketten extrahieren

Ziffern aus Zeichenketten extrahieren

Oft müssen Zeichenketten, die überwiegend Ziffern enthalten, wie Zahlen behandelt werden. Um zum Beispiel zu Sortieren oder Nummernbereiche einzugrenzen. Dazu ist es notwendig, die Ziffern aus Zeichenketten zu extrahieren.

Diese Funktion gibt die in Text enthaltenen Ziffernkolonnen zurück, beginnt links und bricht beim ersten Zeichen ab, welches keine Ziffer ist.

 

So lassen sich Postleitzahlen vom Ort trennen, oder Werte von ihren Maßeinheiten.
Bei gemischten Inhalten kann zur Verbesserung der Performance eine Abfrage mit der isnumeric() – Funktion vorangestellt werden.

Straße und Hausnummer trennen mit VBA

Kommentare deaktiviert für Straße und Hausnummer trennen mit VBA

Straße und Hausnummer trennen mit VBA

Sie möchten in Adress-Datensätzen Straße und Hausnummer voneinander trennen und in zwei Felder aufteilen. Mit Access und VBA – kein Problem.

Die Funktion gibt die Position zurück, an der ein Straßenname von der Hausnummer getrennt werden kann. Der Srting wird von rechts Zeichenweise ausgewertet. Beim ersten Auftreten eines numerischen Wertes wird die Hausnummer erkannt. Dadurch werden alphanumerische Zeichen, die nach der Hausnummer stehen, zum Beispiel bei 7a oder 11 Nebeneingang, auch dem Feld der Hausnummer zugeordnet. Innerhalb der Hausnummer sind noch Leerzeichen und die Zeichen „-“ und „/“ erlaubt. Die Stelle, wo die Funktion auf ein weiteres nicht-numerisches Zeichen trifft, wird als letztes Zeichen der Straße definiert.

Aufruf: ret = split_Strasse_Hausnummer(„Ringstraße 18-20“)
Ergebnis: 10 , also nach dem „e“

Und dann daraus noch die Werte ermitteln:

Microsoft Access – Datum ohne Uhrzeit verwenden

Kommentare deaktiviert für Microsoft Access – Datum ohne Uhrzeit verwenden

Datenfelder vom Typ Datum/Uhrzeit beinhalten in Microsoft Access grundsätzlich Datum und Uhrzeit. Sie benötigen nur das Datum, also  ohne Uhrzeit, zum Beispiel für die Weiterverarbeitung in einer Abfrage, in der sie nach Datum gruppiert werden soll. Der Datentyp soll dabei jedoch nicht geändert werden?

Ein Feld mit dem Datentyp Datum wird in DE immer im Format „TT.MM.JJJJ HH:MM:SS“ gefüllt. Oft wirkt sich die Uhrzeit störend aus, zum Beispiel beim Gruppieren oder bei der Verwendung als Selektor. Die Uhrzeit ist im numerischen Datumsformat der Teil nach dem Komma und kann mit folgender Formel in der Abfrage entfernt werden.