m:n-Beziehung mit Listenfeld und Datenblatt

Es gibt verschiedene Möglichkeiten, eine m:n-Beziehung zwischen zwei Tabellen in Formularen abzubilden: Mit zwei Listenfeldern, mit einem Haupt- und einem Unterformular und viele weitere. In diesem Beitrag schauen wir uns eine Kombination aus Listenfeld und Datenblatt an. Dabei betrachten wir das Beispiel von Fahrzeugen und Ausstattungsmerkmalen. Eigentlich sollte man meinen, das wäre eine reine m:n-Beziehung, in der die Verknüpfungstabelle nur die Zuordnung der Merkmale zu den Fahrzeugen vornimmt. Allerdings liefert einer unserer Kunden ein Beispiel, bei dem es etwas aufwendiger wird: Zusätzlich zur reinen Zuordnung soll auch noch festgelegt werden können, welche Ausstattungsmerkmale mit auf das Preisschild sollen und welche Serien- und welche Sonderausstattungen es gibt. Kein Problem: Dann bauen wir einfach eine ergonomische Lösung für diesen Fall, wie dieser Beitrag zeigt.

Weiterlesen

Registryeinträge für VBA-Anwendungen

Die Registry von Windows ein undurchschaubarer Dschungel an Einstellungen. Wenn man nicht weiß, was man tut, können Änderungen an diesen Einstellungen zu Problemen beim Einsatz von Windows oder Anwendungen kommen. Es gibt einige API-Funktionen, mit denen man auch per VBA Änderungen an der Registry vornehmen kann. Die API-Programmierung ist aber grundsätzlich ein Profithema, und erst Recht sollten Einsteiger mit API-Funktionen nicht die Registry manipulieren. Zum Glück hat Microsoft jedoch einen Satz von VBA-Funktionen bereitgestellt, mit denen man halbwegs sicher Informationen in die Registry schreiben und diese auch wieder auslesen kann. Der Clou ist, dass man damit einen speziell für VB- und VBA-Anwendungen vorgesehenen Teil der Registry nutzen kann. In diesem Beitrag stellen wir diese Funktionen vor und zeigen, welchen Bereich in der Registry sich damit nutzen lässt.

Weiterlesen

Letztes geöffnetes Ribbon-Tab merken

Wer das Ribbon ausgiebig nutzt, hat schnell einige Tabs zusammen, die wiederum mehrere Gruppen mit den jeweiligen Steuerelementen enthalten. Diese Tabs sind in der Regel so ausgelegt, dass das zuerst angezeigte Tab aktiviert wird, wenn der Benutzer die Anwendung startet. Wenn der Benutzer aber regelmäßig eher mit den Aufgaben einsteigt, die sich in einem anderen Tab befinden, muss er jedes Mal erst noch zu diesem Tab wechseln. Um dies zu vereinfachen, stellen wir in diesem Beitrag eine Lösung vor, mit der sich die Anwendung das zuletzt verwendete Tab-Element merken kann und dieses beim nächsten Start wiederherstellt.

Weiterlesen

Access und SQL Server: Der Migrations-Wizard

Wer schnell die Tabellen einer Access-Datenbank zum SQL Server migrieren möchte, kann dazu ein kostenloses Tool von Microsoft nutzen: Den SQL Server Migration Assistant, in diesem Fall in der Ausführung für Access. Wie wir die Tabelle einer Access-Datenbank zum SQL Server übertragen und gleichzeitig auch noch die passenden Verknüpfungen für den Zugriff auf diese Datenbank erstellen, zeigen wir in diesem Beitrag. Dabei nutzen wir die schnellste zur Verfügung stehende Methode, nämlich den Migration Wizard, ein Assistent im Assistenten. Im besten Fall kann man danach direkt von der Access-Datenbank auf die Daten im SQL Server-Backend zugreifen. Gegebenenfalls sind noch Vor- und Nacharbeiten erforderlich, um die kümmern wir uns jedoch in eigenen Beiträgen.

Weiterlesen

SQL Server im Web, Teil 4: Fernzugriff per SSMS

In den ersten drei Teilen dieser Beitragsreihe haben wir einen Webserver aufgesetzt, den SQL Server installiert und das SQL Server Management Studio hinzugefügt. Damit können wir über die Remotedesktopverbindung auf den Server zugreifen und dort den SQL Server administrieren. Wir wollen aber nicht immer die Remotedesktopverbindung nutzen, sondern direkt von unserem lokalen Rechner aus auf den SQL Server auf dem Webserver zugreifen. Das wird schon etwas spannender als die Einrichtung und der Zugriff vom SQL Server Management Studio direkt auf dem Webserver. Warum? Weil wir unterschiedliche Ports verwenden müssen und diese je nach Anwendungsfall standardmäßig freigeschaltet sind oder auch nicht. Was es damit auf sich hat, erläutern wir in diesem Beitrag.

Weiterlesen

SQL Server im Web, Teil 3: SQL Server Management Studio installieren

Uns erreichen immer mehr Anfragen, wie man seine Datenbank ins Internet bringt. Im den ersten beiden Teilen dieser Beitragsreihe mit dem Titel “SQL Server im Web, Teil 1: Webserver” und “SQL Server im Web, Teil 2: SQL Server 2022 Express installieren” haben wir uns angesehen, wie wir einen Webserver beziehungsweise einen Virtual Private Server mieten und darauf den SQL Server 2022 Express installieren. Im dritten Teil dieser Beitragsreihe installieren wir nun das SQL Server Management Studio auf unserem Webserver. Damit wollen wir die Administration des SQL Servers direkt von seinem Serverrechner aus ermöglichen, auf den wir zu diesem Zweck über die Remotedesktopverbindung zugreifen.

Weiterlesen

SQL Server im Web, Teil 2: SQL Server Express installieren

Uns erreichen immer mehr Anfragen, wie man seine Datenbank ins Internet bringt. Oder, um genauer zu sein: Wie man diese so verfügbar macht, dass man von mobilen Geräten über das Internet darauf zugreifen kann. Ob man sich nun von einem Notebook aus mit der Datenbank verbindet oder ob man eine alternative Technik wie eine Webseite dafür nutzt. Und gleichzeitig auch noch vom heimischen Rechner oder aus dem Büro über das Access-Frontend auf die Daten zugreifen kann. Also schauen wir uns einmal die Voraussetzung dazu an – einen über das Internet erreichbaren Rechner. Hier haben wir verschiedene Möglichkeiten. Wir können einen Cloud-Service wie den von Microsoft nutzen, aber wir können uns auch einen eigenen Server mieten, auf dem wir tun und lassen können, was wir wollen – SQL Server installieren, Webseiten anlegen et cetera. Wir schauen uns den letzten Punkt an, da er uns maximale Freiheit bietet, aber auch maximale Verantwortlichkeit einfordert: Das Mieten eines Webservers (hier virtuell) und die Verwendung von SQL Server 2022 Express auf diesem Webserver.

Weiterlesen

SQL Server im Web, Teil 1: Webserver

Uns erreichen immer mehr Anfragen, wie man seine Datenbank ins Internet bringt. Oder, um genauer zu sein: Wie man diese so verfügbar macht, dass man von mobilen Geräten über das Internet darauf zugreifen kann. Ob man sich nun von einem Notebook aus mit der Datenbank verbindet oder ob man eine alternative Technik wie eine Webseite dafür nutzt. Und gleichzeitig auch noch vom heimischen Rechner oder aus dem Büro über das Access-Frontend auf die Daten zugreifen kann. Also schauen wir uns einmal die Voraussetzung dazu an – einen über das Internet erreichbaren Rechner. Hier haben wir verschiedene Möglichkeiten. Wir können einen Cloud-Service wie den von Microsoft nutzen, aber wir können uns auch einen eigenen Server mieten, auf dem wir tun und lassen können, was wir wollen – SQL Server installieren, Webseiten anlegen et cetera. Wir schauen uns den letzten Punkt an, da er uns maximale Freiheit bietet, aber auch maximale Verantwortlichkeit einfordert: Das Mieten eines Webservers (hier virtuell) und die Verwendung von SQL Server 2022 Express auf diesem Webserver. In diesem ersten Teil schauen wir uns erst einmal an, wir einen Webserver mieten und diesen erstmalig mit der Remotedesktopverbindung öffnen und anzeigen können.

Weiterlesen

Datenbanken vergleichen mit GitHub Desktop

Im Beitrag “Access-Quellcodeverwaltung mit GitHub Desktop” (www.access-im-unternehmen.de/1495) haben wir gezeigt, wir man mit dem Tool “Version Control Add-In” und mit “GitHub Desktop” den Inhalt einer Access-Anwendung in Form verschiedener Textdateien in ein externes Verzeichnis extrahieren und davon verschiedene Versionen verwalten und wiederherstellen können. Im vorliegenden Beitrag wollen wir uns nun einen speziellen Einsatzzweck der Kombination dieser beiden Tools ansehen. Angenommen, wir legen regelmäßig Backups unserer Anwendung an. Bei einer neuen Version treten plötzlich Fehler auf, die auf die Änderungen seit dem letzten Backup zurückzuführen sind. Um einzugrenzen, welche Änderungen das Problem auslösen, können wir nun die Elemente der älteren Version exportieren, in ein Repository aufnehmen und als Zwischenstand speichern und dann die aktuelle Version ebenfalls in das Repository schreiben. Dort können wir nun genau anzeigen lassen, welche Unterschiede zwischen den beiden Versionen existieren und dort nach der Ursache für das Problem suchen.

Weiterlesen

Probleme mit dem Datentyp Datum/Uhrzeit erweitert

Der Felddatentyp “Datum/Uhrzeit erweitert” wurde mit Access 2021 beziehungsweise mit Access aus Office 365 eingeführt. Er speichert genau wie der Datentyp “Datum/Uhrzeit” Datums- und Zeitangaben. Allerdings hat er eine höhere Genauigkeit und Uhrzeiten können nun auch Bruchteile von Sekunden enthalten. Der Grund für die Einführung ist die Herstellung von Kompatibilität mit dem SQL Server, der den Datentyp “datetime2” enthält. Wenn wir Tabellenverknüpfungen zu den Tabellen einer SQL Server-Datenbank herstellen, werden Felder des Typs “datetime2” automatisch mit dem neuen Access-Datentyp “Datum/Uhrzeit erweitert” übersetzt. Allerdings bringt das diverse Probleme mit sich. Zum Beispiel können die in Access eingebauten Datumsfunktionen nicht richtig mit diesem Datentyp umgehen. Was das im Detail bedeutet und welche Lösungsmöglichkeiten es gibt, erläutern wir in diesem Beitrag.

Weiterlesen