Hallo zusammen
Ich bin schon sehr viel weiter als je gedacht, und werde langsam Opfer meines Erfolgs.
Da gibt es eine Tabelle tblProjekte und tblMitarbeiter. Mitarbeiter können verschiedene Funktionen innerhalb eines Projektes einnehmen, darum habe ich, wie mir hier geraten wurde, eine Zuordnungstabelle mit Fremdschlüsseln auf tblProjekte, tblMitarbeiter und tblFunktionen gemacht. Das funktioniert wunderbar, für das Erfassen eines Projekts habe ich ein nettes Formular erstellt, worin die Mitarbeiter mit ihren jeweiligen Funktionen in einem Unterformular direkt in der Zuordnungstabelle erfasst werden.
Nun soll ich zusätzlich noch eine Liste als Formular erstellen, wo alle laufenden Projekte mit ihren Eigenschaften aufgeführt sind, plus natürlich die zugeordneten Kontakte dargestellt werden. Diese Liste soll auch editierbar sein, bzw. es sollen darin auch neue Datensätze erfasst werden (Hintergrund: Es ist eine andere Abteilung, die lieber in Listenform arbeitet).
Mit diesen 2 Optionen bin ich bis jetzt gescheitert:
1) Ich habe versucht, ein einfaches Datenblatt zu erstellen. Das wäre ideal, denn der Vorgänger dieser Liste war in Excel. Basierend auf einer Abfrage. Da habe ich das Problem, dass mir pro Projekt bis zu 3 Datensätze ausgegeben werden, da wie bereits erwähnt einem Projekt mehrere Mitarbeiter ausgegeben werden. Mit verschachtelten Abfragen oder Kreuztabelle bringe ich pro Projekt einen Datensatz hin, dann kann er aber nicht editiert werden bzw. kein neuer Eintrag in die Liste gemacht werden.
2) Dann wollte ich eben ein Endlosformular machen, und wiederum die Mitarbeiterzuordnung als Unterformularen einbinden. Das funktioniert aber auch nicht, da Access keine Unterformulare in Endlosformularen erlaubt. Es gibt einen Workaround, wo man Unterformulare in den Formularfuss einbinden kann. Aber ich schaffe es dann nicht, den Detailbereich auszublenden, auch wenn ich ihn auf "nicht sichbar" stelle.
Hat jemand eine Idee, wie ich das trotzdem lösen könnte mit der Ansicht als Datenblatt / "Listen" Form? Es würde mich sehr freuen.
Herzliche Grüsse
Micharius
Hallo,
ich habe nicht ganz verstanden, wie die Liste aussehen soll.
Ich fürchte aber, das Vorhaben wirst Du nicht umsetzen können.
Wenn die Liste auf der Abfrage beruht, hast Du das Projekt mehrfach in der Anzeige. Das lässt sich nicht verhindern.
Man könnte eine Kreuztabellenabfrage erstellen mit einer Zeile je Projekt und den zugeordneten Mitarbeitern in je einer Spalte. Eine solche Abfrage ist aber nicht editierbar (auch nicht mit Tricks) und somit ist es völlig ausgeschlossen neue Datensätze eingeben zu können.
Ich denke da wirst Du keine brauchbare Lösung finden.
Hi,
Zitat von: Micharius am Juli 04, 2017, 21:49:37
2) Dann wollte ich eben ein Endlosformular machen, und wiederum die Mitarbeiterzuordnung als Unterformularen einbinden. Das funktioniert aber auch nicht,
Es ist möglich, ein Hauptformular zu haben, in dem zwei Unterformular-Steuerelemente sind, die ein Tabellen-, Endlos- oder Formular-Layout haben können.
Zum Beispiel: "Projekte" ist in dem einen Unterformular-Steuerelement und "Kontakte" in dem anderen.
Bei "Projekte" steht im Ereignis "Beim Anzeigen" eine Zeile in der Art:
Me.Parent!Kontakte_ufo.Requery '"Kontakte_ufo" sei der Name des Unterformular-Steuerelementes
Dann werden bei Scrollen durch die Projekte die dazu passenden Kontakte angezeigt und alle Daten sind editierbar bzw. es können neue Daten hinzugefügt werden.
Das Verfahren kann auch noch auf etliche weitere Unterformulare angewendet werden.
Harald
Ich bin immer wieder erstaunt, wie man mit 3 oder 4 Tabellen so ein komplexes Thema wie Projekt-Dokumentation abdecken kann. ;D
Wäre die Aufgabe an mich herangetragen, so sähe ein Datenmodell als Mindestanforderung eher so wie der Bild-Anhang aus.
...dann, oh holde Lachtaube, hast du sicher auch einen tollen Vorschlag in petto, wie ich a) die Aufgabenstellung besser hätte lösen können (vergleiche meine Frage, die ich ursprünglich dazu hatte http://www.access-o-mania.de/forum/index.php?topic=22494.0 (http://www.access-o-mania.de/forum/index.php?topic=22494.0), und b) wie ich das eigentlich in diesem Thread gestellte Problem lösen könnte. ;)
Hallo,
lad mal Deine DB hier hoch , komprimiert/repariert und gezippt.
Beschreibe anhand der konkreten Objektnamen (Tabellen, Formulare, Felder) , was Du wo machen willst und was insgesamt der umfängliche Sinn der DB ist.
Micharius, ich will nur zu bedenken geben, dass eine Datenbank, aufgebaut auf einem suboptimalen Modell (vergleichbar mit einem wackeligen Fundament beim Hausbau), dazu führt, dass man nach Nachbesserung meistens alle Formulare und Berichte in die Tonne hauen kann.
Allgemein gilt, Objekte und Handlungen sauber voneinander zu trennen.
Kurze Erläuterung zum Anhang:
* Es gibt Benutzer (Geschäftsleitung, oder wer auch sonst immer berechtigt ist, Projekte zu erschaffen). Zugleich ist festgelegt, welche dieser Personen zum Projektleiter erkoren werden kann.
* Im Unternehmen gibt es Abteilungen (oder Teams)
* Ein Mitarbeiter hat seine üblichen Daten, die hier nur verkürzt dargestellt sind. Er gehört einer Abteilung an und kann - muss aber nicht - zum auserwählten Benutzerkreis gehören.
* Ein Projejt hat geplante Anfangs- und Enddaten und nach Start ein aktuelles Startdatum und nach Abschluss ein aktuelles Enddatum. Aus der Benutzertabelle ist ihm ein Projekt-Manager zugeordnet.
* An einem Projekt können externe Kunden und/oder Parner(-Unternehmen) für einen Zeitraum involviert sein.
* Ein Projekt gliedert sich in 1 - n Aktionen auf (jeweils wieder mit geplanten und tatsächlichen Zeitpunkten) und hat einen Etat (Budget).
* Jede Aufgabe des Projekts hat außer der ersten einen Vorläufer.
* Jeder Aufgabe beinhaltet 1 - n Aktivitäten, die wiederum einen geplanten und tatsächlichen Zeitrahmen umfassen und auch einen geplanten und tatsächlichen Etat aufweisen.
* Einer Aktivität werden 1-n Mitarbeitzer mit einer speziellen Funktion (Rolle) zugewiesen.
* Jede Aktivität hat außer der ersten eine Vorläufer-Aktivität.
Dass bei euch im Unternehmen einige Dinge anders (vermutlich noch komplexer) sein mögen, will ich nicht in Abrede stellen - rüttelt aber bestimmt nicht am aufgezeigten Grundprinzip.
Wenn Dein Datenmodell ausgegoren ist, stelle es mit einigen Spieldaten als Download zur Verfügung und umreiße, was wie in Formularen (zum Editieren und Navigieren) angezeigt werden soll. Dann kann man konkrete Vorschläge unterbreiten.
Hallo zusammen
Erstmals danke für die vielen Antworten und Einschätzungen. Nun ja, sieht so aus, als ob das nicht so umsetzbar ist wie gewünscht. Dann ist es halt so.
Generell: Diese DB ist so ein Steckenpferd von mir. Ursprünglich angefangen, um einigen MA die Idee einer Datenbank näherzubringen, statt diverse Excel Tabellen im Netzwerk zu pflegen, und bei jeder Word Vorlage die Kundenangaben neu einzugeben. Dummerweise habe ich gemerkt, dass mir Access noch sehr Spass macht, deshalb habe ich das Ganze mittlerweile immer mehr ausgebaut. Leider habe ich momentan keine Zeit, die DB zu anonymisieren bzw. mit Spieldaten auszustatten. Nichtsdestrotz ist eine Tabellenübersicht angefügt...bin bereit für vernichtende Kommentare! ;) ;) ;)
Danke auf jeden Fall nochmals!
Gruss
Micharius
Hallo,
naja, so vernichtend wird's nicht werden... ;)
Das sieht doch auf den ersten Blick ganz gut aus.
Wenn jetzt die Zuordnung von Projekt und Mitarbeiter den Realitäten entspricht, wird es keine editierbare (bzgl. Mitarbeiter) Darstellung von Projekt und nur den Mitarbeitern geben. Aber was steht denn einem UFO entgegen, das auf Basis von "tblAssignKunMitZus" alle zugeordneten MAs anzeigt? Wenn eine DB verwendet wird, sollte man sich von Excel-Gewohnheiten weitgehend abwenden.
Der "Kreisverkehr" zwischen tblKunden-tblProjekte-tblAssignKunMitZus-tblKunden sollte überdacht werden.
Kleiner Tipp nebenbei: Ordne die Tabelle (in "Spalten") so an, dass immer eine 1-Tabelle links von der zugehörenden n-Tabelle steht. Das erzeugt eine bessere Übersicht und eine "Hirarchie" der Tabellen.
Hallo Franz
Danke sehr für die Einschätzung! Stimmt, so habe ich es auch nun gemacht. tblProjekte als Endlosformular, die Mitarbeiterzuordung auf Basis tblAssignKunMitZus im Formularfuss eingebunden. Dort kann man ja auch im Endlosformular UFOs reinmachen. Man muss sich daran gewöhnen, weil bisher stand ja alles in einer Zeile. Aber als Workaround ist das sehr brauchbar.
Der Kreisverkehr ist entstanden, da jeder Kunden einen eigentlich zugewiesenen Mitarbeiter als Verantwortlichen hat. Bei einem Projekt kann gibt es dann auch wieder Verantworliche, bzw. sogar mehrere mit verschiedenen Funktionen. Oder ginge ich besser daran, diese Zuweisungen (Mitarbeiter -> Kunden / Mitarbeiter -> Projekte) in zwei separaten Zuweisungstabelle zu machen?
Herzliche Grüsse
Micharius
Hallo,
ad hoc kann ich das nicht sagen, weil ich viele Details nicht kenne. Lass es mal so. Wenn keine Schwierigkeiten in Folge auftauchen, ist es ja ok.
Zum Endlosform: Es gibt ja auch andere Möglichkeiten, ob die brauchbar (akzeptiertbar) sind, ist zu prüfen..
Im Endlosform können auch nur die interessierenden Daten "aufgelistet" werden, die allerdings nicht editierbar wären. Durch Doppelklick auf einen Eintrag könnte dann ein weiteres gefiltertes Form geöffnet werden, das eben eine aktualisierbare Datenherkunft besitzt.