Kontextabhängige tab-Elemente im Ribbon

Wenn Sie schon einmal benutzerdefinierte Ribbondefinitionen in einer Ihrer Anwendungen eingesetzt haben, kennen Sie vielleicht auch schon die kontextabhängigen Tabs, die man mit ein paar Extra-Elementen definiert und die gemeinsam mit dem jeweils zugeteilten Formular angezeigt werden. Die Besonderheit ist, dass diese kontextabhängigen tab-Elemente, auf Englisch Contextual Tabs, optisch etwas anders angezeigt werden und zusätzlich zu den aktuell angezeigten Ribbon-Tabs erscheinen. Es gibt jedoch nicht nur kontextabhängige Tabs für Formulare und Berichte, sondern auch noch weitere, die beispielsweise in der Entwurfsansicht verschiedener Elemente erscheinen oder in der Datenblattansicht. In diesem Beitrag schauen wir uns an, welche es gibt und wie wir diese Tabs selbst erweitern oder anpassen können.

Weiterlesen

Dateien per VBA öffnen

Es gibt viele Gelegenheiten, zu denen man gern eine Datei per VBA öffnen möchte. Ein gutes Beispiel ist ein soeben auf Basis eines Berichts erstelltes PDF-Dokument. Doch der Standardumfang von VBA liefert keine Möglichkeit, diese Aufgabe zu erledigen. Und tatsächlich ist das Anzeigen einer Datei nicht trivial, zumindest dann nicht, wenn wir vorher noch nicht wissen, welchen Dateityp die Datei hat und mit welcher Anwendung diese geöffnet werden soll. Allerdings weiß Windows ja auch meistens, mit welcher Anwendung eine Datei geöffnet werden soll, wenn wir diese im Windows Explorer doppelt anklicken. Also muss es einen Weg geben, diese Aufgabe per Code zu erledigen. Und die Lösung ist eine API-Funktion namens ShellExecute.

Weiterlesen

Dynamische Bereichshöhe im Endlosformular

Ein Leser stellt mir neulich die Frage, ob und wie man die Höhe der einzelnen Bereiche im Endlosformular dynamisch so einstellen kann, dass beispielsweise immer drei Datensätze angezeigt werden – auch, wenn der Benutzer die Höhe des Endlosformulars während der Anzeige ändert. Dieser Beitrag zeigt, wie das möglich ist. Dabei behelfen wir uns einer Ereignisprozedur, die immer beim Ändern der Größe eines Formulars ausgelöst wird – und eines kleinen Tricks, der wegen der enthaltenen Steuerelemente nötig wurde.

Weiterlesen

Ribbontab beim Öffnen eines Formulars anzeigen

Sie kennen sicher die Ribbon-Tabs, die erscheinen, wenn Sie bestimmte Objekte in Access öffnen. Wenn Sie eine neue Tabelle anlegen, erscheint beispielsweise ein Tab namens “Tabellenentwurf”. Wechseln Sie zur Datenblattansicht der Tabelle, erscheinen die Tabs “Tabelle Felder” und “Tabelle”. Die Gemeinsamkeiten dieser Elemente sind, dass diese sich optisch ein wenig von den links davon befindlichen Tabs unterscheiden. Wie genau, hängt von der jeweils verwendeten Access-Version ab. In diesem Beitrag schauen wir uns an, wie wir überhaupt Ribbons mit einem Formular einblenden und dieses aktivieren und wie wir kontextabhängige Ribbons programmieren können.

Weiterlesen

Prüfen, ob Datenbank geöffnet ist

In einem früheren Beitrag haben wir mit einer Funktion geprüft, ob eine Datenbank geöffnet ist. Diese war jedoch nicht in jedem Fall zuverlässig – also liefern wir eine neue Version für eine solche Funktion. In dieser neuen Funktion versuchen wir, die Datenbank exklusiv zu öffnen. Das gelingt nur, wenn diese aktuell nicht geöffnet ist. Mehr dazu im vorliegenden Beitrag!

Weiterlesen

XRechnung, Teil 2: Rechnungen einlesen

Nachdem wir im ersten Teil dieser Beitragsreihe gezeigt haben, wie Sie aus Daten wie Kundeninformationen, Rechnungsdatum und Rechnungspositionen ein XML-Dokument im XRechnung-Format erstellen, wollen wir in diesem Beitrag den umgekehrten Weg gehen: Wir wollen die Daten aus einer so generierten Rechnung auslesen und zurück in das Datenmodell schreiben. Dazu sind vor allem Fähigkeiten im Auslesen von XML-Dokumenten erforderlich – und der Umgang mit Namespace-Deklarationen in diesen Dokumenten. Nach der Lektüre dieses Beitrags sind Sie in der Lage, die Daten aus einer XRechnung automatisiert in ein entsprechendes Datenmodell einzulesen.

Weiterlesen

Access-Applikation mit Runtime installieren

Office-Dokumente wie Word- oder Excel-Dateien lassen sich mittlerweile auf fast allen Geräten lesen. Wenn das nicht möglich ist, kann man diese oft in die jeweils vorhandene Textverarbeitung oder Tabellenkalkulation importieren. Bei Datenbankanwendungen ist das anders: Dass der Entwickler eine Vollversion von Microsoft Access auf dem Rechner hat, ist Voraussetzung. Aber was ist, wenn wir eine Datenbankanwendung in einem Unternehmen an viele Arbeitsplätze verteilen oder diese online an Kunden verkaufen wollen? Muss in dem Fall für alle User ebenfalls eine Vollversion von Access beschafft werden? Glücklicherweise lautet die Antwort nein. Es gibt eine kostenlose Runtime-Version von Access, die das Nötigste für den Betrieb von Access-Anwendungen mit sich bringt. Der vorliegende Artikel zeigt, welche Vorbereitungen dafür in unserer Applikation erforderlich sind und wie man die Runtime in ein eigenes Setup integriert.

Weiterlesen

Objektpositionen speichern und wiederherstellen

Neulich fragte ein Leser, ob und wie man die Position von Objekten im Access-Fenster speichern und wiederherstellen könne. Der Hintergrund ist, dass er immer wieder mühsam Tabellen, Abfragen und andere Objekte zu einem Arbeitsbereich zusammengestellt hat und wenn er die Anwendung schließt, ist die ganze Arbeit dahin – und am nächsten Tag muss er die Objekte erneut anordnen. Ich fühlte mich ein wenig an Zeiten erinnert, wo man zwar einen Homecomputer zum Programmieren, aber kein Gerät zum Speichern der eingetippten Spiele aus den Computermagazinen hatte … Da sich die Zeiten zum Glück geändert haben, zeige ich in diesem Beitrag, wie Sie die Position und Größe der beim Schließen einer Datenbank geöffneten Objekte abspeichern und beim nächsten Öffnen wieder herstellen können.

Weiterlesen

Rechnungsverwaltung: Kundendetails

Eine Rechnungsverwaltung, mit der Rechnungen an verschiedene Kunden geschickt werden sollen, benötigt eine Tabelle zum Speichern diese Kunden. Logisch, dass wir dieser Tabelle auch ein Formular zum komfortablen Bearbeiten der Kunden an die Seite stellen. Dieses enthält allerdings nicht nur die reinen Kundendaten, sondern wir wollen damit auch noch die Bestellungen des jeweiligen Kunden in einem Unterformular anzeigen – und darüber die Anzeige der Bestelldetails zu ermöglichen.

Weiterlesen

Rechnungsverwaltung: Bestellformular

Nachdem wir das Datenmodell für unsere Rechnungsverwaltung angelegt sowie die Tabellen mit Beispieldaten gefüllt haben, kommt als Nächstes die Benutzeroberfläche zum Verwalten der Kunden-, Produkt- und Bestelldaten an die Reihe. Die dazu notwendigen Formulare stellen wir in mehreren Teilen dieser Beitragsreihe vor. Die Basis ist das Formular zum Anzeigen der Bestellungen, mit dem wir den Kunden auswählen, die Bestelldaten eingeben und die Bestellpositionen hinzufügen können. Die Programmierung dieses Formulars zeigen wir im vorliegenden Beitrag – inklusive Validierung und mehr.

Weiterlesen