Fragen und Antworten

Autor: André Minhorst, Duisburg

!

Selbst das beste Praxishandbuch kann nicht alle Fragen zum Thema Access beantworten. Daher finden Sie hier häufige, bei Autoren bzw. in der Redaktion auftretende Fragen, und natürlich auch die dazugehörenden Antworten, die sicher auch für viele weitere Leser interessant sein dürften.

Frage: Ich möchte gerne Daten in tabellarischer Form in einem Formular darstellen. Wie kann ich dies erreichen

Antwort: Zur tabellarischen Anzeige von Daten verwenden Sie – in Formularen wie auch in Berichten – die Ansicht Endlosformular. Sie können diese Ansicht im Eigenschaftsfenster des Formulars mit der Eigenschaft Standardansicht festlegen.

Abb. 1: Hinzufügen der Felder aus der Feldliste

Außerdem sollten Sie die Anzeige von Formularkopf und -fuß aktivieren, um Zeilenüberschriften anzeigen zu können.

Dies können Sie über den Menübefehl Ansicht/Formularfuß/-kopf erledigen.

Legen Sie dann die Datenherkunft fest – z. B. die Tabelle Kunden der Nordwind-Datenbank.

Ziehen Sie die gewünschten Felder in den Detailbereich – in der Regel werden das nicht alle sein, da die Formularbreite durch die Bildschirmbreite begrenzt wird (s. Abb. 1).

Im nächsten Schritt verschieben Sie die Bezeichnungsfelder der Textfelder in den Formularkopf.

Der Hintergrund ist, dass der Detailbereich für jeden vorhandenen Datensatz wiederholt angezeigt wird, der Inhalt von Formularkopf und -fuß aber lediglich nur einmal. Daher eignet sich dieser Bereich optimal für die Verwendung von Feldüberschriften.

Hier ist leider Handarbeit nötig, wie die folgende Schritt-für-Schritt-Anleitung zeigt:

Abb. 2: Entwurfsansicht des Formulars

Abb. 3: Formularansicht des Endlosformulars

  • Markieren Sie das gewünschte Bezeichnungsfeld.
  • Schneiden Sie es aus – beispielsweise mit der Tastenkombination Strg + X.
  • Klicken Sie in den Formularkopf.
  • Fügen Sie das Bezeichnungsfeld ein – beispielsweise mit der Tastenkombination Strg + C.
  • Bewegen Sie das Bezeichnungsfeld an die gewünschte Position.
  • Wiederholen Sie die obigen Schritte für die weiteren Bezeichnungsfelder.
  • Ordnen Sie nun die Bezeichnungs- und Textfelder tabellarisch an und verringern Sie die Höhe des Detailbereichs (s. Abb. 2).

    Wenn Sie nun in die Formularansicht wechseln, erhalten Sie ein Formular mit den Kundendaten in der Endlosansicht (s. Abb. 3).

    Frage: Ich zeige meine Daten in tabellarischer Form in einem Endlosformular an. Wie kann ich schnell die Details eines ausgewählten Datensatzes anzeigen

    Antwort: Das Problem lässt sich in zwei Schritten lösen. Zunächst benötigen Sie ein Formular zur detaillierten Anzeige der Daten. Anschließend passen Sie das Endlosformular so an, dass Sie schnell per Mausklick an die gewünschten Detaildaten kommen. Dazu erweitern Sie dieses Formular um eine Schaltfläche im Detailbereich, die für jeden Datensatz angezeigt wird.

    Erstellen eines Formulars zur Anzeige derDetails

    Das Formular zur Anzeige der Details ist schnell hergestellt. Sie können dies sogar auf die Schnelle mit dem Formularassistenten erledigen.

    Abb. 4: Formular zur Anzeige von Kundendetails

    Als Beispiel dient wie in der vorherigen Frage die Tabelle Kunden der Nordwind-Datenbank. Wenn Sie den Assistenten gestartet haben, wählen Sie zunächst die Tabelle Kunden aus und verschieben die gewünschten Felder nach rechts in die Liste der ausgewählten Felder.

    Wählen Sie im nächsten Schritt die Option Einspaltig aus. Die Einstellungen der nächsten beiden Schritte können Sie beibehalten. Das fertige Formular sieht wie in Abb. 4 aus.

    Sie haben das Ende des frei verfügbaren Textes erreicht. Möchten Sie ...

    Workplace

    Jahresabonnement TestzugangOder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:

    Schreibe einen Kommentar

    Fragen und Antworten

    Manchmal möchte man wissen, welche anderen Programme neben der Access-Anwendung laufen. Das kann z. B. interessant sein, wenn Sie von Access aus ein Word-Dokument anlegen möchten und nicht wissen, ob Sie Word zunächst starten müssen oder ob es bereits läuft.

    Das lässt sich mit einer VBA-Funktion leicht realisieren. Die Prozedur überprüft nacheinander alle geöffneten Fenster auf ihren Titel. Dazu müssen Sie natürlich wissen, welchen Titel die gewünschte Anwendung in der Titelleiste bzw. in der Taskleiste verwendet.

    Verwendung von API-Funktionen

    Die VBA-Funktion greift auf drei API-Funktionen zu, die Sie zunächst in einem neuen Modul deklarieren müssen. Zusätzlich zu den drei Funktionen deklarieren Sie drei Konstanten, die später in der Funktion Verwendung finden:

    Public Const GW_HWNDFIRST = 0
    Public Const GW_OWNER = 4
    Public Const GW_HWNDNEXT = 2

    Anschließend folgt die Deklaration der API-Funktionen (Quelltext 1):

    Quelltext 1

    Schließlich erstellen Sie die Funktion, mit der Sie überprüfen wollen, ob ein Anwendungsfenster mit einem bestimmten Namen vorhanden ist.

    Die Funktion ermittelt zunächst das Handle des aktuellen Access-Fensters. Ausgehend hiervon durchläuft sie anschließend alle weiteren vorhandenen Fenster. Dabei dient die API-Funktion zur Ermittlung des Fenstertitels. Dann überprüft die Funktion, ob es sich um ein Hauptfenster handelt und ob es sichtbar ist. Ist das der Fall, vergleicht die Funktion den gefundenen mit dem gesuchten Fenstertitel.

    Wenn die Funktion den gesuchten Fenstertitel findet, gibt Sie einen Wert zurück, der unglcich 0 ist.

    Abb. 1: Entwurfsansicht des Formulars zum Suchen einer Anwendung

    Formular zur Fenstersuche

    Erstellen Sie nun ein kleines Formular, in das Sie den Namen des gewünschten Fensters einfügen können. Speichern Sie das Formular unter dem Namen frmFensterSuchen und öffnen Sie es in der Entwurfsansicht.

    Fügen Sie dem Formular ein Testfeld zur Eingabe des gesuchten Fenstertitels hinzu und nennen Sie es txtFenstertitel. Außerdem benötigen Sie eine Schaltfläche, mit der Sie den Suchvorgang auslösen können (Abb. 1).

    
    

    Quelltext 2

    Bezeichnen Sie die Schaltfläche mit dem Namen btnFensterSuchen und hinterlegen Sie für seine Ereigniseigenschaft Beim Klicken die Prozedur aus Quelltext 3. Anschließend können Sie das

    Formular in der Formularansicht anzeigen und ausprobieren (s. Abb. 2).

    Mit Jokern zum Ziel

    Beachten Sie bitte, dass Sie die auch in Abfragen möglichen Platzhalter, z. B. Sternchen (*) oder

    Abb. 2: Das Suchen einer Anwendung

    Fragezeichen () verwenden können und – wahrscheinlich – auch müssen. Denn wenn Sie z. B. eine aktive Word-Anwendung auf die hier vorge-

    Quelltext 3

    stellte Art erkennen wollen, wissen Sie beispielsweise nicht, ob es sich um Word 97 oder Word 2000 handelt. Und während Word 97 im Titelleistentext beispielsweise den Anwendungsnamen einem eventuell geöffneten Dokument voranstellt, ist das bei Office 2000 genau andersherum. Hier sollten Sie also z. B. mit dem Ausdruck *Microsoft Word* arbeiten, um beide Versionen zu erkennen.

    Der Zugriff auf die Daten einer Tabelle ist meist ausreichend schnell. Manchmal erfordert die bessere Handhabe oder der Wunsch nach einer noch höheren Geschwindigkeit allerdings eine Alternative.

    Sie haben das Ende des frei verfügbaren Textes erreicht. Möchten Sie ...

    Workplace

    Jahresabonnement TestzugangOder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:

    Schreibe einen Kommentar