Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Heldin am Mai 09, 2016, 10:42:08

Titel: ID an eine andere Tabelle übergeben
Beitrag von: Heldin am Mai 09, 2016, 10:42:08
Hallo Ihr lieben,
ich hab mal wieder ein anderes Problem mit einer zweiten Studiendatenbank (die erste passt wackelt und hat luft, nur leider kann ich die nicht einfach klauen, dank komplett anderes Studiendesign)

Ich habe eine Tabelle da stehen alle personenbezogenen Daten drinnen und ich ordne direkt eine ID zu.
Jetzt hab ich noch ein paar Kritierien die erfüllt sein müssen, dass besagte Personen am zweiten Studienteil teilnehmen können. Dazu hab ich ein Formular erstellt mit Abfrage der Kriterien.
Jetzt wollte ich es automatisieren, dass all diejenigen ID's welche für Teil 2 in Frage kommen auch direkt in eine weitere Tabelle geschrieben werden, damit man von dort weiter arbeiten kann.
Und dass diese ID auch nur einmal auftaucht (es muss möglichst einfach sein, da wir irgendwie 20 000 Leute anschreiben) .
Also Macro klappt es nicht mit VBA hab ich es auch nicht hinbekommen. Er schreibt mir zwar in das Feld rein ob Ausschluß oder Einschluß aber er übergibt die ID nicht in die "neue" Tabelle!

Kann mich jemand schubsen?
Titel: Re: ID an eine andere Tabelle übergeben
Beitrag von: MzKlMu am Mai 09, 2016, 10:47:52
Hallo,
dass hier eine weiter Tabelle notwendig ist bezweifle ich.
Eine Abfrage mit den gleichen Kriterien wie das Formular reicht. Diese Abfrage kannst Du völlig problemlos zur Weiterarbeit benutzen.
Titel: Re: ID an eine andere Tabelle übergeben
Beitrag von: Heldin am Mai 09, 2016, 11:31:18
Ich möchte halt am Schluss nur die 6000 in frage kommende Personen in einer Tabelle drin stehen haben, Weil diese wiederrum ein weiteres mal angeschrieben werden müssen um ihnen freudigerweise mitzuteilen, dass sie für teil 2 in frage kommen... ok ich schau mal wie ich das weiterverfolg. Danke :)
Titel: Re: ID an eine andere Tabelle übergeben
Beitrag von: MzKlMu am Mai 09, 2016, 11:53:49
Hallo,
verwende ein Abfrage, da stehen auch nur dies 6000 Personen drin. Eine Tabelle dazu ist völlig überflüssig, im Gegenteil, diese ist auch noch fehlerträchtig, denn bei der Tabelle musst Du immer sicherstellen, dass diese aktuell ist, eine Abfrage ist automatisch aktuell.
Titel: Re: ID an eine andere Tabelle übergeben
Beitrag von: MaggieMay am Mai 09, 2016, 20:07:14
Hallo,
Zitat von: Heldin am Mai 09, 2016, 10:42:08
Er schreibt mir zwar in das Feld rein ob Ausschluß oder Einschluß aber er übergibt die ID nicht in die "neue" Tabelle!
abgesehen von Klaus' berechtigten Einwänden gegen eine zusätzliche Tabelle - wie kannst du annehmen, dass man mit einer solchen Aussage etwas anfangen kann?

Du solltest zuumindest den Code (SQL und/oder VBA) zeigen, der hier zum Einsatz kommt.
Titel: Re: ID an eine andere Tabelle übergeben
Beitrag von: crystal am Mai 10, 2016, 14:42:35
Hi,

wie wäre es mit diesen Überlegungen:

1. Die neue Tabelle wird vermutlich ein paar andere Daten als die Ursprungs-Tabelle enthalten.
2. Mit einer "Anfüge-Abfrage" könntest du nun alle Datensatz-IDs aus Tabelle1 anhand der Kriterien in die neue Tabelle2 einfügen (ein Autowert-Feld als Primär-Schlüssel und die ID als Referenz).
3. Jetzt hast du deine 6000 DS in der Tabelle2 und kannst dort beliebig andere Felder als in Tabelle1 hinzufügen.
4. Dein neues Formular benutzt Tabelle2.
5. Über einen einfachen JOIN kannst du auch Daten aus Tabelle1 erreichen (-> Vermeidung von Redundanzen).
6. Wenn du - wie vorgeschlagen - direkt in Tabelle1 arbeitest (anhand der besonderen Kriterien), könnten evtl. Probleme auftreten, wenn du die Tabelle um spezielle "6000er-Felder" erweiterst, die mit den übrigen 14.000 Datensätzen nichts zu tun haben.
7. Nach meiner bescheidenen Meinung wäre es also durchaus sinnvoll, für die 6000 DS eine zweite Tabelle anzulegen. Sonst müsstest du Tabelle1 mit einem weiteren Attribut  "6000er-Teilmenge" versehen und dies dann vielleicht mit zu großem Aufwand in Formularen und Berichten für die Ursprungs-Menge berücksichtigen.
8. Mit einer (per ID joinbaren) zweiten Tabelle ist das Handling vielleicht einfacher, da du Felder wie "Angeschrieben am" neu besetzen kannst, ohne ein gleiches Feld in Tabelle1 zu verändern.
9. Formulare und Berichte beziehen sich dann auf Tabelle2 und können beliebige Datenfelder besetzen, die so in Tabelle1 vielleicht nicht vorhanden sind.
10. Auch ein ad-hoc-Erstellen eines neuen DS in Tabelle2 nach Auswahl eines DS in Tabelle1 wäre möglich.

Naja - vielleicht helfen diese Überlegungen, die ja durchaus dem Prinzip der Normalisierung folgen...

Liebe Grüße

crystal
Titel: Re: ID an eine andere Tabelle übergeben
Beitrag von: Beaker s.a. am Mai 10, 2016, 23:05:50
Hallo Heldin,
Ich kann mich Klaus nur anschliessen; - eine zweite Tabelle mit einer
Teilmenge der ersten ist falsch.
ZitatJetzt hab ich noch ein paar Kritierien die erfüllt sein müssen
Diese Kriterien gehören für mich in eine Extratabelle. Über eine n:m
Beziehung zu den Personendaten kannst Du dann alle Personen, die
alle (oder auch nur einige) der Kriterien erfüllt haben ausfiltern.
gruss ekkehard