Neuigkeiten:

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

Mobiles Hauptmenü

Mehrere Datensätze aus einer Formularansicht erzeugen

Begonnen von accessman85, März 13, 2012, 13:50:56

⏪ vorheriges - nächstes ⏩

accessman85

Liebes Forum

ich habe viel probiert und viel gelesen, brauche aber dennoch Hilfe, weil ich hier nicht weiterkomme.

Ich habe folgende Tabelle:

(Spaltenüberschriften)
Datum | MA | Dienst | Bereich | Gruppe | Tät.typ | Tätigkeit

Die Spalten Dienst, Bereich, Gruppe, Tätigkeitstyp sind jeweils verknüpft mit Tabellen, die die Auswahlinhalte beherbergen.

Problematik: Es gibt eine feste Anzahl von MA, für die jeden Tag ein Dienst eingegeben wird. Es gibt also pro Tag (Datum) genau n Datensätze. (Anzahl Mitarbeiter mal aktuelles Datum).

Soweit, sogut. Ich schaffe es nur noch immer nicht, in einer Formularansicht (also nicht nacheinander), die n Datensätze im Formular einzugeben.

Im Prinzip sollte das Formular ein Blatt sein, auf dem voreingestellt die MA untereinander stehen und die entsprechenden Kombinationsfelder die Auswahl Dienst, Bereich usw. ermöglichen. Ich habe es mit 11 Unterformularen (11 MA) probiert, habe aber Probleme dabei.

Kann mir jemand helfen? Vielen Dank im Voraus

P.S.: rein theoretisch könnte ich natürlich auch für jeden MA fest eine Spalte anlegen mit jeweils zugeordneten Spalten für Bereich, Dienst etc. Dadurch wird meine Tabelle aber sehr unhandlich und es lassen sich keine vernünftigen Filterfunktionen auf die einzelnen Spalten mehr anwenden... außerdem ist das wohl keine sehr elegante Datenstruktur, sofern man es überhaupt Struktur nennen kann.

Oder ist vllt. eine Anfügeabfrage der Schlüssel zum Erfolg? Könnte mir die für diesen Fall jemand erläutern?

ebs17

Anfügeabfrage ist ein gutes Stichwort. Damit kann man eine ganze Datensatzgruppe statt nur eines einzelnen Datensatzes an eine Tabelle anfügen. Allerdings müsstest Du zum Zeitpunkt der Ausführung alle Dienste, Bereiche, Gruppen usw. pro MA wissen und angeben, da ja alle Daten auf einmal übertragen werden, und die genauen MA pro Tag müsstest Du auch wissen.

Einfach ist es, wenn man z.B. alle MA verwendet, die alle die gleichen Tätigkeitsbereiche erfüllen, da man da Standardwerte einsetzen kann:
Private Sub cmdButton_Click()
   Dim sSQL As String
   sSQL = "INSERT INTO Zwischentabelle ([Datum], MA, Dienst, Bereich, Gruppe," & _
         " [Tät.typ], Tätigkeit)" & _
         " SELECT Date(), M.MA, 3, 2, 2, 4, 5 FROM Mitarbeitertabelle AS M"
   CurrentDb.Execute sSQL, dbFailOnError
End Sub
Mit freundlichem Glück Auf!

Eberhard

MzKlMu

Gruß Klaus

accessman85

ich habe es nun so probiert: eine neue tabelle tblEinsatz_Anfuegen mit genau der anzahl an MA, die jeden tag angefügt werden sollen. enthält in spalte datum als standardwert das tagesdatum, die 11 MA-Namen sind voreingestellt. Alle anderen Felder sind leer geblieben.

Die Anfügeabfrage qryEinsatz_Anfuegen bezieht sich nun auf o. beschr. Tabelle und fügt per Buttonklick ein in die ursprüngliche Tabelle tblEinsatz (Datum, MA, Dienst, usw...).

ich habe eine weitere abfrage qryEinsatz, die die inhalte der tabelle tblEinsatz abfragt und sozusagen das ufo versorgt. habe das mal so gelernt, formular soll sich eben auf abfrage beziehen und hat die vorteile, dass auch mehrere tabellen mit einfließen können.

jetzt habe ich das problem, dass die abfrage allerdings die per anfügeabfrage der tabelle zugefügten ds nicht "mitnimmt".

kann es daran liegen, dass leere felder nicht mit abgefragt werden? muss ich etwas an den kriterien ändern?