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. Bei der Abfrage eines Nachschlagefelds oder eines mehrwertigen Felds sind besondere Überlegungen anzustellen. Weitere Informationen finden Sie unter Erstellen oder Löschen eines mehrwertigen Felds und Erstellen oder Löschen eines Nachschlagefelds.
Inhalt dieses Artikels
- Anzeigen des gebundenen Werts eines Nachschlagefelds in einer Abfrage
- Verwenden des Anzeigewerts für ein Nachschlagefeld in einer Abfrage
- Verwenden eines mehrwertigen Felds in einer Abfrage
- Hinzufügen von Kriterien zu einem mehrwertigen Feld in einer Abfrage
- Hinzufügen mehrerer Kriterien zu einem mehrwertigen Feld in einer Abfrage
- Gruppieren und Zählen eines mehrwertigen Felds in einer Abfrage
- Verwenden einer Anfügeabfrage mit einem mehrwertigen Feld
- Verwenden einer Aktualisierungsabfrage mit einem mehrwertigen Feld
- Verwenden einer Löschabfrage mit einem mehrwertigen Feld
Anzeigen des gebundenen Werts eines Nachschlagefelds in einer Abfrage
Der Anzeigewert eines Nachschlagefelds wird standardmäßig automatisch in der Abfragedatenblattansicht angezeigt. Beim Erstellen einer Abfrage können Sie dieses Verhalten außer Kraft setzen, sodass stattdessen der gebundene Wert angezeigt wird. Nehmen Sie in diesem Beispiel an, Sie möchten den gebundenen Wert eines Nachschlagefelds in einer Hauptquartiertabelle anzeigen, die nach einem Namen eines Bundesstaats New England "sucht".
Öffnen Sie die Abfrage in der Entwurfsansicht.
Fügen Sie in diesem Beispiel die Tabellen "Hauptsitz " und "NewEngland " hinzu.
Die beiden Tabellen sollten verknüpft werden.
Weitere Informationen finden Sie unter Verknüpfen von Tabellen und Abfragen.
Ziehen Sie das Feld a zusammen mit dem Nachschlagefeld in den Abfrageentwurfsbereich. Fügen Sie in diesem Beispiel die Felder "Ort " und "NEState " hinzu.
Klicken Sie auf das Feld Nachschlage, und klicken Sie dann auf der Registerkarte Entwurf in der Gruppe Einblenden/Ausblenden auf Eigenschaftenblatt. Verwenden Sie in diesem Beispiel das NEState-Feld .
Wählen Sie auf dem Eigenschaftenblatt die Registerkarte "Suchen " und dann in der Eigenschaft "Steuerelement anzeigen " die Option "Textfeld" aus.
Ergebnis Wenn Sie nun die Abfrage in der Datenblattansicht anzeigen, sehen Sie den entsprechenden gebundenen Wert des Anzeigewerts.
Verwenden des Anzeigewerts für ein Nachschlagefeld in einer Abfrage
Wenn Sie ein Nachschlagefeld erstellen, wird eine Verknüpfung zwischen dem Bound-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. Nehmen Sie in diesem Beispiel an, Sie möchten den Anzeigewert des Nachschlagefelds NEState in der Tabelle "Hauptquartier " in einer Abfrage als Suchkriterium verwenden.
Öffnen Sie die Abfrage in der Entwurfsansicht.
Fügen Sie in diesem Beispiel die Tabellen "Hauptsitz " und "Neuengland " hinzu.
Die beiden Tabellen sollten verknüpft werden. Weitere Informationen finden Sie unter Verknüpfen von Tabellen und Abfragen.Ziehen Sie die gewünschten Felder in das Abfrageraster. Ziehen Sie in diesem Beispiel City aus der Tabelle "Hauptquartier" in die erste Spalte, NEState aus der Tabelle "Hauptquartier" in die zweite Spalte und "StateName " aus der Tabelle "NewEngland" in die dritte Spalte.
Deaktivieren Sie das Kontrollkästchen "Anzeigen " von "StateName" im Abfrageraster.
Geben Sie im Abfrageraster unter StateName in der Zeile Kriterien Vermont ein.
Die Abfragekriterien basieren auf der Spalte StateName , die natürlich mit dem Anzeigewert NEState identisch ist, aber in der Datenblattansicht nicht angezeigt wird.
Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen.
Ergebnis Es wird nur die Zeile angezeigt, die "Vermont " enthält.
Verwenden eines mehrwertigen Felds in einer Abfrage
Wenn Sie in einer Abfrage ein mehrwertiges Feld anzeigen, können Sie das vollständige mehrwertige Feld anzeigen, das alle Werte durch Kommas getrennt in einer Zeile enthält, oder vereinfachte Daten mit einer separaten Zeile für jeden Wert. Angenommen, Sie verfügen über eine Tabelle "Probleme ", die ein Titelfeld für jedes Problem und ein mehrwertiges Feld "Zugewiesenan" enthält, um Personen Probleme zuzuweisen.
Alle Werte in einem mehrwertigen Feld in einer Zeile anzeigen
- Öffnen Sie die Abfrage in der Entwurfsansicht.
- Fügen Sie in diesem Beispiel die Tabelle "Probleme " hinzu.
- Ziehen Sie die Felder in den Entwurfsbereich der Abfrage. Ziehen Sie in diesem Beispiel die Felder "Titel" und " Zugewiesen an " mit mehreren Werten.
- Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen.
Ergebnis Wie zu erwarten, wird in einer Spalte das Feld "Titel " und in der zweiten Spalte das mehrwertige Feld "Zugewiesener" angezeigt :
Anzeigen jedes Werts eines mehrwertigen Felds in einer Zeile (vereinfachte Ansicht)
- Öffnen Sie die Abfrage in der Entwurfsansicht.
- Fügen Sie in diesem Beispiel die Tabelle "Probleme " hinzu.
- Ziehen Sie die Felder in das Abfrageraster. Ziehen Sie in diesem Beispiel das Feld "Titel " und das mehrwertige Feld "AssignedTo.Value ".
Das Format, <Feldname>. Value, hängt die Value-Eigenschaft als Zeichenfolge an. Wert für das Feld "Zugewiesener". - Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen.
Ergebnis Die Daten werden so vereinfacht, dass das Feld "Titel " wiederholt wird und jeder Wert im mehrwertigen Feld "Zugewiesenan" in einer entsprechenden Zeile angezeigt wird:
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.
Hinzufügen von Kriterien, die alle Werte in einem mehrwertigen Feld in einer Zeile anzeigen
Access erstellt zunächst ein Resultset und fügt dann die Kriterien hinzu.
Öffnen Sie die Abfrage in der Entwurfsansicht.
Fügen Sie in diesem Beispiel die Tabelle "Probleme " hinzu.
Ziehen Sie die Felder in das Abfrageraster. Ziehen Sie in diesem Beispiel das Feld "Titel ", das mehrwertige Feld "Zugewiesenan " und das mehrwertige Feld "Zugewiesener.Wert ".
Deaktivieren Sie das Kontrollkästchen "Anzeigen " von "AssignedTo.Value " im Abfrageraster.
Geben Sie im Abfrageraster unter AssignedTo.Value in der Zeile Kriterien "NICHT "David Hamilton" ein.
Es ist hilfreich, die SQL-Ansicht anzuzeigen:
SELECT Title, AssignedTo FROM Issues WHERE NOT AssignedTo.Value = "David Hamilton";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.
Fügen Sie Kriterien hinzu, mit denen jeder Wert in einem mehrwertigen Feld in einer Zeile angezeigt wird (die vereinfachte Ansicht)
Access erstellt zuerst ein vereinfachtes Resultset und fügt dann die Kriterien hinzu.
Öffnen Sie die Abfrage in der Entwurfsansicht.
Fügen Sie in diesem Beispiel die Tabelle "Probleme " hinzu.
Ziehen Sie die Felder in das Abfrageraster. Ziehen Sie in diesem Beispiel das Feld "Titel " und das mehrwertige Feld "AssignedTo.Value ".
Geben Sie im Abfrageraster unter AssignedTo.Value in der Zeile Kriterien NICHT "David Hamilton" ein.
Es ist hilfreich, die SQL-Ansicht anzuzeigen:
SELECT Issues.Title, AssignedTo.Value FROM Issues WHERE NOT AssignedTo.Value = "David Hamilton"Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen.
Ergebnis Jedes Problem, das nicht David Hamilton zugewiesen ist, wird in einem vereinfachten Wert angezeigt.
Hinzufügen mehrerer Kriterien zu einem mehrwertigen Feld in einer Abfrage
Gelegentlich müssen Sie nach einer Übereinstimmung für mehrere Werte innerhalb eines mehrwertigen Felds suchen. Angenommen, Sie möchten die Probleme anzeigen, bei denen sowohl "Kelly Rollin" als auch "Lisa Miller" zu den Werten im Feld "Zugewiesen" gehören
- Öffnen Sie die Abfrage in der Entwurfsansicht.
- Fügen Sie in diesem Beispiel die Tabelle "Probleme " hinzu.
- Ziehen Sie die Felder in das Abfrageraster. Ziehen Sie in diesem Beispiel die Felder "Titel" und " Zugewiesen an " mit mehreren Werten.
- Geben Sie im Abfrageraster unter Zugewiesen an in der Zeile Kriterien "Kelly Rollin" UND "Lisa Miller" ein.
- 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.
Gruppieren und Zählen eines mehrwertigen Felds in einer Abfrage
Verwenden Sie den Feldnamen>, <um Berechnungen, Gruppierungen und Sortierungen von Werten auszuführen, die in einem mehrwertigen Feld gespeichert sind. Wertfeld. Weitere Informationen zu Gruppenabfragen finden Sie unter Zählen von Daten mithilfe einer Abfrage.
So zählen Sie die Anzahl der jeder Person zugewiesenen Probleme
- Öffnen Sie die Abfrage in der Entwurfsansicht.
- Fügen Sie in diesem Beispiel die Tabelle "Probleme " hinzu.
- Ziehen Sie die gewünschten Felder in das Abfrageraster. Ziehen Sie in diesem Beispiel "AssignedTo.Value " in die erste Spalte und Titel in die zweite Spalte.
- Klicken Sie auf der Registerkarte Entwurf in der Gruppe Einblenden/Ausblenden auf Summen.
Die Ergebniszeile wird im Abfrageraster angezeigt. "Gruppieren nach" wird standardmäßig in der Zelle "Summe " unter jedem Feld in der Abfrage angezeigt. - Klicken Sie im Abfrageraster unter Titelin der Ergebniszeile auf Anzahl.
- 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.
So zählen Sie, wie viele Personen jedem Problem zugewiesen sind
- Öffnen Sie die Abfrage in der Entwurfsansicht.
- Fügen Sie in diesem Beispiel die Tabelle "Probleme " hinzu.
- Ziehen Sie die gewünschten Felder in das Abfrageraster. Ziehen Sie in diesem Beispiel "Titel " in die erste Spalte und ziehen Sie "Zugewiesenan" in die zweite Spalte.
- Klicken Sie auf der Registerkarte Entwurf in der Gruppe Einblenden/Ausblenden auf Summen.
Die Ergebniszeile wird im Abfrageraster angezeigt. "Gruppieren nach" wird standardmäßig in der Zelle "Summe " unter dem Feld "Titel" in der Abfrage angezeigt. Der Ausdruck wird standardmäßig in der Zelle "Summe " unter dem Feld "Zugewiesen" angezeigt, da Sie den Vorgang "Gruppieren nach" nicht direkt für ein mehrwertiges Feld, sondern nur für einen <Feldnamen> ausführen können. Wertfeld. - Klicken Sie im Abfrageraster unter Zugewiesen an in der Zeile Summe auf Anzahl.
- 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.
Verwenden einer Anfügeabfrage mit einem mehrwertigen Feld
Sie können einen einzelnen Wert in ein mehrwertiges Feld einfügen, indem Sie eine Anfügeabfrage verwenden. Angenommen, Sie möchten dem mehrwertigen Feld "Zugewiesenan" in der Tabelle "Probleme" den Wert "Tom Michaels" hinzufügen.
Hinweis Dies ist der einzige Typ von Anfügeabfrage, der mit einem mehrwertigen Feld funktioniert.
- Öffnen Sie die Abfrage in der Entwurfsansicht.
- Fügen Sie die Tabelle "Probleme " hinzu.
- Klicken Sie auf der Registerkarte Entwurfauf Anfügen.
- Wählen Sie im Dialogfeld "Anfügen" die Option "Probleme" aus, und klicken Sie dann auf "OK".
- Wählen Sie im Entwurfsbereich in der Zeile "Anfügen an " die Option "Zugewiesener.Wert" aus.
- Geben Sie in der Feldzeile des Entwurfsbereichs "Tom Michaels" ein.
- Wenn Sie die Anfügeoperation auf bestimmte Probleme beschränken möchten, fügen Sie dem Entwurfsbereich ein Feld wie "Titel" hinzu, entfernen Sie "Titel " aus der Zeile "Anfügen ", und geben Sie dann Kriterien wie "Problem 3" ein.
- Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen.
Sie werden möglicherweise von Access aufgefordert, zu bestätigen, ob die ausgewählte Zeile angefügt werden soll. Klicken Sie auf "Ja ", um die Zeile einzufügen, oder klicken Sie auf "Nein ", um den Vorgang abzubrechen.
Ergebnis "Tom Michaels" wird nun für Ausgabe 3 dem Feld "Zugewiesen" hinzugefügt.
Wichtig Sie können keine Anfügeabfrage verwenden, die auf eine Tabelle verweist, die ein mehrwertiges Feld enthält. Beispielsweise ist die folgende Abfrage ungültig:
INSERT INTO [NewIssues] ( ID, Title, AssignedTo ) SELECT Issues.ID, Issues.Title, Issues.AssignedTo FROM Issues;
Verwenden einer Aktualisierungsabfrage mit einem mehrwertigen Feld
Mit einer Aktualisierungsabfrage können Sie einen einzelnen Wert in einem mehrwertigen Feld in einen anderen Wert ändern. In diesem Beispiel möchten Sie das mehrwertige Feld "Zugewiesenan" so aktualisieren, dass "Kelly Rollin" durch "Lisa Müller" ersetzt wird.
- Öffnen Sie die Abfrage in der Entwurfsansicht.
- Fügen Sie die Tabelle "Probleme " hinzu.
- Klicken Sie auf der Registerkarte Entwurf auf "Aktualisieren".
- Ziehen Sie "AssignedTo.Value " in das Abfrageraster.
- Geben Sie in der Zeile "Aktualisieren auf " "Lisa Miller" ein.
- Geben Sie in die Zeile Kriterien "Kelly Rollin" ein.
- Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen.
Sie werden möglicherweise von Access aufgefordert, zu bestätigen, ob die ausgewählte Zeile angefügt werden soll. Klicken Sie auf "Ja ", um die Zeile einzufügen, oder klicken Sie auf "Nein ", um den Vorgang abzubrechen.
Ergebnis Lisa Miller ersetzt Kelly Rollin im Feld "Zugewiesen" für alle entsprechenden Probleme.
Verwenden einer 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 Sie im folgenden Beispiel an, Sie möchten "David Hamilton" aus der Tabelle "Probleme" 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, d. h. 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.
So löschen Sie einen bestimmten Wert aus einem mehrwertigen Feld in allen Datensätzen
- Klicken Sie auf der Registerkarte Erstellen in der Gruppe Abfragen auf Abfrageentwurf.
- Fügen Sie die Tabelle "Probleme " hinzu.
- Öffnen Sie die Abfrage in der Entwurfsansicht.
- Klicken Sie auf der Registerkarte Entwurf auf Löschen.
- Geben Sie in die Zeile Kriterien "David Hamilton" ein.
- Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen.
Sie werden möglicherweise von Access aufgefordert, zu bestätigen, ob die Datensätze gelöscht werden sollen. Klicken Sie auf Ja , um die Datensätze zu löschen, oder klicken Sie auf Nein , um den Vorgang abzubrechen.
Ergebnis David Hamilton wird wegen aller entsprechenden Probleme entfernt.
Löschen von Datensätzen, die einen bestimmten Wert in einem mehrwertigen Feld enthalten
Klicken Sie auf der Registerkarte Erstellen in der Gruppe Abfragen auf Abfrageentwurf.
Fügen Sie die Tabelle "Probleme " hinzu.
Öffnen Sie die Abfrage in der Entwurfsansicht.
Klicken Sie auf der Registerkarte Entwurf auf Gruppe löschen .
Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf den Pfeil unter Ansicht und dann auf SQL-Ansicht.
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 den Entwurfsbereich. Wenn Sie zur Entwurfsbereichsansicht wechseln, fügt Access hinter der DELETE-Anweisung ein Sternchen (*) hinzu, das Sie aus der SQL-Ansicht entfernen sollten.
Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen.
Sie werden möglicherweise von Access aufgefordert, zu bestätigen, ob die Datensätze gelöscht werden sollen. Klicken Sie auf Ja , um die Datensätze zu löschen, oder klicken Sie auf Nein , um den Vorgang abzubrechen.
Ergebnis Alle Ausgaben, in denen David Hamilton zugewiesen ist, werden entfernt.