Probleme mit Primärschlüsseln und Autowert

Primärschlüsselfelder mit Autowert-Funktion bieten eine komfortable Möglichkeit, für neue Datensätze automatisch einen neuen, eindeutigen Primärschlüsselwert zu vergeben. Wenn man zwischendurch keine Datensätze löscht, ist diese Nummerierung sogar lückenlos. Allerdings kann es sein, dass jemand versucht, gelöschte Datensätze mit den fehlenden Primärschlüsselwerten zu ersetzen. Zu welchen Problemen dies führt und wie Sie diese lösen, zeigt der vorliegende Beitrag.

Weiterlesen

Individuelle Nummerierungen

Manche Anwendungsfälle erfordern jedoch eine individuelle Nummerierung in einem Feld. Dafür kann es verschiedene Wege geben – zum Beispiel, wenn eine Nummerierung nach einer bestimmten Sortierung eines anderen Feldes erfolgen soll oder nach dem Entfernen oder Hinzufügen von Datensätzen eine neue Nummerierung erforderlich ist. Daher stellen wir in diesem Beitrag Wege vor, um die Nummerierung ganz nach Wunsch zu gestalten.

Weiterlesen

Änderungshistorie implantieren

Die neuen Tabellenereignisse, die mit Access 2010 eingeführt wurden, erlauben die automatische Sicherung von Tabellendaten vor der Durchführung von Änderungen an den Datensätzen. Dazu legen Sie entsprechende Datenmakros an, die durch die Tabellenereignisse ausgelöst werden. Außerdem benötigen Sie eine Tabelle, welche die geänderten Datensätze speichert. Wenn Sie beides für mehrere Tabellen durchführen wollen, ist dies eine Menge Handarbeit. Grund genug, diesen Vorgang zu automatisieren.

Weiterlesen

Adressen aus dem Onlineshop importieren

Wer einen Onlineshop verwendet, verwaltet in der Regel auch die Kunden- und Bestelldaten auf dem Internetserver, auf dem sich die Shopsoftware befindet. Dennoch gibt es verschiedene Gründe, sich diese Daten auch auf dem Desktop verfügbar zu machen – und zwar nicht nur über das jeweilige Shop-Backend. Die Daten wollen schließlich weiterverwendet werden, beispielsweise für die Vorbereitung der Lieferung, den Rechnungsversand, die Prüfung des Rechnungseingangs et cetera. Leider liefert das Shopsystem die Daten meist nicht in der gewünschten Struktur. Schauen wir uns also anhand des Shopsystems Shopware an, wie wir uns die Daten gefügig machen.

Weiterlesen

Tabellen per IntelliSense

Wenn Sie mit dem VBA-Editor arbeiten und dort gelegentlich SQL-Anweisungen eingeben, müssen Sie die Namen der verwendeten Tabellen, Abfragen und Felder entweder kennen oder immer wieder zum Access-Fenster wechseln, um die Tabellen zu öffnen und die fehlenden Informationen nachzuschlagen. Dies können Sie mit dem hier beschriebenen Vorgehen in Zukunft wesentlich vereinfachen! Dabei können Sie die Techniken entweder nur zur Vereinfachung beim Zusammensetzen von SQL-Anweisungen verwenden oder direkt den Zugriff auf Ihre Daten damit organisieren.

Weiterlesen

Tabellen importieren per Tabellenereignis

Die neuen Tabellenereignisse, die mit Access 2010 eingeführt wurden, erlauben beispielsweise das automatische Ausführen von Makros beim Einfügen, Ändern oder Löschen von Datensätzen. Dies machen wir uns in diesem Beitrag einmal auf ungewöhnliche Weise zunutze: Wir wollen Daten per Copy and Paste aus einer anderen Quelle, also etwa einer Excel-Tabelle, in die Datenbank importieren. Dabei sollen diese gleich analysiert und in die richtigen Tabellen eingefügt werden. Dies erledigen wir am Beispiel von Artikeln und Kategorien, wobei beide gleich auf die entsprechenden Tabellen aufgeteilt und verknüpft werden sollen.

Weiterlesen

Neue Werte in Lookup-Feldern

Manchmal möchten Sie schnell mit ein paar Zeilen Code eine Funktion programmieren, mit der ein neuer Datensatz zu einer Tabelle mit einem eindeutigen Index hinzugefügt wird. Dies geschieht bevorzugt bei Lookup-Tabellen. Dort kommt es aber schnell dazu, dass der Benutzer einen neuen Datensatz hinzufügt, der bereits vorhanden ist. In diesem Beitrag zeigen wir, wie Sie solche Fälle umschiffen oder den Benutzer gegebenenfalls einen neuen Wert eingeben lassen.

Weiterlesen

Neue Werte in eindeutigen Feldern

Manche Felder sollen zusätzlich zu den Primärschlüsselfeldern der eindeutigen Indizierung eines Datensatzes dienen. Der Zweck ist dann nicht hauptsächlich auf Seiten des Datenmodells zu finden, sondern eher bei der Anzeige: Wenn Sie etwa mehrere gleiche Artikel haben, die sie aber in unterschiedlichen Verpackungseinheiten in der Artikeltabelle pflegen, können Sie den Artikel nicht nur nach dem Artikelnamen identifizieren. Hier hilft ein weiteres Bezeichnungsfeld, das den Artikelnamen um eindeutige Informationen erweitert. Dieser Beitrag zeigt, wie Sie die Zuweisung eindeutiger Werte für ein solches Feld sicherstellen.

Weiterlesen

Geänderte Daten archivieren

Das Ändern von Daten ist in manchen Fällen an der Tagesordnung – zum Beispiel bei Kundendaten. Wenn Sie in einer Datenbank Kunden verwalten, die nicht nur für einen einzigen Auftrag oder eine einzige Bestellung angelegt werden, sondern mit denen Sie wiederkehrend geschäftlichen Kontakt haben, müssen Sie die Adressdaten auf dem aktuellen Stand halten. Kein Problem: Die entsprechenden Felder lassen sich ja schnell mal überschreiben. Das Problem ist nur, dass hier auch Fehler geschehen. Wenn Sie beispielsweise beim falschen Michael Müller die Lieferadresse ändern, freut sich ein Michael Müller über eine Lieferung, aber der andere, der nichts bestellt hat, wird die Rechnung wohl nicht bezahlen. Und wenn sich solche Fehler nur schwer verhindern lassen, so sollen Sie zumindest die Adressdaten schnell wiederherstellen können …

Weiterlesen

Lösch- und Kopierreihenfolge für Tabellen

Bei der einen oder anderen Gelegenheit werden Sie die Daten von Tabellen von einer Datenbank zur nächsten kopieren wollen oder einfach den Inhalt aller Tabellen löschen. Wenn die Tabellen mit referenziellen Beziehungen versehen sind, ist sowohl das Kopieren als auch das Löschen der enthaltenen Daten nicht trivial: Sie müssen nämlich in beiden Fällen in einer bestimmten Reihenfolge vorgehen. Beim Löschen müssen Sie erst alle verknüpften Daten aus der Detailtabelle einer Beziehung entfernen, bevor Sie die Daten der Mastertabelle löschen können. Beim Kopieren sind hingegen erst die Daten in den Mastertabellen einzufügen, bevor Sie die Detailtabellen samt Fremdschlüsselfeldinhalt füllen können.

Weiterlesen