Access Tipps und Tricks
Aus DBWiki
VBA Tipps und Tricks
- Die Beispiele sind durchweg unter Access 97 getestet, funktionieren aber in aller Regel genau so auch unter den Folgeversionen.
- Etliche Workarounds erübrigen sich unter Access 2000, da dort die entsprechenden Funktionen eingebaut sind.
- Viele der Beispiele können auch genau so in Visual Basic bzw. in VBA anderer Anwendungen verwendet werden.
- Bei der Verwendung unter Access 2000 oder höher sind die üblichen Probleme mit Verweisen, speziell im Hinblick auf die Verwendung des DAO-Objektmodells zu beachten (siehe KarlDonaubauer: FAQ 7.1, FAQ 7.11, FAQ 7.12)!
- In Beispielen zur Automation (Excel, Word, Outlook) bzw. bei Beispielen, die Steuerelemente verwenden, müssen die Verweise auf die entsprechenden Objektbibliotheken, OCX- und DLL-Dateien überprüft und ggf. gesetzt werden. (Im Modulentwurf unter Extras / Verweise).
- Die API-Funktionen wurden unter Windows 2000 getestet.
Allgemeine Funktionen
- Bytes vertauschen
- EAN-13 überprüfen / Prüfziffer errechnen
- Gepackte Dezimalzahlen (COMP-3) einlesen
- Aktuelle MDB (automatisch) sichern
String-Funktionen
- Zeichenanzahl ermitteln
- Access 2000 String-Funktionen in Access 97 nutzen
- E-Mail-Adresse aus Textfeld extrahieren
- E-Mail-Adresse auf Gültigkeit prüfen
- Strings rechtsbündig formatieren
- Zeichenkette in Wörter zerlegen
- Ziffern aus Zeichenfolge extrahieren
- Ziffern aus Zeichenfolge entfernen
- Straße und Hausnummer extrahieren
- Zufällige Zeichenfolge erzeugen
- Umlaute ersetzen
- Ersten Buchstaben im Wort groß schreiben
- Eine Zeichenkette aus einem String mit Delimitern extrahieren
- Position des x-ten Vorkommens zurückgeben
Umwandlungsfunktionen
- Gleitkommazahlen in Hexadezimaldarstellung wandeln
- Maßangaben in cm bzw. mm statt in Twips eingeben
- Long-Variable als Ganzzahl ohne Vorzeichen
- Base64-Kodierung und -Dekodierung nach RFC 2045
- EBCDIC nach ASCII konvertieren (und umgekehrt)
- Römische Zahlen
- Standardwerte in Null-Werte wandeln
Datumsfunktionen
- Osterdatum ermitteln
- Weitere Datumsberechnungen (Buss- und Bettag)
- Unix-Systemdatum wandeln
- Datum ins VBA-Datumsformat (SQL-Format) umwandeln
- Umstellungstermin für Sommerzeit-Winterzeit ermitteln
- Datumsformat in den Ländereinstellungen ermitteln bzw. setzen
- Tierkreiszeichen berechnen
Numerische Operationen
- Modalwert ermitteln
- Median ermitteln
- KGV / GGT ermitteln
- Arcussinus und Arcuscosinus
- Minimum, Maximum, arithmetisches Mittel, geometrisches Mittel, Standardabweichung
- Runden in Abfragen
XML-, HTML-Verarbeitung
- XML Einlesen
- Umlaute in HTML-Codes umsetzen
- Long-Farbwert in HTML-Colorwert umwandeln
- HTML-Colorwert in Long-Farbwert umwandeln
- HTML-Tags entfernen
Windows: Fenster, GDI (API-Funktionen)
- Liste aller Schriftarten
- Mauszeiger mit eigenem Icon
- Bildschirmauflösung und Wiederholfrequenz einstellen
- Bildschirmauflösung ermitteln
- Kleine oder große Schriftarten?
- Farbauflösung herausfinden
- Anwendungsfenster zählen
- Windows-Version ermitteln
- Access-Anwendungsfenster minimieren / maximieren
- Accessfenster an Auflösung anpassen
- Alle Fenster einer Anwendungsklasse oder alle Fenster mit einem bestimmten Titel schließen
- Formular mit eigenem Icon versehen
- Taskleiste ausblenden / einblenden
- Titelleiste des Anwendungsfensters verändern
- Download einer Datei aus dem Internet und Import in eine Access-Datenbank
- GUID - Wie erzeuge ich eindeutige Schlüssel
- Ländereinstellungen ermitteln bzw. setzen
Windows: Prozesssteuerung
- Anwendung mit ShellExecute starten
- Prozess starten und auf Beendigung warten
- Programmausführung für einen Zeitraum unterbrechen
- Tastatureingabe für einen Zeitraum blockieren
Andere Anwendungen steuern und abfragen
- Website in die Favoritenliste des MS Internet Explorers eintragen
- Ein Makro aus Access in Excel starten
- Word Tabellen auslesen
- Bestimmtes Verzeichnis im Windows-Explorer öffnen
Datenmodell, Tabellen
- Namen und Pfad der verknüpften Datenbank ermitteln
- Neuverknüpfen des Backends
- Jet-Feldtypen als Zeichenfolge darstellen
- Verweise sichern / restaurieren
- Feldeigenschaften per VBA ändern - auslesen
- Datensatz duplizieren
- Binäre Daten speichern (Dateien)
- Feststellen, ob Tabelle existiert
- Autowert-Feld per VBA-Code erstellen
- Tabellen in einer Abfrage per VBA verändern
- SQL Source durchsuchen
- Zeilen einer Spalte einer Tabelle in kommaseparierte Liste umwandeln
Formulare, Berichte
- Alle Funktionen und Subs in einem Modul ermitteln
- Verweilzeit im Formular ermitteln
- Dauer der Inaktivität im Formular feststellen
- Im Formular feststellen, ob erster/letzter Datensatz erreicht ist
- Im Endlosformular mit den Cursortasten, TAB- und RETURN-Taste bewegen
- Beim Öffnen eines Endlosformulars zu den letzten x Zeilen springen
- Alle Formulare/Berichte schließen
- Aktuelle Datensatznummer / Gesamtzahl der Datensätze
- Inputbox - Unterscheidung von OK und ABBRECHEN
- Bericht nur drucken, wenn Daten vorhanden
- Formular immer im Vordergrund
- Rückgabewert aus Formular
- Schließen des Formulars im Before-Update-Ereignis vermeiden
- Seitenränder von Berichten ändern
- Suchen (Filtern) im Endlosformular
- Komfortable Eingabe im Prozentfeld
- Zu viele Steuerelemente
Handhabung der Datenbank, Zugriffsschutz, Benutzerverwaltung
- Inaktivität in der Datenbank erkennen
- Benutzer der Datenbank ermitteln
- Zugehörigkeit zu einer Benutzergruppe feststellen
Kommunikation: E-Mail
- E-Mails über Outlook versenden
- VCARDS von Outlook einlesen
- E-Mails über Notes versenden
- E-Mails mit Attachments aus Notes auslesen
- Alle Folder einer Notes Datenbank ermitteln
Anwendungsbeispiele
- Einkommensteuer berechnen
- Freie Nummern belegen
- Liste per SQL aufbauen
- IN-Klausel aus Mehrfach-Listenfeld erzeugen
- "vanity numbers" (0700-Nummern)
- Wettkampfzeiten (Hundertstelsekunden)
- Molmasse ("Molekulargewicht") errechnen
- Distanz zwischen zwei Koordinaten berechnen
- Postleitdaten konvertieren
- Anzahl ohne Duplikate
- Laufweite einer Schrift ermitteln (ohne GDI)
Dateien, Verzeichnisse
- UNC-Pfad aus Laufwerksbuchstaben ermitteln
- Kurzen Dateinamen (in 8.3-Notation) ermitteln
- Langen Dateinamen aus kurzem Dateinamen ermitteln
- Exklusiven Öffnungsmodus einer Datei/Datenbank ermitteln
- ASCII-Zeichen in Datei zählen
- Versionsinformation einer Datei ermitteln
- Feststellen, ob ein Laufwerk bereit/beschreibbar ist
- Feststellen, ob ein Verzeichnis vorhanden ist
- Feststellen, ob eine Datei vorhanden ist
- Spezielle Verzeichnisse ermitteln
- Netzlaufwerk verbinden / trennen
- Verzeichnisbaum durchsuchen
- Verknüpfung auf dem Desktop anlegen
- Alle Laufwerke eines Typs ermitteln
- Dateityp einer unbekannten Datei ermitteln
- Verzeichnis mit Unterverzeichnissen anlegen
- Dateien zur Laufzeit kopieren(Back-End)
- Laufwerksbuchstabe einer Datei ermitteln
Netzwerkfunktionen
- Netzlaufwerk verbinden / trennen
- Netzwerknachricht senden (wie mit NET SEND)
- Benutzernamen im Netzwerk ermitteln
- MAC-Adresse ermitteln
Verarbeitung von Textdateien
- Eigenen Textexport schreiben
- Textdatei einlesen
- Text innerhalb einer Textdatei ersetzen
- Textdatei durchsuchen
- Text in Textdatei anfügen