Textbausteine mit Checkboxen einer Tabelle einfüge

Ich will eine Projektaufgaben Datenbank erstellen.
Dafür habe ich eine Tabelle „tblAufgabenProjekt“.
Darin die Felder: Aufgaben_ID, Projekt_ID, Aufgabentitel, Aufgabenbeschreibung, Anhang, Verantwortlichkeit, Startdatum, Enddatum, Erledigt.

Da bei den verschiedenen Projekte vielfach die gleichen Aufgaben entstehen, würde ich gerne folgendes machen:

Ein Formular bei dem man die per Checkboxen auswählen kann, welche „Standard-Aufgaben“ es gibt und evtl. noch weitere „neuen“ Aufgaben dazufügen.

Mit einer Schaltfläche werden nun für alle Aufgaben die angewählt wurden, jeweils die Aufgaben_ID generiert, Projekt_ID ausgelesen, und der Aufgabentitel & Beschreibung kopiert oder generiert (was halt einfacher ist)

Anschliessend werden in einem weiteren Formular alle Aufgaben aufgelistet, wo dann Termin, Verantwortlichkeit, etc. definiert werden können.

Meine Frage nun:
Wie bekomm ich die Textbausteine, die ich angewählt habe in meine Tabelle?

Gruss und danke
calvin

Hallo,

leider verstehe ich Teile Deiner Ausführungen nicht:
Woher weiß das System in welche Zelle die „Aufgaben“ gepackt werden sollen?
Wo sind da Textbausteine?
Normalerweise generierst Du für neue Einträge einen neuen Datensatz, dabei hilft Dir der Assistent.

Oder soll ein Datensatz geändert / erweitert werden? Auch dafür gibt es einen Assistenten.

Also das ganze klingt für dieses Board eigentlich zu komplex. Hier können wir ja keine Userforms übertragen, keine Eigenschaften der Tabellen, der Forms und ihrer Bestandteile definieren.

Hy Calvin,

ich nehme an das du Aufgabentitel und Aufgabenbeschreibung in die Tabelle schreiben willst.
Ein besserer und flexibelerer Weg ist es die Aufgaben in einer eigenen Tabelle abzulegen und nur die Aufganben_Id in der tblAufgabenProjekt abzulegen.

Ansonsten VBA verwenden,

wenn der recordset schon geöffnet ist dann

Private Sub Optionsgruppe_AfterUpdate()
Dim RS As DAO.Recordset
Set RS = Me.RecordsetClone
RS.Edit
Select Case Optionsgruppe.Value
Case 1
RS!Aufgabentitel = „Schreiben“
Case 2
RS!Aufgabentitel = „Malen“
Case 3
RS!Aufgabentitel = „Lackieren“
Case 4
RS!Aufgabentitel = „Drucken“
'…
'…
End Select
RS.Update
End Sub

Wenn die Tabelle noch nicht geöffnet ist dann vorher

Dim DB as Dao.Database
set DB = CurrentDB
und set RS = DB.openrecordset

mit einer entsprechenden SQL Abfrage die den richtigen RS öffnet.

Wenn du Die Afgaben in einer Tabelle ablegst brauchst du den Text nicht im VBA abzulegen sondern weist der
tblAufgabenProjekt nur die Aufgaben ID zu und kannst den verwendeten text in einem eigenen Formular ändern.
mfg
Frank

Hi,
habe das nicht ganz verstanden…
Vermutlich gibt es eine Tabelle tblProjekt und eine tblAufgaben und die genannte Tabelle tblAufgabenProjekt ist eine Zwischentabelle für n:n-Beziehung?

Und es geht darum, Gruppen von Aufgaben zu definieren?
Verschiedene Gruppen?
Und die Gruppen sollen in jeder Situation voll gleichwertig sein, also in jeder Situation, in der man eine Standardgruppe braucht, soll man jede Gruppe angeboten bekommen?

Dann braucht man noch eine Tabelle ähnlich tblAufgabenProjekt, vermutlich aber ohne das Feld Projekt_ID und wohl dann auch ohne Anhang, Verantwortlichkeit, Startdatum und Enddatum (ohne Erledigt ja sowieso…). Dafür braucht man ein Feld „Aufgabenpaket“ oder ähnliches.

Und dann baust Du ein Listenformular, das auf diese Tabelle schaut, und auf das Feld Aufgaben_ID über ein ein Kombinationsfeld zugreift, dieses Kombinationsfeld liefert Infos aus der Aufgabentabelle. Über dieses Formular füllst Du Deine Liste mit Aufgabenpaketen (zusammengehörige Standard-Aufgaben).

Und in Dein Formular, mit dem Du Projekten ihre Aufgaben zuweist, nimmst Du ein ungebundenes Kombinationsfeld, das gruppiert auf das o.g. Feld „Aufgabenpaket“ der neuen Tabelle schaut. Mit dem kannst Du ein Aufgabenpaket zuweisen. Und die Schaltfläche in diesem Formular belegst Du mit CurrentDb.Execute („INSERT INTO xxxx…“). Da baust Du Dir einfach eine Anfügeabfrage mit allem, was Du brauchst, gehst dann in deren SQL-Ansicht, kopierst den SQL-Code in Deine VBA-Prozedur und ergänzt den um Deine „externen“ Informationen.

kann leider nicht helfen

tut mir leid, habe hier keine Erfahrung

Lieber Calvin,
ich vermute, dass dir wie den meisten Access-Neulingen nicht klar ist,
worauf du dich einlässt.
Access ist trotz der Einstiegshilfen nicht einfach eine bequemere und vielseitigere Art, Daten in Rastern zu verwalten.
Im Gegensatz zu den anderen Officeprogrammen fußt es auf der mathematischen Theorie der Relationen (daher „RELATIONALES Datenbank-Managementsystem“). Managementsystem dagegen heißt, dass umfangreiche Funktionen zu Eingabe, Verarbeitung und Ausgabe in Verbindung mit einer Programmiersprache zur Verfügung gestellt werden.
Wenn du einen Nutzen von Access haben willst, musst du dich damit auseinandersetzen. Das wiederum rentiert sich nur, wenn der Aufwand der manuellen Datenverarbeitung größer ist als der für die Einarbeitung.
Sonst wird dein Projekt in Kürze völlig unüberschaubar.
Jede Minute für die Grundlagen spart dir eine Stunde Brokelei im Überbau.
Was heißt das konkret?
Die DB-Struktur soll die Struktur der Daten wiedergeben, d.h. nach dem Entity-Relationship-Modell aufgebaut sein. Die Daten so auseinander zu klamüsern nennt man normalisieren.
So vermeidet man Datenredundanz und behält die Übersicht.
Über dieses Thema sind Bücher geschrieben worden und du solltest zumindest mit den Grundlagen umgehen können.
Heraus kommen womöglich die Tabellen Projekt, Standardaufgabe (?), Proj-Aufg, Mitarbeiter, Zuord-Proj-Mitarb.
Erst wenn du damit zu deiner Zufriedenheit fertig
(ganz fertig ist man evtl. nie) bist, lohnt es sich, die Oberfläche zu erstellen.

Mit einer Schaltfläche werden … die Aufgaben_ID generiert,

Das lass mal Access machen mit Autowert

Projekt_ID ausgelesen,

macht Access bei korrekter Erstellung der Beziehungen

… Aufgabentitel & Beschreibung kopiert oder generiert (was halt einfacher ist)

nix da: die werden mittels einer Abfrage über ihre ID zugeordnet.
Kopieren hat in einer DB nix zu suchen

Anschliessend werden in einem weiteren Formular alle Aufgaben
aufgelistet, wo dann Termin, Verantwortlichkeit, etc.
definiert werden können.

Datengrundlage wäre dann Proj-Aufg.

Wie bekomm ich die Textbausteine, die ich angewählt habe in meine Tabelle?

Gar nicht. Nur der Verweis (=ID) wird in Proj-Aufg eingetragen.

Ich habe die Antwort so formuliert,
dass sie dir zT kryptisch erscheinen wird.
Das ist keine Arroganz sondern eine Aufgabe:
erst wenn du dir ein Verständnis erarbeitet hast,
kannst du eine funktionierende DB erstellen.

Toi*3
Thomas

Hallo Frank

Danke für deine Bemühung.

ich nehme an das du Aufgabentitel und Aufgabenbeschreibung in
die Tabelle schreiben willst.
Ein besserer und flexibelerer Weg ist es die Aufgaben in einer
eigenen Tabelle abzulegen und nur die Aufganben_Id in der
tblAufgabenProjekt abzulegen.

So hab ichs jetzt mehr oder weniger gemacht.

Ansonsten VBA verwenden,

wenn der recordset schon geöffnet ist dann

Private Sub Optionsgruppe_AfterUpdate()
Dim RS As DAO.Recordset
Set RS = Me.RecordsetClone
RS.Edit
Select Case Optionsgruppe.Value
Case 1
RS!Aufgabentitel = „Schreiben“
Case 2
RS!Aufgabentitel = „Malen“
Case 3
RS!Aufgabentitel = „Lackieren“
Case 4
RS!Aufgabentitel = „Drucken“
'…
'…
End Select
RS.Update
End Sub

Wenn die Tabelle noch nicht geöffnet ist dann vorher

Dim DB as Dao.Database
set DB = CurrentDB
und set RS = DB.openrecordset

mit einer entsprechenden SQL Abfrage die den richtigen RS
öffnet.

Ich wollte keine Optionsgruppe, sondern mehrere Checkboxs zum Auswählen (also mit einer „UND“ Funktion, nicht mit „ODER“).

Wenn du Die Afgaben in einer Tabelle ablegst brauchst du den
Text nicht im VBA abzulegen sondern weist der
tblAufgabenProjekt nur die Aufgaben ID zu und kannst den
verwendeten text in einem eigenen Formular ändern.

Ich habs mehr in diese Richtung gemacht - klappt aber auch noch nicht ganz.
–> siehe http://www.wer-weiss-was.de/app/service/board_navi?A…

Danke dir auf jeden Fall.

So wie ich es beurteilen kann, steckt das Problem schon in der Tabellenstruktur. Es funktioniert auf vernünftige Weise wohl nur, wenn eine eigene Tabelle mit den möglichen Aufgaben, eine mit den Projekten und eine zur Verbindung der beiden Tabellen angelegt wird. Da in mehreren Projekten eine oder mehrere Aufgaben anfallen können, handelt es sich um eine klassische m:n-Verknüpfung. Die Struktur besteht dann aus der Projekttabelle mit dem eindeutigen Schlüssel „Projekt_ID“, der Aufgabentabelle mit dem eindeutigen Schlüsselfeld „Aufgaben_ID“ und der Kombitabelle mit einer laufenden Nummer als eindeutigem Schlüsselfeld und der Projekt_ID sowie der Aufgaben_ID als Fremdschlüssel (Mehrfachnennung möglich und erwünscht :wink:. Die Auswahl erfolgt dann am besten über die Eirichtung eines Haupt- und Unterformulars, wo eine oder mehrere Aufgaben dann über Kombinationsfelder ausgewählt werden können