Datenbanken automatisch komprimieren

In vielen Datenbankanwendungen fallen temporäre Daten an, also Daten, die in Tabellen geschrieben und in der gleichen Session wieder gelöscht werden. Das kann in nicht aufgeteilten Datenbanken der Fall sein, aber auch in aufgeteilten Datenbanken mit Frontend und Backend geschehen. Man könnte denken, die Größe der Datenbankdatei würde nach dem Anfügen und Löschen von Daten einigermaßen konstant sein. Das ist jedoch nicht der Fall: Gelöschte Daten sind zwar nicht mehr in den Tabellen zu finden, allerdings benötigt die Datenbank anschließend ungefähr genauso viel Speicherplatz wie vor dem Löschen. Wie das zu erklären ist und wie wir durch die Komprimierung einer Datenbank dennoch dafür sorgen können, dass eine Datenbank sich durch die Verwendung temporärer Daten nicht allzusehr aufbläht, beschreiben wir in diesem Beitrag.

Weiterlesen

Ungebundene Daten in Übersicht und Detailansicht

In den beiden Beiträgen „Daten in ungebundenen Formularen bearbeiten“ (www.access-im-unternehmen.de/1442) und „Ungebundene Listen und Kombis mit Daten füllen“ (www.access-im-unternehmen.de/1440) haben wir Möglichkeiten aufgezeigt, um Daten ohne die Bindung an Tabellen oder Abfragen in Formularen und Steuerelementen anzuzeigen. In diesem Beitrag gehen wir einen Schritt weiter und kombinieren die beiden Darstellungen einer Übersicht von Daten und der Detailansicht eines ausgewählten Datensatzes. Dabei zeigen wir, wie wir in der Übersicht einen Datensatz auswählen und diesen zum Bearbeiten öffnen, einen neuen Datensatz anlegen oder Datensätze löschen.

Weiterlesen

Ungebundene List- und ComboBox per Callback

Im Beitrag Ungebundene Listen und Kombis mit Daten füllen (www.access-im-unternehmen.de/1440) haben wir uns angesehen, wir man Kombinations- und Listenfelder über das Zuweisen einer Wertliste oder mit der AddItem-Methode füllen kann. Es gibt noch eine interessante Alternative, von der wir hoffen, dass wir damit sogar noch einige Einträg mehr zu den Listen-Steuerelementen hinzufügen können als mit den oben genannten Methoden. Bei dieser Alternative handelt es sich um eine Technik, die eher stiefmütterlich behandelt wird: Die Callback-Funktion. Wie man diese nutzt und ob man tatsächlich mehr Daten als mit einer Wertliste in ungebundenen Listen-Steuerelementen anzeigen, untersuchen wir in diesem Beitrag.

Weiterlesen

Daten in ungebundenen Formularen bearbeiten

Der übliche Weg, um Daten aus Tabellen in Access-Formularen anzuzeigen, ist die Angabe einer Tabelle oder Abfrage als Datenquelle und das Binden der Steuerelemente an die Felder dieser Quelle. Es gibt jedoch Anwendungsfälle, in denen diese Vorgehensweise nicht das gewünschte Ergebnis liefert. Dann kann man einen alternativen Weg gehen, auch wenn man damit viel Vorteile aufgibt und eine Menge zusätzlicher Aufwand entsteht. In diesem Beitrag erläutern wir, wie man die Daten aus Tabellen oder Abfragen auch ohne direkte Bindung an eine Tabelle oder Abfrage in einem Formular anzeigen, bearbeiten und wieder speichern kann und wie sogar das Anlegen neuer Datensätze möglich ist.

Weiterlesen

Ungebundene Listen und Kombis mit Daten füllen

Im Beitrag „Daten in ungebundenen Formularen bearbeiten“ haben wir gezeigt, wie man die Daten einer Tabelle in einem ungebundenen Formular darstellt und dieses zum Bearbeiten und Anlegen von Datensätzen verwendet. Wenn wir dies konsequent umsetzen wollen, benötigen wir auch eine Möglichkeit, um Daten in Listenform anzuzeigen. Die Datenblatt- oder Endlosansicht fallen aus, also müssen wir uns um Alternativen kümmern. Für die mehrspaltige Listenansicht bietet Access das Listenfeld. Und für die Auswahl von Daten aus Lookup-Tabellen steht das Kombinationsfeld zur Verfügung. Beide sind jedoch, wie auch Formulare, für die Bindung an Tabellen oder Abfragen optimiert. Ungebundene Daten müssen wir dort erst einmal einpflegen. Auf welche Arten das gelingt, zeigt dieser Beitrag.

Weiterlesen

Navigationsbereich per VBA ein- und ausblenden

Im Normalbetrieb kann man den Navigationsbereich schnell durch einen Klick auf die Nach links-Schaltfläche oben in diesem Bereich minimieren und anschließend wieder maximieren. Das gelingt auch mit der Taste F11. Was aber, wenn man den Bereich komplett verschwinden lassen möchte – beispielsweise direkt nach dem Öffnen einer Anwendung, die man einem Kunden oder anderen Nutzern bereitstellt, die den Navigationsbereich nicht sehen sollen? Dann kommt die in diesem Beitrag vorgestellte VBA-Prozedur zum Einsatz, mit der wir den Navigationsbereich mit wenigen Zeilen aus- und wieder einblenden.

Weiterlesen

Sperrung durch Memofeld statt anderer Sitzung

Neulich bat mich ein Kunde, mir einmal ein Netzwerkproblem beim ihm anzusehen. Aufgrund der Fehlermeldung konnte es keine andere Ursache geben – sie lautete „Aktualisieren nicht möglich, momentane Sperrung durch eine andere Sitzung auf diesem Rechner“. Also haben wir uns diese Sache gemeinsam angesehen und zunächst schien die Meldung plausibel – immerhin arbeitete eine andere Mitarbeiterin gerade mit der Datenbank und es konnte gut sein, dass der Datensatz gesperrt war. Allerdings trat das Problem später immer noch auf, obwohl niemand sonst mehr mit der Datenbank arbeitete. Gemeinsam sind wir dem Problem dann auf die Schliche gekommen. Die Überschrift deutet es bereits an: Ein Memofeld spielte eine große Rolle bei der Lösung des Problems.

Weiterlesen

Ribbon: Controls erkennen und ausblenden

Das Dateimenü von Access bietet eine ganze Reihe praktischer Elemente. Diese sind im Alltagsgebrauch eines Entwicklers sehr hilfreich, bieten sie doch schnellen Zugriff auf wichtige Funktionen. Wollen wir eine Anwendung entwickeln und diese an den Benutzer weitergeben, sollen jedoch unter Umständen gar nicht all diese Befehle verfügbar sein. Vielleicht wollen wir zusätzlich oder statt dieser Einträge sogar eigene Elemente hinzufügen, beispielsweise für das Speichern von Anwendungsoptionen. In diesem Fall ist der erste Schritt, einen oder mehrere der vorhandenen Einträge auszublenden. Wie das gelingt, zeigen wir in diesem Beitrag.

Weiterlesen

Dateien aus dem Web herunterladen per VBA

Es gibt eine Menge Gründe, warum man per VBA komplette Dateien aus dem Internet herunterladen sollte. Beispielsweise könnte man von dort Listen im Excel- oder .csv-Format herunterladen, um anschließend die enthaltenen Daten in die aktuelle Datenbank einzulesen. Oder man hat eine Anwendung, die beim Kunden läuft, und diese soll in regelmäßigen Abständen prüfen, ob es ein Update für diese Anwendung gibt und die neue Datei bei Bedarf aus dem Internet herunterladen. In diesem Beitrag zeigen wir die Technik, mit der solche Anforderungen umgesetzt werden. Dabei nutzen wir verschiedene Techniken, zum Beispiel per API oder mit dem XMLHTTP-Objekt der Bibliothek Microsoft XML, v6.0.

Weiterlesen

Bilder für Buttons und Co. schnell hinzufügen

Wenn Sie mit Access ein neues Bild zu einem Formular hinzufügen oder dieses für eine Schaltfläche hinterlegen, speichert Access diese in einer Tabelle namens MSysResources. Das Hinzufügen ist recht einfach und lässt sich per Ribbonbefehl und anschließende Auswahl per Datei öffnen-Dialog realisieren. Allerdings kann man auf diese Weise immer nur ein Bild gleichzeitig zur Anwendung hinzufügen. Wenn man einer Schaltfläche schnell ein Icon zuweisen möchte, wäre es praktisch, wenn alle üblicherweise benötigten Bilder bereits verfügbar sind. Daher schauen wir uns in diesem Beitrag an, wie wir mehrere Bilder auf einen Schlag zur Tabelle MSysResources hinzufügen können.

Weiterlesen