Dynamische Standardwerte
In vielen Fällen können Sie dem Benutzer bei der Nutzung Ihrer Anwendung durch die Vorgabe von Standardwerten Arbeit abnehmen. Oft kristallisiert sich aber erst später heraus, welche die gewünschten Standardwerte sind oder diese unterscheiden sich je nach Benutzer. Dann wäre es praktisch, wenn die Benutzer selbst die Standardwerte für das Anlegen neuer Datensätze vorgeben könnten. Vielleicht möchten Sie sogar, dass der nächste neue Datensatz die Werte des vorherigen Datensatzes als Standardwerte übernimmt? Wie dies gelingt, zeigt der vorliegende Beitrag.
Rechnungsbericht
Die Ausgabe von Rechnungen dürfte einer der beliebtesten Anwendungszwecke für die Erstellung von Berichten sein. Gleichzeitig sind Rechnungsberichte aber auch eine der anspruchsvollsten Aufgaben – zumindest, wenn man sämtlichen Schnickschnack wie Zwischensumme und Übertrag, vernünftige Aufteilung der Positionen bei mehrseitigen Berichten, keine letzte Seite ohne wesentliche Informationen et cetera berücksichtigen will. Und wenn Sie dann noch mehrere Rechnungen in einem Bericht abbilden wollen, haben Sie das Ziel erreicht.
RDBMS-Zugriff per VBA: Verbindungen
Wenn Sie von Access aus auf die Daten einer SQL Server-Datenbank (und neuerdings auch auf LocalDB-Datenbanken) zugreifen wollen, müssen Sie mit Bordmitteln arbeiten, die häufig nicht zufriedenstellend sind. Wir haben einen Satz von Tools entwickelt, mit denen Sie eine Reihe von Aufgaben sehr schnell erledigen können: Verbindungen definieren, Tabellen verknüpfen und SQL-Abfragen direkt an den Server schicken. Dieser Beitrag zeigt, wie Sie mithilfe eines Teils dieser Tools per VBA auf SQL Server und Co. zugreifen.
SQL Server-Datenbank erstellen
Das SQL Server Management Studio gibt es mittlerweile als kostenlosen Download, den Sie separat zu einer bestehenden SQL Server-Datenbank installieren können. Da es mittlerweile mit LocalDB auch eine sehr schlanke SQL Server-Version gibt, wollen wir uns einmal anschauen, wie Sie mit diesen beiden Softwarekomponenten eine SQL Server-Datenbank aufsetzen können. Dabei wollen wir unsere oft genutzte Beispieldatenbank Suedsturm.mdb nachbilden.
Daten von Access zum SQL Server kopieren
Manchmal benötigt man eine 1:1-Kopie der Daten aus einer Access-Tabelle in einer anderen Tabelle – vielleicht in der gleichen, vielleicht aber auch in einer anderen Datenbank. Das ist mit entsprechenden Einfügeabfragen kein Problem, solange kein anderes Datenbanksystem wie etwa der SQL Server als Ziel in Frage kommt – und Sie gleichzeitig die Daten nicht nur einfach einfügen, sondern auch noch die Inhalte der Autowertfelder beibehalten wollen. Dieser Beitrag zeigt praktische Erfahrungen und Lösungsweise für spezielle Migrationsvorhaben auf.
Access und LocalDB
Seit SQL Server 2012 gibt es eine kleine, aber feine Instanz des SQL Servers namens LocalDB. Dabei handelt es sich um eine SQL Server-Engine, die zwar einige Unterschiede zur Vollversion des SQL Servers aufweist, aber auch einige Features bietet, die gerade für Access-Entwickler interessant sind. Eines vorneweg: Sie können damit nur lokale Datenbanken betreiben, also solche, die auf dem gleichen Rechner wie das Frontend liegen. Ansonsten aber bietet diese Version fast alles, was das Entwicklerherz begehrt.
XML-Export: CDATA
In der vorherigen Ausgabe haben wir uns ausführlich mit dem Export von Tabellendaten in XML-Dokumente beschäftigt. Dabei haben wir zum Formen der Ausgabe auch Gebrauch von .xslt-Dateien gemacht, die Anweisungen zur Aufbereitung der Inhalte enthalten. In den Beiträgen haben wir uns noch keine Gedanken um den Export von Inhalten aus Text- oder Memofeldern gemacht, die als CDATA markiert werden sollen. Was CDATA überhaupt ist und wie Sie Ihre Daten als solche markieren, zeigt dieser Beitrag.
Explorer und Shell ansteuern
Hin und wieder kommt es vor, dass Sie aus Access heraus den Windows Explorer öffnen und dabei gleich ein Verzeichnis Ihrer Wahl ansteuern möchten. Gründe dafür gibt es viele. Haben Sie etwa eine Textdatei exportiert, so macht es sich gut, dem Anwender anschließend gleich den passenden Ordner zu präsentieren und dort die Datei zu markieren. Über einige Zeilen VBA-Code rund um ein Shell-Objekt ist das schnell realisiert.