Unsere Webseiten benötigen JavaScript. Dies scheint in Ihrem Browser jedoch deaktiviert zu sein.
Unsere Webseiten benötigen Session-Cookies. Diese scheint Ihr Browser jedoch zu blockieren.
News & Tipps zu Microsoft Access
Lesen Sie hier einige der besten Beiträge aus SmartTools Access Weekly sowie ausgewählte Inhalte anderer E-Mail-Newsletter von SmartTools Publishing rund um Microsoft Access.
Viele Berichte erstellen Sie nur für die Ausgabe am Bildschirm, um sich beispielsweise schnell eine Lagerbestandsübersicht anzeigen zu lassen. Bei der Arbeit mit diesen Auswertungen wäre es hilfreich, Detaildaten zu einem Artikel oder zu einem Kunden abrufen zu können. In älteren Versionen scheiterte das daran, dass in Berichten zwar Schaltflächen oder andere Steuerelemente eingefügt, aber keine entsprechenden Ereignisprozeduren verwendet werden konnten. In den aktuellen Versionen hat Microsoft das endlich geändert, so dass nun auch in Berichten Steuerelemente mit Ereignisprozeduren oder Makros eingesetzt werden können. Unser Tipp erläutert die Umsetzung einer entsprechenden Lösung.
FRAGE Ein Formular "Menü" enthält 11 Befehlsschaltflächen zum Aufruf meiner Formulare per "DoCmd.OpenForm". Das Formular "Menü" ist geöffnet und ein Formular wie zum Beispiel "Neuer Kunde" wird aufgerufen. Das Formular "Neuer Kunde" ist nun im Vordergrund und das Formular "Menü" im Hintergrund zu sehen. Klickt der Anwender versehentlich neben das Formular "Neuer Kunde" in das Menü-Formular, verschwindet das Formular "Neuer Kunde". Wie erreiche ich, dass das Formular "Neuer Kunde" nicht mehr verschwindet?
Häufig werden in Unterformularen Funktionen benötigt, die eine Änderung der Anzeige im Hauptformular bewirken. Sie zeigen beispielsweise in einem Formular "Bestellungen" ein Unterformular "Bestelldetails" an. Im Unterformular soll es nun möglich sein, über zwei Schaltflächen Vorherige Bestellung und Nächste Bestellung, die zum aktuellen Artikel getätigte vorhergehende oder nachfolgende Bestellung des Kunden im Hauptformular anzuzeigen. Unser Tipp zeigt, wie Sie eine solche oder eine ähnlich gelagerte Aufgabe lösen.
FRAGE Ich habe eine ältere Datenbank übernommen. Eine der Abfragen lässt sich nicht mehr in der Entwurfsansicht öffnen oder löschen, Formulare und Berichte, die darauf basieren, laufen nicht mehr. Beim Klick auf Entwurf oder dem Drücken der Entf-Taste bzw. beim Öffnen eines Formulars oder Berichtes erscheint die Sanduhr und Access stürzt kommentarlos ab. Ist diese Abfrage noch zu retten? Was kann ich tun, um eine neue Abfrage mit dem gleichen Namen anzulegen, damit die Formulare und Berichte wieder lauffähig sind?
Abfrageergebnisse benötigen Sie häufig nicht in der Datenblattansicht, sondern als Zeichenkette oder Array zur Weiterverarbeitung. In der Regel initialisieren Sie dazu ein Recordset, durchlaufen es und fassen die benötigten Feldinhalte in einer Zeichenkette zusammen. Wenig bekannt ist die Tatsache, dass ein ADO-Recordset eine Methode bereitstellt, die Ihnen diese Arbeit abnimmt und das Ergebnis blitzschnell zur Verfügung stellt.
Häufig werden in Unterformularen Funktionen benötigt, die eine Änderung der Anzeige im Hauptformular bewirken. Sie zeigen beispielsweise in einem Formular "Bestellungen" ein Unterformular "Bestelldetails" an. Im Unterformular soll es nun möglich sein, über zwei Schaltflächen Vorherige Bestellung und Nächste Bestellung, die zum aktuellen Artikel getätigte vorhergehende oder nachfolgende Bestellung des Kunden im Hauptformular anzuzeigen. Unser Tipp zeigt, wie Sie eine solche oder eine ähnlich gelagerte Aufgabe lösen.
FRAGE Ich habe ein Hauptformular mit einem Unterformular angelegt, in dem in der Fußzeile des Unterformulars ein Textfeld mit dem Steuerelementinhalt '=Summe([Umsatz])' vorhanden ist und das den Umsatz des im Hauptformular angezeigten Kunden liefert. Ich benötige diesen Wert in einem anderen Formular, das ebenfalls Datensätze in einem Unterformular anzeigt. Die Daten dieses Unterformulars stammen aus der gleichen Tabelle, wie aus dem Hauptformular. Wie kann ich den Wert auch in diesem Unterformular anzeigen?
Im ersten Teil dieses Tipps hatten wir zur zeilenweisen Sortierung von Memo-, Listen- und Kombinationsfeldern zunächst die Basis in Form der Prozedur "QuickSortArray" geschaffen und gezeigt, wie Sie eine Schaltfläche und ein Kontrollkästchen in ein Formular zur wahlweise auf- oder absteigenden Sortierung der Zeilen eines Memofeldes einbauen. Im zweiten Teil geht es nun um den Einsatz dieser Prozedur mit Listen- und Kombinationsfeldern.
FRAGE Ich habe ein Formular mit einem Registersteuerelement entworfen: Bei einem Datensatzwechsel, egal ob Daten geändert wurden oder nicht, soll eine Prozedur "SetControlColor" (Farbe in einem ungebundenen Steuerelement ändern) ausgeführt werden. Wie kann ich diese VBA-Prozedur aufrufen, so dass sie automatisch jedes Mal ausgeführt wird, wenn der Datensatz über die Navigationsschaltflächen gewechselt wird?
In Ihren Datenbanken verwenden Sie regelmäßig Memofelder, in denen Informationen zeilenweise abgelegt sind. Wenn Sie den Inhalt eines solchen Memofeldes sortieren möchten, finden Sie dazu in Access oder VBA keine Unterstützung. Ähnliches gilt für Listenfelder, die Sie per "AddItem" aus einem Array aufbauen oder für Kombinationsfelder, bei denen Sie aus einem Array eine Werteliste zusammensetzen und zuweisen möchten. Auch für diese Steuerelemente suchen Sie vergeblich nach einer Sortierfunktion. In diesem zweiteiligen Tipp stellen wir eine Lösung vor, die Sie zukünftig für alle Sortieraufgaben in Ihren Datenbanken heranziehen können.
Dieses Blog präsentiert Inhalte aus den E-Mail-Newslettern von SmartTools Publishing. Premium-Beiträge, die mit [S+] gekennzeichnet sind, sind Newsletter-Abonnenten vorbehalten.
Jetzt Abonnent werden
Falls Sie SmartTools Access Weekly noch nicht abonniert haben, können Sie sich jetzt anmelden – kostenlos und innerhalb weniger Minuten! Sie erhalten dann umgehend ein Passwort, das alle Premium-Beiträge für Sie freischaltet.
[S+] Inhalte freischalten
Wenn Sie SmartTools Access Weekly bereits beziehen, geben Sie hier Ihr Abonnenten-Passwort ein, um alle Premium-Beiträge freizuschalten:
Tipp: Sie finden das gültige Passwort immer am Ende der neuesten Ausgabe Ihres Newsletters.