XML-Dokumente mit SAX parsen

Wir haben uns bereits in vielen Beiträgen mit dem Parsen von XML-Dokumenten befasst. Dabei haben wir immer den DOM-Parser verwendet, um die im XML-Dokument enthaltenen Daten zu lesen. In diesem Beitrag schauen wir uns eine Alternative namens SAX an. Während DOM das komplette XML-Dokument in den Speicher liest und darauf zugreift, liest SAX das Dokument zeilenweise ein. Im Folgenden erfahren Sie, welche Vor- und Nachteile die beiden Methoden haben und wie Sie mit SAX arbeiten können.

Weiterlesen

Debugging-Hilfsfunktionen

Beim Debuggen von VBA-Code, der Anweisungen für den Zugriff auf die Daten der Anwendung per DAO enthält, benötigt man immer wieder mal Detailinformationen. Welche Felder enthält die Tabelle noch Welchen Wert enthalten die Felder des aktuellen Datensatzes Wie viele Datensätze liefert das aktuelle Recordset Die notwendigen Informationen kann man sich mithilfe entsprechender Ausdrücke über das Direktfenster holen, aber meist kostet dies unnötig Zeit. Warum also nicht einfach eine kleine Hilfsklasse programmieren, die solche Fragen sehr einfach beantwortet Dieser Beitrag zeigt, wie es gelingt.

Weiterlesen

Registerkarten für verschiedene Datensätze

Normalerweise verwendet man verschiedene Registerkarten, um unterschiedliche Daten anzuzeigen – beispielsweise auf dem Hauptformular die Basis-Daten zu einem Kunden wie Kundennummer und Name und auf den Registerkarten Informationen wie die Lieferanschrift, die Rechnungsanschrift und weitere Daten. Wir wollen in diesem Beitrag einmal zeigen, wie Sie verschiedene Datensätze der gleichen Tabelle auf Registerseiten anzeigen – beispielsweise, um die letzten zehn angezeigten Kunden immer schnell aufschlagen zu können.

Weiterlesen

Zuletzt eingegebene Werte in Textfeldern

Textfelder sind keine übermäßig flexiblen Eingabesteuerelemente. Man gibt Text ein, löscht oder bearbeitet diesen oder kopiert Inhalte beziehungsweise fügt diese ein. Einige Anwendungen aber liefern für Textfelder überraschenden Komfort: Diese zeigen beispielsweise den zuletzt eingegebenen passenden Wert an, sobald man ein oder mehrere Zeichen in das Textfeld eingegeben hat. Der Benutzer kann dann per Tab- oder Eingabetaste die aktuell angezeigte Auswahl einfach übernehmen. Dies schauen wir uns genauer an und bauen eine passende Funktion für Access-Textfelder nach.

Weiterlesen

Flexible Suche in Formularen

Es gibt viele Möglichkeiten, eine Suche über die Datensätze einer Tabelle zu programmieren. Wir wollen in diesem Beitrag eine sehr flexible Variante vorstellen. Damit können Sie sowohl einfach Suchbegriffe eingeben, mit denen dann alle für die Suche angegebenen Felder durchsucht werden. Andererseits soll die Suche auch das gezielte Ermitteln von Datensätzen ermöglichen, deren Felder bestimmte Werte enthalten. Um die Angabe der Feldnamen zu vereinfachen, haben wir der Suche auch noch eine Funktion zur Autovervollständigung hinzugefügt.

Weiterlesen

Suchen mit der clsFlexSearch-Klasse

Die Klasse clsFlexSearch lässt sich einfach in Formulare integrieren und fügt einem einfachen Textfeld umfassende Suchmöglichkeiten hinzu. Wie Sie diese Suche implementieren, erfahren Sie im Beitrag Flexible Suche in Formularen (www.access-im-unternehmen.de/965). Der vorliegende Beitrag erläutert die Klasse clsFlexSearch und stellt den Code vor, damit Sie diesen nachvollziehen und ihn gegebenenfalls an Ihre eigenen Bedürfnisse anpassen können.

Weiterlesen

Mit Arrays arbeiten

Über Arrays unter VBA wurde schon vieles geschrieben und gesagt. Dennoch gibt es praktische Hinweise, die man gelegentlich benötigt, nicht so einfach im Internet. Also werfen wir in diesem Beitrag einen genaueren Blick auf die Möglichkeiten, die Arrays bieten, und liefern einige neue Funktionen rund um die Felder zum temporären Speichern und Bereitstellen von Daten. Unter anderem sehen wir uns an, wie Sie die Inhalte von Arrays zu Debugging-Zwecken im Direktbereich oder in einer Excel-Tabelle ausgeben oder wie Sie prüfen, ob ein Array leer ist.

Weiterlesen

Das Windows Management Instrumentarium

Wenn Sie in Ihrer Datenbank externe Informationen über System, Hardware oder Software benötigen, so lassen sich diese unter VBA meist nur über umfangreiche API-Routinen gewinnen. Dabei gibt es mit dem Windows Management Instrumentarium, kurz WMI, eine Schnittstelle, die fast keine Wünsche offen lässt und Ihnen enorm viel Programmierarbeit abnehmen kann. Das ist Grund genug, diese Schnittstelle einmal genauer unter die Lupe zu nehmen.

Weiterlesen

VBA unter Access mit 64 Bit

Die 64bit-Version von Access sollten Sie schon deshalb nicht nutzen, weil diese ActiveX-Steuerelemente wie das TreeView-, das ListView- oder das ImageList-Steuerelement nicht unterstützt. Aber es gibt noch weitere Gründe: Zum Beispiel könnte es Probleme bei der Verwendung von API-Funktionen geben. Manchmal bleibt einem Entwickler allerdings keine anderen Möglichkeit, weil etwa am Arbeitsplatz nur die 64bit-Version vorliegt oder aber der Kunde mit dieser Version arbeiten muss. Der vorliegende Beitrag liefert Informationen, wie Sie nicht kompatible VBA-Anweisungen für die Zielversion anpassen müssen und wie Sie programmieren müssen, um die 32bit- und die 64bit-Version gleichermaßen zu bedienen.

Weiterlesen

Mails per Drag and Drop in der Datenbank speichern

Mails landen gewöhnlicherweise im Posteingangsordner und werden dann, entweder automatisch oder manuell, in den jeweiligen Zielordner verschoben – wenn sie nicht gar gelöscht werden. Aber kann das schon alles sein Nein! In diesem Artikel zeigen wir Ihnen, wie Sie beim Verschieben einer Mail in einen bestimmten Ordner weitere Aktionen auslösen können, und zwar per VBA-Ereignis. Auf diese Weise können Sie dann beispielsweise den Inhalt der Mail und gegebenenfalls auch Anlagen direkt in einer dafür vorgesehenen Datenbank speichern.

Weiterlesen