Tipps
|
|
| FAQ - Frequently Asked Questions |
| Access-Optionen per VBA einstellen |
| In Access lassen sich per VBA die Access-Optionen auslesen und einstellen. Zum Einstellen und Auslesen werden die Befehle "SetOption" und "GetOption" in Verbindung mit den englischen Bezeichnungen der Optionen verwendet |
| Access-Optionen per VBA einstellen |
| Die Applikationsoptionen von Access lassen sich per VBA schnell und einfach einstellen. Man kann so während der Laufzeit verschiedene Datenbankeigenschaften ändern oder dem Anwender bestimmte Access-Optionen über einen eigenen Dialog zur Verfügung stellen. Zum Einstellen und Auslesen werden die Befehle "SetOption" und "GetOption" in Verbindung mit den englischen Bezeichnungen der Optionen verwendet |
| Access-Zoom-Fenster |
| Das Zoom-Fenster von Access: Access bietet ein Standard-Zoomfenster mit dem man den Inhalt von zu kleinen Textfeldern in einem größeren Fenster zum Editieren anzeigen kann |
| Alternative zum Datentyp "AutoWert" |
| Microsoft Access unterstützt den Datentyp "AutoWert". Ein "AutoWert" erscheint nur einmalig in einer Tabelle und dient dazu einen Datensatz eindeutig zu identifizieren. Alternativ können Sie per VBA einen benutzerdefinierten Autowert erstellen. Im Beispiel wird der benutzerdefinierte Autowert in einer eigenen Tabelle gespeichert, per Funktion ausgelesen und erhöht. Das Beispiel kann leicht um benutzerdefinierte Autowerte für verschiedene Tabellen erweitert werden |
| Alternative zum Datentyp "AutoWert" |
| Microsoft Access unterstützt den Datentyp "AutoWert". Ein "AutoWert" erscheint nur einmalig in einer Tabelle und dient dazu einen Datensatz eindeutig zu identifizieren. Alternativ können Sie per VBA einen benutzerdefinierten Autowert erstellen. Im Beispiel wird der benutzerdefinierte Autowert in einer eigenen Tabelle gespeichert, per Funktion ausgelesen und erhöht. Das Beispiel kann leicht um benutzerdefinierte Autowerte für verschiedene Tabellen erweitert werden |
| Bilddatenbank nur mit Verweis auf Bild-Dateien |
| Bilder in Access zu speichern ist in den meisten Fällen nicht sinnvoll, da die Datenbank schnell sehr groß, unhandlich und fehleranfällig wird. Der FAQ zeigt wie man eine Bilddatenbank mit Access realisiert und dabei nicht das Bild sondern nur den Pfad zum Bild in der Datenbank ablegt und das Bild beim Anzeigen in das Formular nachlädt |
| Dateianhänge über Registry-Keys freischalten |
| Outlookversionen der neueren Generation sind direkt mit einer Attachmentsperre versehen, die es verbietet bestimmte Dateitypen als eMail zu empfangen. Die mitgeschickte Datei befindet sich zwar in der eMail, wird aber von Outlook blockiert und kann nicht gespeichert werden. Einer dieser gesperrten Dateitypen ist *.MDB - eine Access-Datenbank |
| Daten von Works nach Access übertragen |
| Oft kommt es vor, dass man einen bestehenden Datenbestand von Works nach Access übertragen muss. Wenn man unter Access versucht die Daten direkt einzulesen, sucht man vergeblich nach dem entsprechenden Datenformat |
| Datenbankbeziehungen per SQL-Abfrage anzeigen |
| In großen Datenbanken mit vielen Tabellen wird das Beziehungsfenster sehr schnell unübersichtlich. Der Artikel beschreibt wie man die Beziehungen einer Datenbank als Abfrageergebnis ausgibt und sich so einen besseren Überblick verschaffen kann |
| Datenbankobjekte ausblenden/einblenden |
| Viele Datenbankentwickler verstecken einige ihrer Access-Objekte, wie Tabellen, Formulare oder Berichte, einfach indem sie die Objekteigenschaft "Sichtbar" auf "nein" setzen. Solche Objekte verschwinden dann aus dem Datenbankcontainer und werden nicht mehr angezeigt. Es kommt auch vor das die Eigenschaft unbeabsichtigt gesetzt wird und nicht direkt klar ist warum man das Objekt nicht mehr sieht oder keine neues Objekt mit demselben Namen erstellen kann. Auch beim Import oder Export in andere Datenbanken sind diese Objekte dann nicht verfügbar |
| Datensatzblättern im Formular unterbinden |
| In Accessformularen kann man mit den Bildtasten der Tastatur einfach zwischen den Datensätzen blättern. In vielen Datenbankanwendungen möchte man diese Funktion für den Benutzer sperren. Der Artikel zeigt eine einfache Möglichkeit diese Funktion zu unterbinden |
| Datensatzblättern im Formular unterbinden |
| In Accessformularen kann man mit den Bildtasten der Tastatur einfach zwischen den Datensätzen blättern. In vielen Datenbankanwendungen möchte man diese Funktion für den Benutzer sperren |
| Dokumente oder Internetadresse über Access starten |
| Die Methode FollowHyperlink ist nicht nur in der Lage eine Internetseite zu öffnen sondern kann auch beliebige Dokument ein der zugehörigen Anwendung öffnen. Access nutzt zum Aufruf des Dokuments die in Windows eingestellten Dokumentverknüpfungen (*.doc wird mit Word aufgerufen, *.txt wird mit dem Notizblock geöffnet, ...) |
| Einfacher Zugriff auf Outlookdaten |
| Access bietet eine schnelle um einfache Möglichkeit um auf die in Outlook gespeicherten Daten zuzugreifen. Über den Assistenten zum Einbinden von Tabellen wird auch die Möglichkeit geboten verschiedene Tabellen von Outlook einzubinden. So ist es mit ein paar Klicks zum Beispiel möglich auf die Mails im Posteingang zuzugreifen und die Daten auszulesen |
| Export von Zahlen mit führenden Nullen |
| Wenn ich versuche Zahlen zu exportieren, werden führende Nullen, die in der Tabelle angezeigt werden, nicht mit exportiert. Kann ich die führenden Nullen exportieren |
| Frontend auf Client vom Server aus beenden |
| Kennen Sie das Problem - Sie haben eine Access-Datenbank, die in Front- und Backend aufgeteilt und im Netz verteilt ist. Auf verschiedenen Clients läuft jeweils eine Frontend und auf dem Server liegt die Backend. Um nun an der Backend Anpassungen vornehmen zu können oder neue Versionen der Frontend auf die Clients zu spielen, müssen alle Datenbanken beendet werden |
| Frontend auf Client vom Server aus beenden |
| Kennen Sie das Problem - Sie haben eine Access-Datenbank, die in Front- und Backend aufgeteilt und im Netz verteilt ist. Auf verschiedenen Clients läuft jeweils eine Frontend und auf dem Server liegt die Backend. Um nun an der Backend Anpassungen vornehmen zu können oder neue Versionen der Frontend auf die Clients zu spielen, müssen alle Datenbanken beendet werden. So bleiben nur entweder jeden Platz abzulaufen und die Datenbanken selbst zu Beenden oder den Benutzern hinterher zu telefonieren und drum bitten die DB zu beenden.
Der Artikel beschreibt wie man per VBA von der Backend aus alle offenen CLients im Netz beendet |
| Hintergrundfarbe pro Datensatz ändern |
| Um meine Berichte übersichtlicher zu gestalten möchte ich, dass abwechselnd jeder Datensatz mit einer anderen Hintergrundfarbe hinterlegt wird. Wie kann ich das erreichen |
| In VBA per SQL einen Wert in eine Tabelle schreiben |
| Es kommt immer wieder vor, dass ein einzelner Wert in einer Tabelle geschrieben werden muss. Dieser FAQ zeigt eine Möglichkeit auf, dies per SQL-Anweisung in VBA zu erledigen. Zusätzlich wird eine Beispiel-Datenbank zur Verfügung gestellt |
| Informationen aus aktivem Steuerelement auslesen |
| Per VBA lässt sich mittels "Screen.ActiveControl" direkt auf das Steuerelement zugreifen das gerade den Focus hat. Dies ist speziell dann hilfreich wenn man z.B. in VBA mit Funktionen arbeitet möchte die aus verschiedenen Controls aufgerufen werde |
| Informationen aus aktivem Steuerelement auslesen |
| Per VBA lässt sich mittels "Screen.ActiveControl" direkt auf das Steuerelement zugreifen das gerade den Focus hat. Dies ist speziell dann hilfreich wenn man z.B. in VBA mit Funktionen arbeitet möchte die aus verschiedenen Controls aufgerufen werden |
| Informationen in der Registry speichern |
| Access bietet 2 einfache Befehle um Daten in der Windows-Registry zu speichern und diese wieder auszulesen. Man kann so z.B. datenbankabhängig Daten auf dem jeweilige Rechner speichern auf dem die Datenbank läuft. So kann man z.B. den User der die DB zuletzt genutzt hat, die Datenbankversion, lokal verwendete Verzeichnisse oder andere Rechnerabhängige Daten auf dem PC speichern und per Access schnell darauf zugreifen |
| Kombinationsfeld und "Bei nicht in Liste" |
| Mit dem Ereignis "Bei nicht in Liste" ("NotInList") dem Kombinationsfeld einen Eintrag hinzufügen. Sie möchten, dass ein Wert, der in einem Kombinationsfeld eingegeben wird und dort noch nicht vorhanden ist, sofort in die Liste der Werte des Kombifeldes aufgenommen wird und danach zur Auswahl bereit steht |
| Makro in VBA umwandeln |
| Access besitzt leider keine Funktionen zum Aufzeichnen von 'Makros' wie es z.B. Word oder Excel bieten. In Access kann man allerdings ein vorhandenes Makro in VBA-Code umwandeln |
| Nutzen des Formular-Timerintervalls |
| Jedes Access-Formular besitzt das Ereignis "Beim Zeitgeber" mit dem zugehörigen Eigenschaft "Zeitgeberintervall". Der Artikel beschreibt wie man das Zeitgeber-Ereignis in einem Formular nutzt |
| Per VBA Text in Textfeldern markieren |
| VBA bietet 2 Anweisungen mit denen sich beliebiger Text in Formulartextfeldern markieren lässt - im Grunde genauso wie wenn man mit der Maus von Zeichen 11 bis Zeichen 23 den Text mit Klicken und Ziehen markiert |
| Per VBA Text in Textfeldern markieren |
| VBA bietet 2 Anweisungen mit denen sich beliebiger Text in Formulartextfeldern markieren lässt - im Grunde genauso wie wenn man mit der Maus von Zeichen 11 bis Zeichen 23 den Text mit Klicken und Ziehen markiert |
| Reservierte Wörter in Access |
| Access verwendet eine ganze Reihe von Begriffen, die man nicht unbedingt in Tabellen oder als VBA-Variablen verwenden sollte. Der Artikel bietet eine Liste aller von Access verwendeten Wörtern |
| Steuerelement-Standardeigenschaften anzeigen und einstellen |
| Access ist in der Lage die Standardeigenschaften für Steuerelemente zu speichern und Steuerelemente beim Einfügen in ein Formular oder einen Bericht vorformatiert einzustellen. Der Artikel beschreibt wie Sie vorgehen müssen um die Formate einzustellen und die Einstellungen einsetzen können |
| Stundenaddition über 24 Stunden |
| Ich habe in Microsoft Access für Windows einen Bericht mit einem Feld [Datumswert] im Detailbereich vom Typ "Datum/Zeit" erstellt. In diesem Feld werden Stunden und Minuten angezeigt. Nun möchte ich im Berichtsfuß die Summe dieser Werte ausgeben. Überschreitet die Summe allerdings 24 Stunden, wird nur der Anteil unter 24 Stunden angezeigt. Wie kann ich das korrekte Ergebnis ausgeben |
| VBA-Code lesbarer machen |
| Um die Lesbarkeit von Code zu verbessern empfielt es sich bei langen Zeilen den Code so umzubrechen das alles im Fenster sichtbar ist und nicht per Scrollbalken gelesen werden muss |
| Verbergen der Produkt-ID bei eigenen Startbildern |
| Ich habe für meine Access-Datenbank eine Startgrafik erstellt, die die Standardgrafik von Access ersetzt. Beim Starten meiner Datenbank wird nun diese Grafik eingeblendet. Leider werden aber seit Access 97 in diese Grafik die Produkt-ID und die Angaben die ich beim Setup von Office gemacht habe (Benutzer und Firma), eingeblendet. Wie kann ich die Anzeige dieser Angaben unterdrücken |
| Verschiedene Access-Konstanten |
| Die beschriebenen Konstanten sind in der Klassenbibliothek von Visual Basic für Applikationen definiert und können überall im Code anstelle der tatsächlichen Werte verwendet werden |
| Zeilenumbrüche in VBA und Abfragen |
| Will man in VBA einen Text zusammensetzen und diesen mit Absätzen formatieren muss man einen Zeilenwechsel einfügen. Im FAQ wird beschrieben wie diese Zeilenwechsel in VBA oder in einer Abfrage gesetzt werden |
    |
|
|
|
|