Verwenden von MS Acess 2016 zum Entfernen bestimmter Felder eines Datensatzes, während gleichzeitig die gesamte Datenmenge in einer Abfrage angezeigt wird

403
Zach

Ich möchte einen Datensatz von mir in MS Access 2016 abfragen, in dem nur bestimmte Zeichenfolgen in der Ausgabe der Abfrage enthalten sind (bitte sehen Sie sich das enthaltene Bild an). Ich schaue nach allen Feldern mit Zeichenfolgen, die die Wörter "rat", "mouse", "stoat" und "possum" aus den "Pest_com" -Spalten enthalten, während alle anderen Felder in diesen Spalten ausgeschlossen sind.

Normalerweise hätte ich mit nachfolgenden Operatoren einen Links-Join aus der übergeordneten Tabelle verwendet, aber ich möchte alle Datensätze der Tabelle aufbewahren. Das Einrichten einer Abfrage auf diese Weise scheint Datensätze herauszufiltern, die die gesuchten Zeichenfolgen nicht enthalten. Stattdessen möchte ich alle Datensätze in der Abfrage behalten und nur die Felder entfernen, die meine gewünschten Informationen nicht enthalten.

Vielen Dank im Voraus für Ihre Hilfe!

Verwenden von MS Acess 2016 zum Entfernen bestimmter Felder eines Datensatzes, während gleichzeitig die gesamte Datenmenge in einer Abfrage angezeigt wird

0

1 Antwort auf die Frage

0
Jason

Ich denke, Sie möchten den Wert im Feld anzeigen, wenn der Wert Ihrer Testliste entspricht. In diesem Fall würde ich die IIF-Funktion verwenden. Der erste Parameter ist ein logischer Test, bei dem Sie feststellen müssen, ob eine Übereinstimmung vorliegt. Ist dies der Fall, zeigen Sie den Wert anderweitig an, und zeigen Sie ein Leerzeichen an.

In der QBE können Sie Pest_Com1 durch Folgendes ersetzen, wobei tbl der Name der Tabelle ist.

Pest_COM1: IIF (tbl.Pest_COM1 LIKE "*rat*" OR tbl.Pest_COM1 LIKE "*mouse*" OR tbl.Pest_COM1 LIKE "*stoat*" OR tbl.Pest_COM1 LIKE "*possum*",tbl.Pest_COM1, "") 

Sie können dies einfach für die zusätzlichen Spalten wiederholen. Für so etwas füge ich es oft in den Notizblock ein und füge den Feldnamen ein, kopiere dann zurück in die Abfrage, anstatt jeden Fall manuell zu bearbeiten.

Wenn Sie nur die relevanten Felder buchstäblich einschließen möchten, müssen Sie die SQL-Zeichenfolge in vba-Code erstellen. Sie müssen feststellen, ob in jedem Feld Werte enthalten sind, um zu bestimmen, ob sie aufgenommen werden sollen. Sie können hierfür eine ähnliche IIF wie oben verwenden, aber den wahren Teil (zweiten Parameter) durch 1 und den falschen Teil (dritten Parameter) durch 0 ersetzen. Dann summieren Sie. Wenn das Feld einen Wert> 0 hat, möchten Sie das Feld einschließen. Das ist nur der Abfrageteil.