Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Abfrage erstellen suche alle datenwerte die nicht in Verwendung sind

Begonnen von Fast-Eddi, Dezember 14, 2022, 23:02:25

⏪ vorheriges - nächstes ⏩

Fast-Eddi

Hallo Zusammen,

ich habe eine Mitgliedsverwaltung, nun möchte ich in dem Formular, wo ich neue Mitglieder anlege, einen freien Ausweis zur Auswahl stellen.
Nun habe ich folgende Tabellen

tbl_Mitglieder (Mitgl_ID)
tbl_Ausweis_Mitglied   hier wird der Ausweis (Ausweis_mitg_Mitausweis_ID_Ref) dem Mitglied (Ausweis_mitg_Mitglied_ID_Ref) zugewiesen (Beginn und End-Datum (End-Datum ist in der Regel offen))
tbl_Mitausweis (Mitausweis_ID)

Ich habe über eine Abfrage die aktuell vergebenen Ausweise schon gefiltert (qry_Ausweis_vergeben)

Nun möchte die Ausweise in einer Abfrage / Liste haben die nicht in Vergeben sind, sprich nicht in der qry_Ausweis_vergeben vorkommen.

Könnt Ihr mir da noch einmal helfen? Ich hoffe ich habe nun allen es recht gemacht mit allen Angaben und Tabellenverknüpfungen.


Josef P.

Hallo!

Meinst du die Datensätze aus tbl_Mitausweis, die nicht in der Tabelle tbl_Ausweis_Mitglied enthalten sind?
Dafür könntest du den Abfrage-Assistenten zur Inkonsistenzsuche verwenden.

Als SQL-Code:
select
  A.*
from
  tbl_Mitausweis as A
  left join
  tbl_Ausweis_Mitglied as AM ON AM.Ausweis_mitg_Mitausweis_ID_Ref = A.Mitausweis_ID
where
  AM.Ausweis_mitg_Mitausweis_ID_Ref IS NULL
(Diese Variante ist in Access glaube ich schneller.)

oder

select
  A.*
from
  tbl_Mitausweis A
where
  not exists (
     select 1 from tbl_Ausweis_Mitglied as AM where AM.Ausweis_mitg_Mitausweis_ID_Ref = A.Mitausweis_ID
  )

Gruß
Josef

Fast-Eddi

Hallo zusammen,

habe über die Hilfe von Microsoft das Problem selbst lösen können.
Die Lösung war über den Abfrageassistenten ene Inkossistenzabfrage zu erstellen
https://support.microsoft.com/de-de/office/vergleichen-zweier-tabellen-und-suchen-von-inkonsistenten-datens%C3%A4tzen-cb20ad48-4eba-402a-b20d-eaf10a5d1cb4

Manchmal ist es doch gar nicht so schwer.
Ich musste nur als Kriterium "Ausweis_mitg_ID" "qry_Ausweis_vergeben" IST NULL eingeben
Der SQL Weert aus Access ist
SELECT tbl_Mitausweis.Mitausweis_ID, tbl_Mitausweis.Mitausweis_ausweisnr
FROM tbl_Mitausweis LEFT JOIN qry_Ausweis_vergeben ON tbl_Mitausweis.[Mitausweis_ID] = qry_Ausweis_vergeben.[Ausweis_mitg_ID]
WHERE (((qry_Ausweis_vergeben.Ausweis_mitg_ID) Is Null));



Danke noch einmal. Die Antwort von Dir Josef konnte ich noch gar nicht durchgehen. Aber danke dafür trotzdem.
Schöne Grüße aus der Klingenstadt

Fast-Eddi

Zitat von: Josef P. am Dezember 14, 2022, 23:20:08Hallo!

Meinst du die Datensätze aus tbl_Mitausweis, die nicht in der Tabelle tbl_Ausweis_Mitglied enthalten sind?
Dafür könntest du den Abfrage-Assistenten zur Inkonsistenzsuche verwenden.
....
Gruß
Josef
Genau darüber bin ich in der zwischenzeit auch gestolpert. Danke Dir, mit Deiner Lösung wäre es zur gleichen Lösung gekommen. SQL ist mir immer noch irgendwie komisch,