Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Rockmueller am Juni 27, 2012, 13:08:45

Titel: Datensatz per Button kopieren...
Beitrag von: Rockmueller am Juni 27, 2012, 13:08:45
Ich habe folgende Idee:

Zwei Tabellen, komplett gleich, gleiche Struktur. Die eine voll(Quelle), die andere leer(Senke).
Beide Tabellen sind als Unterformular in einem Formular angezeigt, damit ich sehe, was ich mache.

Ablauf:
Quell-Tabelle einen Datensatz makieren.
Button-"Add" kopiert den Datensatz und hängt ihn in der Senke an den letzten Datensatz dran

Ist das mit VBA möglich?
Wie kriege ich einen ganzen Datensatz per VBA gepackt und verschoben, bzw. kopiert.
Ich hoffe, man kann sich was unter der Beschreibung vorstellen.

Schöne Grüße
Titel: Re: Datensatz per Button kopieren...
Beitrag von: MzKlMu am Juni 27, 2012, 13:46:15
Hallo,
wozu soll das gut sein, gleiche Daten in 2 Tabellen?

Das halte ich für komplett falsch.

Erzähle mal was zum Hintergrund, möglicherwiese gibt es ja eine andere Lösung.
Titel: Re: Datensatz per Button kopieren...
Beitrag von: 69bruno am Juni 28, 2012, 08:19:54
Hi,

auch ohne den Hintergrund zu erfragen gebe ich dem Vorredner Recht.
Warum erweiterst Du die Quell-Tabelle nicht um ein Feld "added" ?
Dann lässt Du dir in dem Formular in zwei Elementen auf der einen Seite die "nicht-geaddeten" und auf der anderen Seite die "geaddeten" anzeigen.
Schon eine Tabelle weniger und kein hin- und herschieben von Datensätzen.
Nach dem "adden" durch Button noch ein kleines Refresh und du siehst auch, was Du gemacht hast.

Sollte die Quelltabelle dann irgendwann einmal von den "nichtgeaddeten" befreit werden, kannst Du da einfach eine Löschabfrage drüberbügeln (Auf die Idee komme ich, weil sich das sehr nach Bereinigungsarbeiten anhört)
;D
Gruß
Brüno
Titel: Re: Datensatz per Button kopieren...
Beitrag von: Rockmueller am Juni 28, 2012, 10:08:04
Vielen Dank für Euer Interesse an der Aufgabenstellung.

Ich bin halt kein Profi, deshalb muss ich mir einfache Wege suchen, die ich auch gehen, bzw. programmieren könnte.
Es gibt eine TBL_Kontakte, da stehen alle Kontakte inkl. E-Mail-Adresse drin.
Jetzt gibt es den Wunsch, einen E-Mail-Verteiler nach Bedarf  zu erstellen.

Die mir noobige Lösung hätte so geklungen, dass ich aus den vorhandenen TBL_Kontakten die jeweiligen kopiere, in eine gleichartige Tabelle stecke, vllt, auch nur mit Name und E-Mail und dies dann nach Outlook exportiere.

Ich kann mir auch vorstellen, dass das anders geht, z.B. mit ner Checkbox wie beim gmx-Adressbuch, aber da sind mir von meiner Kenntnis her die Hände gebunden.
Vllt. fällt ja dem ein oder anderen eine einfache Lösung ein, auf die ich selber noch nicht gekommen bin.

Schöne Grüße
Titel: Re: Datensatz per Button kopieren...
Beitrag von: 69bruno am Juni 28, 2012, 10:17:18
Hmmm,

da stellt sich mir direkt die Frage, kann ein Kontakt mehreren Verteilern angehören ?
Dann geht das ganze Modell mit einer oder zwei Tabellen baden........
Titel: Re: Datensatz per Button kopieren...
Beitrag von: MzKlMu am Juni 28, 2012, 10:29:51
Hallo,
mal die Frage von Bruno außer acht gelassen.

Du kannst mit einem Häkchenfeld im Datensatz den gewünschten Datensatz mit Haken markieren. In einer Abfrage nimmst Du nur die datensätze mit Haken und diese Abfrage kannst Du exportieren. Eine 2.Tabelle ist völlig überflüssig. Ob Tabelle oder Abfrage ist für Outlook egal.

Du musst dann mit einer Aktualisierungsabfrage die Haken wieder zurücksetzen. Das geht alles fast ohne VBA.
Titel: Re: Datensatz per Button kopieren...
Beitrag von: 69bruno am Juni 28, 2012, 10:41:00
Das impliziert aber, dass in der Datenbank nicht nachvollzogen werden kann, welcher Verteilerliste dein Kontakt angehört. Das geht dann nur noch über Outlook.

Soll die DB das liefern, brauchst Du n-Tabellen, (je Verteiler), in denen du die ID der beinhalteten Kontakte speicherst.
Wobei ich noch nicht ganz dahinter steige, wieso dass ganze nicht sowieso in Outlook stattfindet.. ???
Titel: Re: Datensatz per Button kopieren...
Beitrag von: Rockmueller am Juni 28, 2012, 11:04:20
Weil da später eine SQL-Maske(oder so ähnlich) drüber kommt und Leute von Extern auf die Kontakte, bzw. Verteilerlisten zugreifen.

MzKlMu's Idee mit Häkchen und Abfrage find ich schlüssig und wills mal ausprobieren...
Titel: Re: Datensatz per Button kopieren...
Beitrag von: MzKlMu am Juni 28, 2012, 12:16:24
Hallo,
@Bruno
ZitatSoll die DB das liefern, brauchst Du n-Tabellen, (je Verteiler),
n-Tabellen (je Verteiler) wäre ganz bestimmt der falsche Weg.
Das sollte in einer Tabelle passieren, mit dem Fremdschlüssel zur Person und dem Fremdschlüssel zum Verteiler.
Titel: Re: Datensatz per Button kopieren...
Beitrag von: 69bruno am Juni 28, 2012, 16:11:49
Das gibt mir grade eine neue Sicht der Dinge......
so habe ich Daten noch nicht verknüft, aber der Vorteil ist ja kaum zu übersehen.....

:D

Da muss ich meine DB's mal durchforsten, wo ich das einsetzen kann...
Titel: Re: Datensatz per Button kopieren...
Beitrag von: 69bruno am Juni 28, 2012, 16:21:40
Sorry wenn ich das Thema jetzt kurz missbrauche,

aber bei der ersten DB die ich auf die Verknüpfungen durchgesehen habe ist mir direkt aufgefallen, dass ich doch ein Problem bekomme, wenn, wie hier im Beispiel ein Kontakt mehreren Verteilern angehört. Dann hätte ich ja eine unbekannte Anzahl von Spalten für die Verknüpfung zum Verteiler, oder würdest Du alle möglichen Verteiler in ein Tabellenfeld schreiben lassen ?
Für 1:1 gefällt mir das gut. Aber bei 1:n ???
Titel: Re: Datensatz per Button kopieren...
Beitrag von: MzKlMu am Juni 28, 2012, 16:42:57
Hallo,
ZitatDann hätte ich ja eine unbekannte Anzahl von Spalten für die Verknüpfung zum Verteiler, oder würdest Du alle möglichen Verteiler in ein Tabellenfeld schreiben lassen ?
Nein, das verstehst Du falsch. Eine Verteilerliste sollte eine ID haben z.B. so:

1 VerteilerlisteA
2 VerteilerlisteB

Wenn jetzt eine Verteilerliste mehrere Personen hat sieht die Tabelle so aus

PersonID  VerteilerListeID
  1                  1
  2                  1
  3                  1
  1                  2
  3                  2


Demzufolge ist Person1 in Liste1 und Liste2, aber Person2 nur in Liste2.

Das ist eine n:m Beziehung zwischen Person und Verteilerliste mit zwei 1:n Beziehungen.

In dieser Tabelle gibt es nur diese beiden Spalten (eventuell noch einen Autowert als PK), auf immer und ewig. Die Tabelle verlängert sich immer nach unten, niemals quer. Sobald Du die Notwendigkeit siehst Spalten hinzufügen zu müssen kannst Du davon ausgehen, dass das Datenmodell wahrscheinlich falsch ist.
Das gleiche gilt für Tabellen mit gleicher Struktur.
Titel: Re: Datensatz per Button kopieren...
Beitrag von: 69bruno am Juni 28, 2012, 17:02:26
 :D Ah jetzt ja....

Da stand ich mir bisher selber im Weg, weil ich mich gegen mehrfach vorkommende ID's wehre.
Deshalb kam ich auf den Gedanken pro Verteiler eine Tabelle und dann nur die darin befindlichen Kontakt-ID's zu speichern, denn 2 mal kann ja niemand in einem Verteiler sein......
Da es sich ja aber um 2 Verknüpfungs-ID's handelt, sollte ich mir das wohl mal näher zu Gemüte führen.
Und das lästige Tabellenerstellen hört auf.....

Danke erstmal, jetzt muss ich grübeln......
Titel: Re: Datensatz per Button kopieren...
Beitrag von: MzKlMu am Juni 28, 2012, 17:12:46
Hallo,
Zitatweil ich mich gegen mehrfach vorkommende ID's wehre.
bei einer 1:n Beziehung ist der Fremdschlüssel immer mehrfach, daher ja 1:n. Nur der Primärschlüssel ist eindeutig.