Thursday, February 23, 2023

Verwenden von Nachschlagefeldern und mehrwertigen Feldern in Abfragen – Microsoft Support

In Access können Sie ein mehrwertiges Feld erstellen, das mehrere Werte enthält (bis zu 100). Sie können auch ein Nachschlagefeld erstellen, das einen benutzerfreundlichen Wert anzeigt, der an einen Wert in einer anderen Datenquelle gebunden ist. Wenn Sie ein Nachschlagefeld oder ein mehrwertiges Feld abfragen, müssen besondere Überlegungen angestellt werden. Weitere Informationen finden Sie unter Erstellen oder Löschen eines mehrwertigen Felds und Erstellen oder Löschen eines Nachschlagefelds .

In diesem Artikel

Zeigen Sie den gebundenen Wert eines Nachschlagefelds in einer Abfrage an

Der Anzeigewert eines Nachschlagefelds wird standardmäßig automatisch in der Abfragedatenblattansicht angezeigt. Wenn Sie eine Abfrage erstellen, können Sie dieses Verhalten überschreiben, sodass stattdessen der gebundene Wert angezeigt wird. Angenommen, Sie möchten in diesem Beispiel den gebundenen Wert eines Nachschlagefelds in einer Headquarters-Tabelle anzeigen, die den Namen eines Bundesstaates in New England „nachschlägt".

Die Nachschlagefeldtabellen
  1. Öffnen Sie die Abfrage in der Entwurfsansicht .

  2. Fügen Sie in diesem Beispiel die Tabellen Headquarters und NewEngland hinzu.

    Die beiden Tabellen sollten verbunden werden.

    Das Lookup-Feldschema

    Weitere Informationen finden Sie unter Tabellen und Abfragen verknüpfen .

  3. Ziehen Sie das a-Feld zusammen mit dem Nachschlagefeld in den Abfrageentwurfsbereich. Fügen Sie in diesem Beispiel die Felder City und NEState hinzu.

  4. Klicken Sie auf das Suchfeld und dann auf der Registerkarte Entwurf in der Gruppe Einblenden/Ausblenden auf Eigenschaftenblatt . Verwenden Sie in diesem Beispiel das Feld NEState .

  5. Wählen Sie im Eigenschaftenblatt die Registerkarte Nachschlagen aus, und wählen Sie dann in der Eigenschaft Anzeigesteuerelement die Option Textfeld aus.

    Zeigen Sie die Steuerelementeigenschaft im Abfragedesign an

Ergebnis Wenn Sie nun die Abfrage in der Datenblattansicht anzeigen, sehen Sie den entsprechenden gebundenen Wert des Anzeigewerts.

Das Abfrageergebnis, das den gebundenen Wert anzeigt

Seitenanfang

Verwenden Sie den Anzeigewert für ein Nachschlagefeld in einer Abfrage

Wenn Sie ein Nachschlagefeld erstellen, wird eine Verknüpfung zwischen dem gebundenen Wert und dem Anzeigewert erstellt. Obwohl Sie den Anzeigewert nicht direkt in einer Abfrage verwenden können, können Sie den entsprechenden Wert aus der anderen Datenquelle verwenden. Angenommen, Sie möchten in diesem Beispiel den Anzeigewert des Nachschlagefelds NEState in der Tabelle Headquarters in einer Abfrage als Kriterium verwenden.

  1. Öffnen Sie die Abfrage in der Entwurfsansicht .

  2. Fügen Sie in diesem Beispiel die Tabellen Headquarters und NewEngland hinzu.

    Die beiden Tabellen sollten verbunden werden. Weitere Informationen finden Sie unter Tabellen und Abfragen verknüpfen .

  3. Ziehen Sie die Felder, die Sie verwenden möchten, in das Abfrageraster. Ziehen Sie in diesem Beispiel „City" aus der Tabelle „Headquarters" in die erste Spalte, „NEState" aus der Tabelle „Headquarters" in die zweite Spalte und „ StateName" aus der Tabelle „NewEngland" in die dritte Spalte.

  4. Deaktivieren Sie das Kontrollkästchen Anzeigen des StateName im Abfrageraster.

  5. Geben Sie im Abfrageraster unter StateName in der Zeile Criteria Vermont ein.

    Abfrageraster, das den gebundenen Wert eines Nachschlagefelds anzeigt

    Die Abfragekriterien basieren auf der StateName- Spalte, die natürlich derselbe Wert wie der Anzeigewert NEState ist, aber nicht in der Datenblattansicht angezeigt wird.

  6. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen .

Ergebnis Nur die Zeile mit Vermont wird angezeigt.

Ergebnisse der Abfrage

Seitenanfang

Verwenden Sie ein mehrwertiges Feld in einer Abfrage

Wenn Sie ein mehrwertiges Feld in einer Abfrage anzeigen, können Sie das vollständige mehrwertige Feld mit allen durch Kommas getrennten Werten in einer Zeile oder vereinfachte Daten mit einer separaten Zeile für jeden Wert anzeigen. Angenommen, Sie haben eine Problemtabelle , die ein Titelfeld für jedes Problem und ein mehrwertiges Feld „Zugewiesen an " enthält, um Personen Probleme zuzuweisen.

Alle Werte in einem mehrwertigen Feld in einer Zeile anzeigen

  1. Öffnen Sie die Abfrage in der Entwurfsansicht .

  2. Fügen Sie in diesem Beispiel die Issues- Tabelle hinzu.

  3. Ziehen Sie die Felder in den Abfrageentwurfsbereich. Ziehen Sie in diesem Beispiel das Feld Title und das mehrwertige Feld AssignedTo .

  4. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen .

Ergebnis Wie zu erwarten, zeigt eine Spalte das Feld Titel und die zweite Spalte das mehrwertige Feld AssignedTo an:

Abfrage von mehrwertigen Feldern mit nicht reduzierten Ergebnissen

Zeigen Sie jeden Wert eines mehrwertigen Felds in einer Zeile an (die vereinfachte Ansicht)

  1. Öffnen Sie die Abfrage in der Entwurfsansicht .

  2. Fügen Sie in diesem Beispiel die Issues- Tabelle hinzu.

  3. Ziehen Sie die Felder in das Abfrageraster. Ziehen Sie in diesem Beispiel das Feld Title und das mehrwertige Feld AssignedTo.Value .

    Das Format <Fieldname>.Value hängt die Eigenschaft Value als Zeichenfolge .Value an das Feld AssignedTo an.

  4. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen .

Ergebnis Die Daten werden so reduziert, dass das Feld Title wiederholt wird und jeder Wert im mehrwertigen Feld AssignedTo in einer entsprechenden Zeile angezeigt wird:

Abfrage von mehrwertigen Feldern mit vereinfachten Ergebnissen

Seitenanfang

Hinzufügen von Kriterien zu einem mehrwertigen Feld in einer Abfrage

Die Platzierung derselben Kriterien im Abfrageraster in verschiedenen Rasterspalten hat einen großen Einfluss auf die Ergebnisse Ihrer Abfrage.

Fügen Sie Kriterien hinzu, die alle Werte in einem mehrwertigen Feld in einer Zeile anzeigen

Access erstellt zuerst ein Resultset und fügt dann die Kriterien hinzu.

  1. Öffnen Sie die Abfrage in der Entwurfsansicht .

  2. Fügen Sie in diesem Beispiel die Issues- Tabelle hinzu.

  3. Ziehen Sie die Felder in das Abfrageraster. Ziehen Sie in diesem Beispiel das Feld Title , das mehrwertige Feld AssignedTo und das mehrwertige Feld AssignedTo.Value .

  4. Deaktivieren Sie das Kontrollkästchen Anzeigen von AssignedTo.Value im Abfrageraster.

  5. Geben Sie im Abfrageraster unter AssignedTo.Value in der Zeile Criteria „NOT „David Hamilton" ein.

    Abfrageentwurfsraster mit direktem Nachschlagefeld

    Es ist hilfreich, die SQL-Ansicht zu sehen:

    SELECT Title, AssignedTo FROM Issues WHERE NOT AssignedTo.Value = „David Hamilton";

  6. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen .

Ergebnis Die drei Ausgaben, die David Hamilton nicht zugeordnet sind, werden in einem Standardwert angezeigt.

Ergebnisse für mehrwertiges Feld mit <Fieldname>

Hinzufügen von Kriterien, die jeden Wert in einem mehrwertigen Feld in einer Zeile anzeigen (die vereinfachte Ansicht)

Access erstellt zuerst ein vereinfachtes Resultset und fügt dann die Kriterien hinzu.

  1. Öffnen Sie die Abfrage in der Entwurfsansicht .

  2. Fügen Sie in diesem Beispiel die Issues- Tabelle hinzu.

  3. Ziehen Sie die Felder in das Abfrageraster. Ziehen Sie in diesem Beispiel das Feld Title und das mehrwertige Feld AssignedTo.Value .

  4. Geben Sie im Abfrageraster unter AssignedTo.Value in der Zeile Criteria NOT "David Hamilton" ein.

    Abfrageentwurfsraster mit .Value-Format für Nachschlagefelder

    Es ist hilfreich, die SQL-Ansicht zu sehen:

    SELECT Issues.Title, AssignedTo.Value FROM Issues WHERE NOT AssignedTo.Value = „David Hamilton"

  5. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen .

Ergebnis Jede Ausgabe, die nicht David Hamilton zugeordnet ist, wird in einem abgeflachten Wert angezeigt.

Ergebnisse für mehrwertiges Feld mit <Fieldname>.Value

Seitenanfang

Fügen Sie einem mehrwertigen Feld in einer Abfrage mehrere Kriterien hinzu

Manchmal müssen Sie nach einer Übereinstimmung für mehr als einen Wert in einem mehrwertigen Feld suchen. Angenommen, Sie möchten die Ausgaben anzeigen, in denen sowohl „Kelly Rollin" als auch „Lisa Miller" zu den Werten im Feld „ Zugewiesen an" gehören

  1. Öffnen Sie die Abfrage in der Entwurfsansicht .

  2. Fügen Sie in diesem Beispiel die Issues- Tabelle hinzu.

  3. Ziehen Sie die Felder in das Abfrageraster. Ziehen Sie in diesem Beispiel das Feld Title und das mehrwertige Feld AssignedTo .

  4. Geben Sie im Abfrageraster unter Zugewiesen an in der Zeile Kriterien „Kelly Rollin" UND „Lisa Miller" ein.

  5. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen .

Ergebnis Die beiden Ausgaben, die "Kelly Rollin" und "Lisa Miller" zugeordnet sind, werden angezeigt.

Abfrageergebnis, das die Verwendung von AND in einem mehrwertigen Feld zeigt

Seitenanfang

Gruppieren und Zählen eines mehrwertigen Felds in einer Abfrage

Um Berechnungen, Gruppierungen und Sortierungen von Werten durchzuführen, die in einem mehrwertigen Feld gespeichert sind, verwenden Sie das Feld <Feldname>.Wert. Weitere Informationen zu Gruppenabfragen finden Sie unter Zählen von Daten mithilfe einer Abfrage .

Um die Anzahl der jeder Person zugewiesenen Probleme zu zählen

  1. Öffnen Sie die Abfrage in der Entwurfsansicht .

  2. Fügen Sie in diesem Beispiel die Issues- Tabelle hinzu.

  3. Ziehen Sie die Felder, die Sie verwenden möchten, in das Abfrageraster. Ziehen Sie in diesem Beispiel AssignedTo.Value in die erste Spalte und Title in die zweite Spalte.

  4. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Einblenden/Ausblenden auf Summen .

    Die Zeile Gesamt wird im Abfrageraster angezeigt. „Gruppieren nach" wird standardmäßig in der Zelle „Gesamt" unter jedem Feld in der Abfrage angezeigt.

  5. Klicken Sie im Abfrageraster unter Titel in der Zeile Gesamt auf Anzahl .

  6. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen .

Ergebnis Die Anzahl der pro Person zugewiesenen Probleme wird in einer vereinfachten Ansicht angezeigt.

Eine Abfrage, die die jeder Person zugewiesenen Probleme zählt

Zählen, wie viele Personen jeder Ausgabe zugeordnet sind

  1. Öffnen Sie die Abfrage in der Entwurfsansicht .

  2. Fügen Sie in diesem Beispiel die Issues- Tabelle hinzu.

  3. Ziehen Sie die Felder, die Sie verwenden möchten, in das Abfrageraster. Ziehen Sie in diesem Beispiel Title in die erste Spalte und AssignedTo in die zweite Spalte.

  4. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Einblenden/Ausblenden auf Summen .

    Die Zeile Gesamt wird im Abfrageraster angezeigt. „Gruppieren nach" wird standardmäßig in der Zelle „ Gesamt " unter dem Feld „Titel" in der Abfrage angezeigt. Der Ausdruck wird standardmäßig in der Zelle „ Gesamt " unter dem Feld „ Zugewiesen an " angezeigt, da Sie einen Vorgang „Gruppieren nach" nicht direkt für ein mehrwertiges Feld ausführen können, sondern nur für ein Feld „<Feldname>.Wert".

  5. Klicken Sie im Abfrageraster unter AssignedTo in der Zeile Total auf Count .

  6. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen .

Ergebnis Die Anzahl der pro Problem zugewiesenen Personen wird in einer vereinfachten Ansicht angezeigt.

Abfrageergebnis, das die Anzahl der Personen pro Problem anzeigt

Seitenanfang

Verwenden Sie eine Append-Abfrage mit einem mehrwertigen Feld

Sie können einen einzelnen Wert in ein mehrwertiges Feld einfügen, indem Sie eine Append-Abfrage verwenden. Angenommen, Sie möchten „Tom Michaels" zum mehrwertigen Feld „Zugewiesen an" in der Tabelle „Probleme" hinzufügen.

Hinweis Dies ist der einzige Typ von Anfügeabfrage, der mit einem mehrwertigen Feld funktioniert.

  1. Öffnen Sie die Abfrage in der Entwurfsansicht .

  2. Fügen Sie die Issues- Tabelle hinzu.

  3. Klicken Sie auf der Registerkarte Design auf Anhängen .

  4. Wählen Sie im Dialogfeld Anhängen die Option Probleme aus und klicken Sie dann auf OK .

  5. Wählen Sie in der Zeile Anfügen an des Designrasters die Option AssignedTo.Value aus.

  6. Geben Sie in der Feldzeile des Designrasters „Tom Michaels" ein.

  7. Um den Anhängevorgang auf bestimmte Probleme zu beschränken, fügen Sie dem Entwurfsbereich ein Feld hinzu, z. B. Titel , entfernen Sie Titel aus der Zeile Anhängen an und geben Sie dann Kriterien wie „Problem 3" ein.

  8. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen .

    Access fordert Sie möglicherweise auf, zu bestätigen, ob die ausgewählte Zeile angehängt werden soll. Klicken Sie auf Ja , um die Zeile einzufügen, oder auf Nein, um abzubrechen.

Das Ergebnis „Tom Michaels" wird jetzt zum Feld „AssignedTo" für Issue 3 hinzugefügt.

Wichtig Sie können keine Append-Abfrage verwenden, die auf eine Tabelle verweist, die ein mehrwertiges Feld enthält. Die folgende Abfrage ist beispielsweise nicht gültig:

 INSERT INTO [NewIssues] ( ID, Title, AssignedTo ) SELECT Issues.ID, Issues.Title, Issues.AssignedTo FROM Issues;

Seitenanfang

Verwenden Sie eine Aktualisierungsabfrage mit einem mehrwertigen Feld

Sie können eine Aktualisierungsabfrage verwenden, um einen einzelnen Wert in einem mehrwertigen Feld in einen anderen Wert zu ändern. In diesem Beispiel möchten Sie das mehrwertige Feld „AssignedTo" aktualisieren, um „Kelly Rollin" durch „Lisa Miller" zu ersetzen.

  1. Öffnen Sie die Abfrage in der Entwurfsansicht .

  2. Fügen Sie die Issues- Tabelle hinzu.

  3. Klicken Sie auf der Registerkarte Entwurf auf Aktualisieren .

  4. Ziehen Sie AssignedTo.Value in das Abfrageraster.

  5. Geben Sie in der Zeile „Aktualisieren auf" „Lisa Miller" ein.

  6. Geben Sie in der Zeile „ Kriterien " „Kelly Rollin" ein.

  7. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen .

    Access fordert Sie möglicherweise auf, zu bestätigen, ob die ausgewählte Zeile angehängt werden soll. Klicken Sie auf Ja , um die Zeile einzufügen, oder auf Nein, um abzubrechen.

Ergebnis Lisa Miller ersetzt Kelly Rollin im Feld AssignedTo für alle entsprechenden Issues.

Seitenanfang

Verwenden Sie eine Löschabfrage mit einem mehrwertigen Feld

Wenn Sie mit einer Tabelle arbeiten, die ein mehrwertiges Feld enthält, können Sie eine Löschabfrage verwenden, um Datensätze zu löschen, die einen bestimmten Wert in einem mehrwertigen Feld enthalten, oder um einen bestimmten Wert aus einem mehrwertigen Feld in allen Datensätzen in der Tabelle zu löschen. Nehmen wir im folgenden Beispiel an, Sie möchten „David Hamilton" aus der Tabelle Issues löschen.

Wichtig Wenn Sie eine Löschabfrage verwenden, um ein mehrwertiges Feld zu löschen, das Daten enthält, gehen diese Daten dauerhaft verloren – Sie können den Löschvorgang nicht rückgängig machen. Aus diesem Grund sollten Sie Ihre Datenbank sichern, bevor Sie Tabellenfelder oder andere Datenbankkomponenten löschen.

Um einen bestimmten Wert aus einem mehrwertigen Feld in allen Datensätzen zu löschen

  1. Klicken Sie auf der Registerkarte Erstellen in der Gruppe Abfragen auf Abfrageentwurf .

  2. Fügen Sie die Issues- Tabelle hinzu.

  3. Öffnen Sie die Abfrage in der Entwurfsansicht .

  4. Klicken Sie auf der Registerkarte Entwurf auf Löschen .

  5. Geben Sie in der Zeile „ Kriterien " „David Hamilton" ein.

  6. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen .

    Access fordert Sie möglicherweise auf, zu bestätigen, ob die Datensätze gelöscht werden sollen. Klicken Sie auf Ja , um die Datensätze zu löschen, oder auf Nein, um abzubrechen.

Ergebnis David Hamilton wird für alle entsprechenden Probleme entfernt.

Datensätze löschen, die einen bestimmten Wert in einem mehrwertigen Feld enthalten

  1. Klicken Sie auf der Registerkarte Erstellen in der Gruppe Abfragen auf Abfrageentwurf .

  2. Fügen Sie die Issues- Tabelle hinzu.

  3. Öffnen Sie die Abfrage in der Entwurfsansicht .

  4. Klicken Sie auf der Registerkarte Entwurf auf Gruppe löschen .

  5. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf den Pfeil unter Ansicht und dann auf SQL-Ansicht .

  6. Geben Sie die folgende SQL-Anweisung ein:

     DELETE FROM Issues WHERE (((Issues.AssignedTo.Value)="David Hamilton"));

    Hinweis In diesem Fall können Sie nur eine SQL-Anweisung verwenden, nicht das Design-Grid. Wenn Sie in die Entwurfsrasteransicht wechseln, fügt Access nach der DELETE-Anweisung ein Sternchen (*) ein, das Sie aus der SQL-Ansicht entfernen sollten.

  7. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen .

    Access fordert Sie möglicherweise auf, zu bestätigen, ob die Datensätze gelöscht werden sollen. Klicken Sie auf Ja , um die Datensätze zu löschen, oder auf Nein, um abzubrechen.

Ergebnis Alle Vorgänge, denen David Hamilton zugeordnet ist, werden entfernt.

Seitenanfang

No comments:

Post a Comment