collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 57
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 0

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 13632
  • stats Beiträge insgesamt: 61216
  • stats Themen insgesamt: 8356
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 16
  • stats Am meisten online: 415

Autor Thema: Datenauswahl filtern  (Gelesen 393 mal)

Offline Grumpy

  • Newbie
  • Beiträge: 15
Datenauswahl filtern
« am: Mai 18, 2017, 09:08:36 »
Ich habe eine Tabelle Grunddaten in der unter anderem Name und Vorname eingetragen sind, und ein Feld für Zutritsberechtigung.
Desweiteren eine Tabelle mit Kartennummern.
Ich habe eine 1:n Beziehung vom Feld Kartennummer (Kartentabelle) zu dem feld zutritsberechtigung (Grunddaten).
Wie kann ich jetzt ein Endlosformular machen bei dem mir alle Namen angezeigt werden und über ein Dropdownfeld/Kombinationsfeld ich Kartennummern auswählen kann. Dabei sollen aber nur Kartennummern angezeigt werden die noch "frei" sind.
d.h. nach der Auswahl im ersten Datensatz wird diese kartennummer im nächsten datensatz nicht mehr zur Auswahl angeboten.
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 22912
Re: Datenauswahl filtern
« Antwort #1 am: Mai 18, 2017, 09:36:21 »
Hallo,

erstell in Formular "frmKartentabelle" (Datenherkunft:  Kartentabelle)  ein (an Kartennummer) gebundenes und gesperrtes Kombi ("Kartennummer")  zur Anzeige des verknüpften Namens mit:

Datensatzherkunft:   Select Zutritsberechtigung, [Name] & ", " & Vorname from Grunddaten

Gebundene Spalte: 1
Spaltenanzahl: 2
Spaltenbreiten: 0cm; 6 cm

Daneben ein weiteres ungebundenes Kombi ("cmbKartennummer") mit:

Datensatzherkunft:  Select Zutritsberechtigung, [Name] & ", " & Vorname from Grunddaten left join KartenTabelle on Grunddaten.Zutritsberechtigung = KartenTabelle.Kartennummer Where Kartennummer is not null

Gebundene Spalte: 1
Spaltenanzahl: 2
Spaltenbreiten: 0cm; 6 cm

mit seiner Ereignisprozedur "nach Aktualisierung":

Sub cmbKartennummer_AfterUpdate()
Me!Kartennummer = Me!cmbKartennummer
End Sub


btw: die Benamsung ist nicht nachvollziehbar...  und könnte logischer (transparenter)  erfolgen.  Zudem sollten reservierte Wörter ("Name")  ganz vermieden werden.

Offline Grumpy

  • Newbie
  • Beiträge: 15
Re: Datenauswahl filtern
« Antwort #2 am: Mai 18, 2017, 10:22:56 »
Sorry wegen der Benamung....bin halt noch Anfänger.

Folgende genaue Bezeichnung hab ich im Moment:

Tabelle: Neuzuschleusung_Grunddaten   
                             Feld: [Name_Schüler]  als Text
                             Feld: [Vorname_Schüler] als Text
                             Feld: [Zutrittsberechtigung] als Text

Tabelle : Zutrittskarten
                             Feld: [Kartennummer gesamt] als Text (Primärschlüssel)
                             Feld: [Karten-ID] als Zahl (ist ein "-" und nicht ein" _", kann das aber ändern falls das ein Problem ist)

(zwei Felder, weil die Karten-ID 4 stellig aufgedruckt ist, aber in einem anderen System die Kartennummer als 12 stellige Nummer hinterlegt ist, es besteht aber kein erkennbarer Zusammenhang wie die Nummern entstehen.)


Beziehung: Von Tabelle Zutrittskarten Feld [Kartennummer gesamt]
                     als 1:n Verknüpfungstyp 2
                 zu Tabelle Neuzuschleusung_Grunddaten Feld [Zutrittsberechtigung]

In dem Formular würde ich gerne zu einem Namen jeweils eine Karten-ID zuweisen.
Aber wie vorhin bereits beschrieben, beim zweiten Datensatz nur noch die "freien" Karten-ID angezeigt bekommen zur Auswahl, da jeder ja nur eine Karte bekommen kann.
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 6625
Re: Datenauswahl filtern
« Antwort #3 am: Mai 18, 2017, 10:31:58 »
Hallo,
Die Tabelle mit den Grunddaten sollte auch einen Primärschlüssel bekommen.
Die Tabelle für die Zutrittskarten solltest Du wie folgt ändern:
Tabelle : Zutrittskarten
Feld: [Kartennummer gesamt] als Text (eindeutiger Index, kein Primärschlüssel)
                             Feld: [KartenID] als Zahl Primärschlüssel, eventuell Autowert)

In welchem Feld willst Du jetzt die Kartenzuweisung speichern, ein Formular kann nichts speichern.
Willst Du auch wissen, wer in der Vergangenheit welche Zutrittskarten hatte ?
Kann ein Schüler immer nur eine Zutrittskarte haben ?
Gruß
Klaus
 

Offline Grumpy

  • Newbie
  • Beiträge: 15
Re: Datenauswahl filtern
« Antwort #4 am: Mai 18, 2017, 10:46:55 »
Die[Karten-ID] kann ich nicht als Autowert machen, da zu einer 12 stelligen [Kartennummer gesamt] immer eine bestimmte [Karten-ID] gehört.
Die Vergangenheit ist egal.
Nach der Formularbearbeitung hätte ich gerne die jeweilige [Karten-ID] in dem Feld [Zutrittsberechtigung] der Tabelle [Neuzuschleusung_Grunddaten] gespeichert.
Die Tabelle [Neuzuschleusung_Grunddaten] wird zu einem bestimmten Zeitpunkt an eine andere Tabelle [Grunddaten] angefügt. In der neuen Tabelle [Grunddaten] wird zu jedem datensatz ein Primärschlüssel (Feld:ID) zugewiesen, was in der Tabelle [Neuzuschleusung_Grunddaten] bisher nicht notwendig war.
Danach wird die Zutrittskartenzzuweisung nicht mehr verändert. Jeder Schüler kann nur eine Karte bekommen.
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 6625
Re: Datenauswahl filtern
« Antwort #5 am: Mai 18, 2017, 10:57:19 »
Hallo,
das mit dem Autowert war ja nur eventuell. Ich würde aber in der Tabelle für die Zutrittskarten ein extra Feld für einen Autowert als PS anlegen. (KartenID) und das jetzige Feld KartenNr nennen.
Zahlenfelder sind als Schlüsselfelder besser geeignet.
In die Tabelle mit dem Schüler muss dann nur ein Feld (Zahl) das auf das Schlüsselfeld (KartenID) verweist.
Zitat
Zitat
was in der Tabelle [Neuzuschleusung_Grunddaten] bisher nicht notwendig war.
Das dürfte noch zu Problemen führen. Wie willst Du ohne Primärschlüssel sicherstellen, dass an die richtigen Datensätze angefügt werden ?

Zitat
wird zu einem bestimmten Zeitpunkt an eine andere Tabelle [Grunddaten] angefügt.
Warum kann das nicht gleich in die richtige Tabelle ?
« Letzte Änderung: Mai 18, 2017, 11:03:36 von MzKlMu »
Gruß
Klaus
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1409
Re: Datenauswahl filtern
« Antwort #6 am: Mai 18, 2017, 12:22:49 »
Hallo,
Zitat
Die[Karten-ID] kann ich nicht als Autowert machen, da zu einer 12 stelligen [Kartennummer gesamt] immer eine bestimmte [Karten-ID] gehört.
Hört sich nach einem Barcode an (EAN13 ohne Prüfziffer oder UPC-A/-E). Dann sollte es aber einen
konstanten Anteil geben (neben der [Karten-ID] und der Prüfziffer).
In diesem Fall bin ich der Meinung, dass es neben der [Karten-ID] nicht nötig ist die [Kartennummer gesamt]
überhaupt zu speichern; - die lässt sich jederzeit berechnen.
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 

Offline Grumpy

  • Newbie
  • Beiträge: 15
Re: Datenauswahl filtern
« Antwort #7 am: Mai 18, 2017, 12:53:08 »
Kann sein. Bis jetzt hab ich eine Liste welche Karten-ID zu welcher Nummer gesamt gehört.
Der Verweis auf die Karten-ID ist nur praktischer weil diese Nummer aufgedruckt ist.
« Letzte Änderung: Mai 18, 2017, 13:25:25 von MzKlMu »
 

Offline Grumpy

  • Newbie
  • Beiträge: 15
Re: Datenauswahl filtern
« Antwort #8 am: Mai 18, 2017, 13:01:51 »
Die Tabelle Neuzuschleusung verwende ich für die Planung, wird ca 100 Datensätze groß werden immer.
Diese werden komplett als neue datensätze in die Grunddaten Tabelle angefügt, also nicht zu gewissen daten angefügt sondern komplett eingefügt. Die Tabelle Grunddaten sind dann die tatsächlich sich körperlich vor Ort befinden.
« Letzte Änderung: Mai 18, 2017, 13:24:49 von MzKlMu »
 

Offline Grumpy

  • Newbie
  • Beiträge: 15
Re: Datenauswahl filtern
« Antwort #9 am: Mai 18, 2017, 13:18:47 »
Zitat
btw: die Benamsung ist nicht nachvollziehbar...  und könnte logischer (transparenter)  erfolgen.  Zudem sollten reservierte Wörter ("Name")  ganz vermieden werden.


Danke erst mal für die Reaktion......Aber....
Bin glaub ich zu blöd das umzusetzen.Klappt net....
Ich habe in einem Beitrag die genauen Bezeichnungen eingetragen.
Kannst du mir den Code entsprechend für Dummys anpassen ?
« Letzte Änderung: Mai 18, 2017, 13:38:12 von MzKlMu »
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 22912
Re: Datenauswahl filtern
« Antwort #10 am: Mai 18, 2017, 13:38:56 »
Hallo,

am Besten lädst Du die DB hier hoch , komprimiert/repariert und gezippt.

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 6625
Re: Datenauswahl filtern
« Antwort #11 am: Mai 18, 2017, 13:41:05 »
Hallo,
warum schreibst Du dann angefügt, wenn Du nicht anfügst.

Mir sind die Zusammenhänge immer noch unklar.


PS:
Bitte keine vollständigen Beiträge zitieren, in direkter Antwort macht das keinen Sinn, vergrößert nur die Themen. Ich habe überflüssige Zitate gelöscht.
Gruß
Klaus
 

Offline Grumpy

  • Newbie
  • Beiträge: 15
Re: Datenauswahl filtern
« Antwort #12 am: Mai 18, 2017, 14:11:26 »
Sorry....OK, ich versuch die Zusammenhänge zu erläuter.

ich habe Schüler die bereits körperlich vor Ort sind , deshalb die Tabelle [Grunddaten].
Desweiteren werden zu einem bestimmten Zeitpunkt neue Schüler zugeschleust  Tabelle [Neuzuschleusung_Grunddaten]
Mit dieser Tabelle plane ich die ganzen Unterkünfte, Lehrgangsablauf etc.
Es kann passieren, daß aber gewisse Schüler gar nicht erscheinen, daher arbeite ich da in zwei Tabellen.
Sobald ich weis wer alles tatsächlich kommt, nehme ich die Datensätze aus der Neuzuschleusng_Grunddaten und stell die in die Tabelle Grunddaten, da diese ja dann tatsächlich auch vor Ort sind.

Für die Neuzuschleusung:

Jeder der Schüler bekommt eine Zutrittskarte die er für die ganze Zeit behält.

Leider kann ich die Datei nicht hochladen, da diese in einem getrennten System läuft
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 6625
Re: Datenauswahl filtern
« Antwort #13 am: Mai 18, 2017, 14:24:19 »
Hallo,
Zitat
Es kann passieren, daß aber gewisse Schüler gar nicht erscheinen, daher arbeite ich da in zwei Tabellen.
das halte ich für ersatzlos überflüssig, erschwert nur die Handhabung. Nimm in die Tabelle ein Ja/Nein Feld auf (Erschienen) und mach ein Haken dran wer erschienen. Auf diese Weise hast Du auch einen Überblick wer ursprünglich kommen wollte aber nicht gekommen ist.

Für die Zutrittskarten legst Du eine Tabelle an mit 3 Feldern
KartenID (Autowert als Primärschlüssel)
KartenNr (Testfeld, eindeutig indiziert)
KartennummerGesamt (Textfeld)

Ob KartennummerGesamt benötigt wird, weis ich nicht, siehe Hinweis von ekkehard.
Was beinhaltet die KartennummerGesamt ?

Zitat
Der Verweis auf die Karten-ID ist nur praktischer weil diese Nummer aufgedruckt ist.
Ich habe jetzt die KartenID Kartennummer genannt und die eigenliche KartenID als PS und Autowert angelegt.
Und diese neue KartenID wird als Fremdschlüssel gespeichert. Du kannst trotzdem mit der aufgedrucken Nr arbeiten, der Autowert ist nicht zu sehen, den musst Du auch nicht kennen.
Gruß
Klaus
 
Folgende Mitglieder bedankten sich: Grumpy