Suchkriterien einfach zusammenstellen

Wenn Sie per VBA SQL-Suchkriterien zusammenstellen, also den Teil einer SQL-Abfrage, der mit WHERE beginnt, ist das in der Regel eine Menge Schreibarbeit. Eine Menge Schreibarbeit geht oft einher mit Fehleranfälligkeit. Sie benötigen Code, um zu schauen, ob überhaupt ein Vergleichswert eingegeben wurde, müssen dann die verschiedenen Vergleichsausdrücke zusammenstellen, diese mit OR oder AND verknüpfen, dabei unterschiedliche Datentypen beachten und davon abhängig Hochkommata setzen oder auch Datumsangaben konvertieren. All dies können Sie sich sparen, wenn Sie ein paar einfache Hilfsfunktionen einsetzen.

Weiterlesen

Metadaten per Zusatztabelle verwalten

Im Laufe der Zeit können sich einen Menge Daten ansammeln, die Sie in Zusammenhang mit Kunden, Produkten oder ähnlichen Entitäten speichern wollen. Dabei möchten Sie vielleicht nicht für jede neue Eigenschaft ein neues Feld anlegen und damit den Tabellenentwurf ändern. Das gilt umso mehr, wenn eine Anwendung bereits von vielen Kunden genutzt wird. Es gibt jedoch eine Alternative: Sie können eine zusätzliche Tabelle hinzufügen, die in jedem Datensatz eine Eigenschaft mit dem jeweiligen Wert für die Entität speichert. Die Frage ist nur: Wie können wir diese Daten genauso nutzen, als wenn diese wie üblich in der gleichen Tabelle wie der Kunde oder das Produkt gespeichert werden

Weiterlesen

Autokorrektur-Einträge im Griff

Die Autokorrektur ist ein Office-weit verwendetes Tool. Sie funktioniert auch bei der Eingabe von Texten in Access-Steuerelementen. Aber kann man die Einträge der Autokorrektur auch anpassen – und wo werden diese überhaupt gespeichert Und kann man auch per VBA auf die enthaltenen Daten zugreifen und diese gegebenenfalls automatisiert erweitern All diese Fragen klären wir im vorliegenden Beitrag.

Weiterlesen

XRechnung, Teil 1: Rechnungen generieren

XRechnung ist ein Standard für das Einreichen von Rechnungen bei öffentlichen Aufträgen. Sinn und Zweck dieses Standards ist, das Übermitteln von Rechnungsdaten auf eine Weise zu erlauben, dass diese automatisiert eingelesen und verarbeitet werden können. Wie das X in XRechnung vermuten lässt, steckt dahinter ein Austausch der Daten im XML-Format. Die Vorlage für XRechnung liefert die europäische Norm EN 16931. Wie die Daten strukturiert werden müssen, haben wir dem Dokument „Spezifikation XRechnung Standard und Extension“ entnommen, das öffentlich einsehbar ist. Als Grundlage für die Zusammenstellung der XRechnung verwenden wir ein herkömmliches Datenmodell einer Bestell- oder Rechnungsverwaltung. In diesem ersten Teil zeigen wir, wie die Daten aus den Tabellen der Beispieldatenbank in ein XRechnung-kompatibles XML-Dokument umgewandelt werden und wie Sie dieses validieren können.

Weiterlesen

Daten-Updates ausliefern

Wenn Sie eine Anwendung bereitstellen wollen, die bereits Daten enthält und deren Daten sowohl von Ihnen als auch vom Benutzer der Anwendung erweitert werden sollen, müssen Sie einige Dinge beachten. Wir gehen zur Vereinfachung davon aus, dass nur neue Daten hinzukommen und keine vorhandenen Daten geändert werden – das würde die Aufgabe noch schwieriger gestalten. Als Beispiel soll eine Datenbank mit Produkten dienen, die sowohl aus einem Basiskatalog gefüttert werden, der gelegentlich erweitert wird, als auch vom Benutzer der Anwendung. Wie Sie das überhaupt machen, welche Probleme das mit sich bringt und wie Sie diese lösen, zeigen wir in diesem Beitrag.

Weiterlesen

Webcam-Bilder in Datenbank speichern

Die Bilder einer Webcam kann man üblicherweise auf dem Rechner speichern, auf dem man diese erstellt hat. Gegebenenfalls geschieht das auch automatisch – so zum Beispiel mit der Kamera-App von Windows. Ein Leser fragte, ob sich das Aufnehmen von Bildern auch so steuern lässt, dass man die neuen Fotos direkt in einer Datenbank weiterverwenden kann – durch Speichern des Bildes oder des Speicherpfades in der Datenbank und das anschließende Anzeigen des Bildes direkt in einem Formular der Datenbank. Eine direkte Steuerung via VBA haben wir nicht realisiert, aber einen Workaround, der diese Aufgabe ebenso gut erfüllt.

Weiterlesen

SQL Server-Security, Teil 4: Schutz mit Datenbankrollen

In Teil 4 dieser Beitragsreihe wurden die Zugriffsrechte der Anwender auf die Datenbank begrenzt. In der Datenbank jedoch gibt es für die Anwender keine Grenzen. Durch die Zuordnung zur Datenbankrolle db_owner besitzen sie dort administrative Rechte. Dies erlaubt ihnen u.a. das Anlegen und Löschen von Tabellen sowie das Lesen und Ändern aller Daten. Wie Sie die Rechte mit Hilfe der Datenbankrollen weiter eingrenzen, lesen Sie in diesem Beitrag.

Weiterlesen

.accdb läuft, .accde aber nicht

Haben Sie das schon einmal erlebt Sie haben Ihre Anwendung fertig programmiert und alles läuft einwandfrei. Sie müssen nur noch die Kompilierung in eine .accde-Datenbank vornehmen, damit der Kunde keinen Zugriff auf den Quellcode hat. Auch das gelingt ohne Probleme. Kaum starten Sie die .accde-Datenbank, geht jedoch plötzlich nichts mehr: Es funktionieren einfach keine Ereignisprozeduren mehr, und falls vorhanden, meckert auch das Ribbon, dass es seine Callback-Funktionen nicht mehr ausführen kann. Was ist hier geschehen und wie lösen wir das Problem Das zeigen wir in diesem Artikel.

Weiterlesen

Tastenkombinationen mit AutoHotKeys

Access bietet einige Tastenkombinationen, mit denen sich die wichtigsten Aufgaben schnell erledigen lassen. Manche Tastenkombination wurde aber über die Jahre geändert – zum Beispiel können Sie seit einigen Access-Versionen nicht mehr mit der Tastenkombination Strg + Tab zwischen den aktuell geöffneten Access-Objekten wechseln. Stattdessen erledigen Sie diese Aufgabe nun mit der Tastenkombination Strg + F6. Eine Kombination, für nur für Menschen mit halbwegs großen Händen mit einer Hand greifbar ist. Da man während der Entwicklung gern einmal von einem Objekt zum nächsten wechselt und Strg + Tab sehr gut dafür geeignet war, wollen wir diesen Zustand wiederherstellen. Wie das gelingt und warum die Bordmittel von Access dafür nicht ausreichen, zeigt dieser Beitrag.

Weiterlesen

Das AutoKeys-Makro

Makros sind unter Microsoft Access eine stiefmütterlich behandelte Objektart. In der Tat ist die Programmierung einer Datenbank mit VBA wesentlich flexibler und mächtiger. Allerdings gibt es Anwendungszwecke, die sich mit VBA nicht abdecken lassen. Hier kann man auf zwei spezielle Makros zugreifen: Das AutoExec-Makro wird beim Start einer Anwendung aufgerufen und kann zum Anstoßen von Aktionen verwendet werden, die beim Start benötigt werden. Das AutoKeys-Makro nimmt die Definition von Tastenkombinationen auf, die während des Betriebs der jeweiligen Access-Anwendung zur Verfügung stehen. Das letztere Makro schauen wir uns in diesem Beitrag im Detail an.

Weiterlesen