Access-o-Mania

Access-Forum => Access-Hilfe => Thema gestartet von: Andi123x4 am April 07, 2022, 13:14:57

Titel: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am April 07, 2022, 13:14:57
Folgendes Szenario:

Ich habe eine Tabelle "Tasks" für welche bestimmte "Rollen" notwendig sind und welche von bestimmten "Personen" erledigt werden sollen.

Nun können für einen "Task" aber mehrere Rollen notwendig sein z.B ein Techniker und ein Manager.

Darum habe ich 2 Kombinationsfelder mit Mehrauswahl.
Im ersten wähle ich aus, dass ich 1x Techniker und 1x Manager brauche und im zweiten Kombifeld sollen mir dann nur Personen angezeigt werden, welche entweder Techniker oder Manager als Rolle drin stehen haben in der Personentabelle.

Irgendwelche Tipps ?
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: MzKlMu am April 07, 2022, 13:31:37
Hallo,
siehe hierzu:
https://www.ms-office-forum.net/forum/showthread.php?t=380243

Verzichte auf Kombinationfelder mit Mehrfachauswahl und beschäftige Dich mit den Grundlagen zu Access.
Das geht nicht mit dieser einen Tabelle.
Du brauchst noch eine Tabelle für die Rollen und eine Tabelle für die Personen. Das muss als n:m beziehung aufgebaut werden.

Zeige mal den bisherigen Aufbau.

Zu den Grundlagen:
https://www.access-tutorial.de/

PS:
Es nutzt nix das Forum zu wechseln, nur weil die Antwort nicht passt oder nicht verstanden wurde. InHier gibt es fast die gleichen Antworten, von fast den gleichen Leuten.  ;D
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am April 07, 2022, 13:45:43
Hallo,
Ich habe die Datei aus dem anderen Forum erst vorhin gerade nochmal versucht zu verstehen sie hat mir leider in keinster Weise geholfen, vermutlich weil ich mich nicht genug auskenne.

Es ist alles jeweils eine Eigene Tabelle was in "" steht also "Tasks" "Rollen" "Personen"

Ich kann leider kein Screenshot anhängen, wie mache ich das am besten, den Aufbau zu zeigen ?

Vielen Dank und beste Grüße :)
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am April 07, 2022, 13:48:01

beziehungen.PNG
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: MzKlMu am April 07, 2022, 15:40:48
Hallo,
in der Tabelle SubTasks sind die Felder Role, Person und Equipment ersatzlos zu löschen.

Um Dir vOrschläge machen zu können, müsste man wissen, wie die Role, Peron und Equipment zusammenhängen.

Warum gibt es in der Tabelle Ressources auch jeweils ein Feld zur Person, zur Role und zum Equipment, ist das unabhängig von den Subtasks ?

PS:
Bitte keine vollständigen Beiträge zitieren.
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am April 07, 2022, 16:00:54
Hallo,
Ich dachte dass ich diese Felder brauche um von der Tabelle Subtasks jeweils eine Beziehung zu den einzelnen Tabellen erstellen kann.

Also die Grundidee ist:

Subtasks werden von mehreren Personen ausgeführt und es werden mehrere Rollen und Equipments dafür benötigt also jeweils
Subtask - Person = N:M
Subtask - Rolle N:M
Subtask - Equipment N:M

Ressourcen sind einfach die Überkategorie von den 3 Dingen also Ressourcen bestehen aus Personen,Rollen,Equipment (Das ist aber erstmal irrelevant hierfür)

Das mit dem zitieren war ausversehen tut mir leid wusste dann auch nicht wie ich es ändere

Gruß,
Andi


Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: MzKlMu am April 07, 2022, 16:20:53
Hallo,
n:m Beziehungen erforden jeweis eine Verbindungs/Zuordnungstabelle. Also musst Du noch 3 Tabellen anlegen
Subtask - Person
Subtask - Rolle
Subtask - Equipment
Mit jeweils Feldern für die entsprechenden Fremdschlüssel.
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am April 08, 2022, 08:07:00
Screeni1.PNG

Wenn ich es richtig verstehe dann 3 Tabellen zusätzlich die so aussehen ?
Verstehe aber noch nicht ganz wie ich mit dem ursprünglichen Problem weiter komme.
Tut mir Leid dass ich mich so doof anstelle, kenne mich nicht so gut aus
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: MzKlMu am April 08, 2022, 11:26:01
Hallo
Dein Problem ist dann immer noch nicht gelöst.

Mal noch eine Frage: Kann eine Person auch mehrere Rollen haben?
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am April 08, 2022, 11:43:23
Danke für die Antwort

Ja eine Person kann mehrere Rollen haben
Sollen quasi die 'Qualifikationen einer Person' sein
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: MzKlMu am April 08, 2022, 11:56:43
Hallo,
dann brauchst du noch eine Tabelle (n:m) die alle die für eine Person zutreffenden Rollen erfasst.
Aus dieser Tabelle erfolgt dann die Auswahl der Person nachdem man vorher per Kombi die Rolle festgelegt hat.
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am April 08, 2022, 12:23:41
Aber können wir nicht erst das Problem lösen mit nur einer Rolle, also dass jede Person nur eine Rolle haben kann.
Wenn ich verstanden habe wie es geht, kann es ja beliebig erweitert werden.
Ich habe die anderen Tabellen erstellt, aber komme trotzdem nicht weiter als davor
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: MzKlMu am April 08, 2022, 13:46:51
Hallo,
Zitat von: undefinedAber können wir nicht erst das Problem lösen mit nur einer Rolle,
nein, das geht bei Access nicht. Das läuft bei Access nach dem Motto "Alles oder nichts".
Eine Rolle je Person erfordert einen anderen Aufbau der Tabellen. Das geht dann auch ohne n:m, was aber keinen Sinn macht, wenn dann später n:m gebraucht wird, muss alles wieder geändert werden, Beziehungen, Abfragen, Formulare usw.
Das willst Du nicht wirklich.
Das gleiche Problem hättest Du auch mit den Mehrwertfeldern.

Es ist auch nicht so kompliziert wie sich das anhört.


Lade einfach die DB mal mit ein paar Beispieldatensätzen hier hoch.
DB vorher "Komprimieren/Reparieren" (Access Dienstprogramm) und dann als Zipfile hier hochladen.
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am April 08, 2022, 14:46:11
So Sorry ich musste erst alles sinngemäß kopieren weil die Datenbank Firmendaten beeinhaltet

Hier der Aufbau der Datenbank
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: MzKlMu am April 08, 2022, 16:57:27
Hallo,
das wird etwas dauern, bis ich das umgemoddelt habe, da ist nicht viel richtig.  ;D
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: MzKlMu am April 09, 2022, 23:56:45
Hallo,
im Anhang mein Vorschlag.
Bitte zuerst die Beziehungen ansehen.
Dann das Formular "Personen".
In diesem Formular kannst Du Personen erfassen und im Ufo die für die Person zulässigen Rollen.

Mit dem Formular "TaskErfassung" kannst Du eine Task bearbieten oder neu anlegen.
Im Register "Personalzuteilung" wird erst eine Rolle ausgewählt und dann die Person, jeweils per Kombi. Es werden nur die Personen zur Auswahl angezeigt die zur Rolle passen. Das Kombi zur Personenauswahl bedarf wegen der Abhängigkit von der Rolle einer besonderen Behandlung. Das hat aber mit der Bedienung nichts zu tun.


Da wären aber noch einige Feinheiten zu tun.
Du musst das alles aber erst mal verstehen, sonst kannst Du selbstständig keine Änderungen machen.
Bei Fragen bitte melden.

PS:
Warum heißt das eingentlich Subtask, Sub heißt ja Unter, demzufolge wäre das eine Untertask, aber eine Obertask gibt es nicht. Solche Ungereimtheiten solltest Du vermeiden.
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am April 12, 2022, 11:09:44
Hallo, Ich wollte mal fragen wie der Stand der Dinge ist :)
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: MzKlMu am April 12, 2022, 11:18:12
Hallo,
Welchen Stand der Dinge?
Ich habe Dir doch bereits am 09.04.2022 ca. 22 Uhr ausführlich (mit Datenbank) geantwortet (#15) nicht gesehen?
Man sollte seine Themen schon im Auge behalten.
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am April 13, 2022, 08:29:04
Ohh sorry, ich hatte mir den Link gespeichert und bin mehrmals über diesen in den Beitrag gesprungen, weil sich Seiten normalerweise aktualisieren.

Jedenfalls habe ich mir die Datei angesehen und es ist genau das was ich brauche! Perfekt vielen Dank für die Mühen!

Ich versuche gerade zu verstehen wieso welche Beziehungen notwendig sind, wobei ich mich ein wenig schwer tue, ich melde mich wieder! :)

Besten Dank nochmal!

PS: Steht das "_F" für Fremdschlüssel ?
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am April 14, 2022, 11:05:49
So also ich habe mich jetzt intensiv in die Datei rein gearbeitet und habe auch einiges gelernt über die Struktur einer Datenbank wofür ich sehr dankbar bin, aber habe noch ein paar Probleme.

Ich habe jetzt mal alle Formulare und Beziehungen sinngemäß nachgebildet in meiner DB, aber irgendwo scheinbar die Beziehung zwischen den Daten vergessen, da ich immer die Fehlermeldung bekomme, dass die Datensätze in Beziehung stehen müssen. Ich dachte das geschieht alles über die Beziehungen (unten angefügt)

Ich habe dann das Fomular in der von Ihnen bereitgestellten DB erstellt und da hat es funktioniert, also liegt der Fehler nicht in dem von mir erstellen Formular sondern schon davor an einer Beziehung zwischen den Tabellen.

Wäre super wenn Sie mir sagen könnten wo ich etwas vergessen habe.

PS. Den INNER JOIN in den "Ereignissen" habe ich erst nach einer Weile gefunden ;D
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: MzKlMu am April 14, 2022, 11:45:17
Hallo,
ZitatDen INNER JOIN in den "Ereignissen" habe ich erst nach einer Weile gefunden
???
Was für einen INNER JOIN ? In den Ereignssen gibt es kein INNER JOIN. Ereignisse sind VBA und INNER JOIN ist SQL, beides hat drekt nichts miteinander zu tun.

Was die Fehlermeldung betrifft, so kann ich dazu nichts sagen, man müsste alle Einstellungen des Kombis sehen.
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am April 14, 2022, 12:18:25
Das ist mir durchaus bewusst, ich dachte mir nur Sie wissen was ich meine. Nämlich die SQL Abfrage im VBA Code welche unter den Ereignissen des Feldes hinterlegt ist.

Im Anhang alle Einstellungen des Kombis, LINKS Ihr Kombifeld, RECHTS Mein Kombifeld
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am April 14, 2022, 13:37:47
Ich bin nun schon weiter aber ich kann mir nicht erklären wieso die DB irgend ein Problem mit der Tabelle "PersonenRollen" hat auch wenn ich alle Inhalte lösche.  Es geht nur wenn ich die Blaue Beziehung im Bild lösche. Ich weiß aber nicht wieso

Unten im Bild nochmal die Fehlermeldung wegen der es nicht geht.
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am April 14, 2022, 15:07:45
Ouman ich habe jetzt den Fehler gefunden es war bei der Tabelle PersonenRolle ein Standardwert (0) eingestellt und deswegen ging es nicht...Jetzt macht natürlich auch die Fehlermeldung sinn.

Vielen Dank für alle die Mühen damit sollte es erledigt sein.
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am April 20, 2022, 16:09:41
Ich habe jetzt das ganze Projekt umstrukturiert nach dem Konzept mit Hilfstabellen.

Nun weiß ich nur nicht, wie ich realisiere, dass sich die Datensätze der "Subtasks" im Unterformular aktualisieren wenn ich auf einen bestimmten "Task" drücke.

PS. Wenn ich im Hauptformular über den Datensatznavigierer zum nächsten Datensatz springe werden die "Subtasks" aktualisiert. So kann ich aber nur vor und zurück und nicht die Subtasks per Klick von einem bestimmten Task anzeigen lassen.

Wie realisiere ich das ?
Wenn ich z.B. auf den Task "Prüfungen" drücke sollen alle Subtasks des Tasks "Prüfungen" unten angezeigt werden.

Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: MzKlMu am April 20, 2022, 16:51:11
Hallo,
Du musst im Hafo ein ungebundenes Kombinationsfeld einbauen das Du zum Suchen und Anzeigen einer Subtask nutzen kannst.

Zeige mal ein Bild des aktuellen Beziehungsfensters.

Wenn Du nicht klar kommst, lade die DB hoch.
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am April 21, 2022, 10:01:06
So sorry ich musste wegen Datenschutz erst alle Daten/Logos/etc entfernen.
Habe nun ein Paar Dummy Daten eingefügt.

Das Ziel ist unter anderem auch das wenn man ein Project erstellt und mit der Maus in einen "Task" drückt
direkt unten die zugehörigen "Subtasks" hinzufügen/ändern/anzeigen kann.
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: DF6GL am April 21, 2022, 11:29:56
Hallo,

wenn man ein Project erstellt und mit der Maus in einen "Task" drückt
direkt unten die zugehörigen "Subtasks" hinzufügen/ändern/anzeigen kann.

Das geben die Beziehungen doch nicht her.  Die Subtasks (Tabelle "SubTask"s") sind nicht von den Tasks (Tabelle "Tasks") abhängig, allenfalls sind die Abhängigkeit in Tabelle "hlpSubTaskTasks" abgelegt.


Zudem vermute ich falsche Beziehungen bei SubTaskEquipment.SubTaskID_f  und anderen Tabellen.

Ordne und korrigiere zunächst die Beziehungen wie im folgenden Bild ( nur Vorschlag und nur bzgl. "Tasks", "Personal" und "Rollen" .Ob die Beziehunegn dann insgesamt "richtig" sind (glaube ich aber nicht ) , musst Du selber entscheiden.)

Ich verstehe auch nicht,
--in welchem Zusammenhang "Task" und "Subtask"  mit den anderen Tabellen stehen (müssen)
--was "Projekte" überhaupt in der DB für eine Rolle spielen, bzw. was diese Daten aussagen sollen.
--welchen Einfluß SubTaskPeronalRoles wo haben müssen
--etc., etc.
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am April 21, 2022, 12:38:35
Also ich habe jetzt mal alles nach der Vorgabe umstrukturiert und ich verstehe auch wieso das viel mehr Sinn macht.
Es funktioniert auch noch alles wie zuvor.

Vielleicht zum Verständnis was ich bezwecken will:

- Es gibt Projekte welche aus Tasks und Subtasks bestehen.
- Subtasks Wiederrum erfordern bestimmte Rollen (Personen besitzen Rollen) + Equipments

Und nun soll in der Hauptübersicht:
- Projekte mit zugehörigen Tasks und Subtasks angezeigt werden
- Bei den Subtasks die benötigten Rollen+Personen und Equipments angezeigt werden

Welche Beziehung oder was müsste ich ergänzen, damit ich per Klick in den Tasks dazu Subtasks und Rollen etc zuweisen kann? und diese direkt unten angezeigt werden

Vielen Dank schonmal für die erste Hilfe bei der Umstrukturierung,
Gruß Andi
 
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: DF6GL am April 21, 2022, 12:42:55
Hallo,

ZitatEs gibt Projekte welche aus Tasks und Subtasks bestehen.


Haben Tasks und Subtasks etwas miteinander zu tun?

Ist ein "Task" der Oberbegriff für eine Sammlung von Subtasks? Oder wie hängt das zusammen?

Kannst Du mal ein authentisches Beispiel machen?
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am April 21, 2022, 12:51:23
Ja genau so ist das gemeint

z.B

Projekt: Haus bauen
Tasks: 1. Fundament Betonieren  2. Grundgerüst bauen 3. Elektronik installieren 4. Fertig stellen
Subtasks: Zu 1. Beton anrühren, Beton eingießen, Beton aushärten lassen
          Zu 2. Grundgerüst skizzieren, Grundgerüst aufstellen, Gerüst befestigen,....

Zu Subtask 1. benötigt man: Rolle -> Bauarbeiter -> Checken z.B Max Meier ist Bauarbeiter.
                            Equipment -> Zement, Eimer, Betonmischer

Hoffe das ist so ersichtlich was das ganze werden soll irgendwann :)

Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: DF6GL am April 21, 2022, 14:20:33
Hallo,

anbei ein Vorschlag..


("Branch" ist mir beziehungsmäßig und bedeutungsmäßig nicht klar)

Evtl. muss aber das Ganze insofern umgestaltet werden, als dass aus einer vorgegebenen Struktur (Vorlage) nur die benötigten Daten einem ProjektSubTask zugeordnet werden. Dafür sind weitere n-Tabellen nötig, die an ProjektSubTask angebunden werden müssen.
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am April 21, 2022, 15:27:21
Hallo,
Da sie alle Abfragen gelöscht haben sind alle Datensatzquellen weg, deshalb muss ich diese neu hinzufügen
Könnten Sie mir bitte kurz erläutern woher ich weiß welche Tabellen man grundsätzlich braucht als Datensatzquelle ?

Mein Vorgehen:
Ich dachte mir beim Hauptformular brauche ich alle Felder zum Project, darum Reicht die Tabelle Project als Datensatzquelle
Beim Unterformular Tasks brauche ich die Tabelle Tasks für die Felder.

Wenn man alle Felder hat braucht man noch ein Feld über das beide in Beziehung miteinander stehen oder ?
Deswegen habe ich einfach bei der Datzensatzquelle bei Tasks alle Tabellen hinzugefügt, bis man von "PST_ProjectID_F" nach "ProjID" verknüpfen kann.

Das funktioniert aber nicht.

Tut mir leid für diese ganzen banalen Fragen aber ich muss mir alles selbst beibringen und habe keinerlei Hilfe als das Internet und diese Foren.

Danke für die Mühen soweit :)!



Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Beaker s.a. am April 21, 2022, 16:08:14
Hallo,
Wenn man das Beziehungsfenster (s.Anlage) mal ein bisschen aufräumt, sieht man,
dass es da zwei Beziehungen gibt
"tblPersonalRoles" zu "tblSubtasks" und "tblProjectSubTasks" zu "tblSubTaskEquip",
die ich beide für falsch halte.

gruss ekkehard
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: MzKlMu am April 21, 2022, 16:51:21
Hallo,
das Thema ist ein typisches Beispiel für Beispieldatenbanke die dann an der Realität vorbei gehen.
Ich hatte ja mit den vorleigenden Infos versuch einen Vorschlag für ein Datenmodell zu machen.
Nach den neueren vorleigenden Infos war das für die Katz, denn die Erläuterungen in #30 ist das Datenmodell untauglich.
Ich hatte auch mehrfach mal mach dem Sinn von Subtask gefragt wenn es keine Task gibt. Wurde aber nicht weiter darauf eingegangen.
Die Beziehungen müssen jedenfalls überarbeitet werden, das passt so nicht. Z.B. brauchen die Subtask einen Bezug zum Projekt (Task).

Ich blicke da aber zwischenzeitlich nicht mehr so recht durch.
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am April 22, 2022, 12:33:18
@DF6GL "Branch" soll anzeigen um welches Tochterunternehmen es sich handelt. Am Ende soll der User vom PC ausgelesen werden und es sollen nur die Projekte/Equipments/Personen der jeweiligen Tochtergesellschaft (Branch) angezeigt werden.

PS. ich habe es mal mit dem Vorschlag probiert, aber da funktioniert gar nichts bei mir, außerdem müsste doch ein Task in den Beziehungen vor dem Subtask kommen und nicht umgekehrt oder nicht ? Quasi als oberste Stufe das Projekt dann Tasks und dann Subtask. In dem Vorschlag kommt ja erst Projekt dann subtask und dann task

@Beaker s.a.
Wieso halten Sie die Beziehung von "tblPersonalRoles" zu "tblSubtasks" falsch ? Ich dachte auch dass man so eine Beziehung braucht um Personal und Rollen den Subtasks zuweisen zu können.
Also ich versuche es nur zu verstehen. Könnten Sie das vielleicht erläutern.

@MzKlMu Es tut mir wirklich leid, hatte vergessen darauf einzugehen. Aber wie sie schon sagten es macht nur Sinn Subtasks zu haben wenn man auch Tasks hat und dies ist ja der Fall, daher die Namensgebung. Ich hoffe mit dem Beispielszenario von oben ist klar was ich hier versuche umzusetzen



Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: DF6GL am April 22, 2022, 14:06:21
Hallo,


Zitatum welches Tochterunternehmen es sich handelt.

Dann ist das eine Eigenschaft von tblAddresses?

Gehören mehrere User zu einer Branche?


Sind die Tasks auf die Roles oder die Personen bezogen?


Anbei andere Version mit möglicherweise transparenteren Beziehungen. Dabei gibt es aber keine Abhängigkeiten zwischen Tasks, Subtasks, Material, Equipment und Personal (Roles)  .


Alle Forms und Abfragen (bis auf frmHome) sind entfernt, weil hier sowieso nicht mehr brauchbar.
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am April 22, 2022, 20:37:57
@DF6GL
Danke für den Lösungsvorschlag ich habe es jetzt mal probiert die Formulare nachzubilden auf Ihrer Datenbank, aber hatte dann am Ende wieder das gleiche Problem, dass ich den Tasks keine Subtasks zuordnen kann.
Sie meinten ja sowieso dass es keine Abhängigkeiten zwischen Tasks und Subtasks gibt, sind aber nicht genau diese notwendig für mein Vorhaben, oder wo ist mein Denkfehler ?

VG,
Andi
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: DF6GL am April 22, 2022, 21:09:01
Hallo,

Zitathatte dann am Ende wieder das gleiche Problem, dass ich den Tasks keine Subtasks zuordnen kann.

Das ist doch auch nicht nötig..  Ein Projekt (Haus bauen) besteht aus verschiedene (Haupt-)Tasks, die sich in tblProjectTasks (Fundament ausheben, Bodenplatte giessen) wiederfinden.  Diese Tasks werden aus einer Liste aller möglichen Tasks (tblTasks) ausgewählt und als Schlüsselwert in tblProjectTasks dem Project zugeordnet.


Hat ein Projekttask (Fundament gründen) ) zusätzlich SubTasks (Erdreich ausbaggern, Bodenplatte giessen), so werden diese Subtasks aus tblSubtasks ausgewählt und als Schlüsselwert in tblProjectSubtasks abgespeichert. Zu jedem ProjektSubtask gehören dann weiterhin (mehrere) Materialien (tblProSubTaskMaterial) , mehrere Equipments (tblProSubTaskEquip) und mehrere Rollen (tblProSubTaskRoles) sofern diese bei Euch so zutreffend sind.



(Sehe gerade, dass in den Beziehungen die Tabelle tblRoles noch fehlt)

Hatte vorher schon angedeutet, dass in Version2 keine Abhängigkeit zwischen Tasks und Subtasks existiert.


Wenn das gewünscht ist, muss zusätzlich in tblSubtask ein Fremschlüsselfeld (SubT_TaskID_f) für tblTasks.TaskID   eingesetzt und mit tblTasks.TaskID in n:1-Beziehungen definiert werden.

Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am April 25, 2022, 12:14:32
Also es ist zwar nicht nötig um Tasks und Subtasks speichern zu können, aber dann sind Task und Subtasks ja unabhängig von einander in der aktuellen Version und das ist ja wie schon erwähnt nicht gewollt.
Es soll nur "Subtasks" geben können, wenn es dazu auch einen (Über)"Task" gibt, und diese "Tasks" müssen immer zu einem bestimmten Projekt gehören.

Ich habe jetzt mal alle Formulare in Ihrer Datenbank nachgebildet, aber schaffe es irgendwie nicht die Tasks und Projects zu verknüpfen. Bei Subtasks und Projects funktioniert es.

Auch habe ich die besagte Beziehung zwischen Tasks und Subtasks hergestellt, wie Sie meinten, aber ich kann trotzdem den Tasks im Formular nicht direkt Subtasks zuweisen. Könnten Sie das bitte ergänzen oder am besten erklären was fehlt, damit man im Formular   "frmProjects", auf die Tasks drückt und dann die Subtasks zuweisen kann?

Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: DF6GL am April 25, 2022, 13:10:21
Hallo,

ich verstehe deine "Task"-Vorstellung nicht.


Meine Vorstellung der Situation:

Es gibt ein Projekt (tblProjekt).

Ein Projekt kann mehrere Tasks umfassen (tblProjectTasks). Diese Tasks werden aus einem Kontingent aller möglichen Tasks einzeln (PT_TaskID_f) ausgewählt. Dieses Kontingent aller möglichen Tasks muss vorher definiert (erfasst) werden  --> tblTasks füllen.

Jeder Task kann mehrere SubTasks enthalten (tblSubTasks definieren).

Jeder ProjectTask kann mehrere SubTasks (aus Tabelle tblSubtasks, die in Abhängigkeit zu tblTasks steht) enthalten (tblProjectSubTasks).

Jeder von diesen "ProjectSubTasks"  kann wiederum mehrere Materialien, Equipments und Rollen besitzen, die in den entspr. Tabellen hinterlegt werden.


damit man im Formular   "frmProjects", auf die Tasks drückt und dann die Subtasks zuweisen kann?

Dafür ist das Formular falsch aufgebaut.

Das HFO muss sich auf tblProjects beziehen.
Darin steht ein UFO mit Bezug auf tblProjectTasks und Verknüpfung über die Schlüsselfelder (PID---PT_PID_f).

In diesem UFO wiederum ein UFO im Fußbereich mit Datenherkunft tblProjectSubtasks mit Verknüpfung über deren Schlüsselfelder.


Wenn allerdings ein "Projekt" identisch ist mit einem "Task"   ("Haus bauen"), dann kann auf die Tabelle "tblProjectTasks" ganz verzichtet werden.


Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am April 25, 2022, 14:36:41
Doch das ist schon genauso wie Sie meinen, aber so meine ich es doch auch

1 Projekt besteht aus 1-n Tasks und jeder Tasks besteht aus 1-n Subtasks

Das einzige wäre noch, dass die Tasks und Subtasks eigentlich nicht vorher definiert werden sollen, sondern lediglich gespeichert, damit man gegebenenfalls Tasks und subtasks aus vorherigen projekten wiederverwenden kann. Man soll aber auch Tasks und Subtasks beim Projekt erstellen neu eingeben können.

Im Prinzip will ich einfach ein neues Projekt anlegen, und wenn ich auf einen Task drücke dazu die Subtasks zuweisen, aus dem einfachen grund, dass man dann einfach navigieren kann man drückt z.B auf "Task 3" und enthält dazu alle Subtasks, Equipments, Rollen und Personen.

Die Idee mit den 2 Unterformularen würde aber bedeuten, dass das "Task" Ufo ein Einzelformular sein muss und dann habe ich in der Übersicht nicht alle Tasks sondern nur eines oder geht das auch anders ?

Bild als Beispiel wie ich es mir gewünscht hätte
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: DF6GL am April 25, 2022, 17:13:32
Hallo,

ZitatMan soll aber auch Tasks und Subtasks beim Projekt erstellen neu eingeben können.

Das löst man mit Hilfe des "Bei nicht in Liste" (siehe VBA-Hilfe) der einzelnen Kombifelder, so dass die Tasks/Subtasks praktisch vor deren Auswahl definiert worden sind.

Durch die ref. Int. Beziehungen ist dies zwingend erforderlich.

Zitatnicht vorher definiert werden sollen, sondern lediglich gespeichert, damit man gegebenenfalls Tasks und subtasks aus vorherigen projekten wiederverwenden kann

Es müssen die Tasks und Subtask vor der weiteren Auswahl in ProjectTasks und ProjectSubtasks definiert sein, entweder anfänglich durch "Eingabe/Pflege" oder dann, wenn es erforderlich ist, mittels o. g. Ereignisprozedur.

Dadurch ist die Forderung nach Wiederverwendbarkeit grundsätzlich erfüllt.

Zitatdass das "(Project-)Task" Ufo ein Einzelformular sein muss

 steht nirgends in Stein gemeiselt. Das kann sehr wohl ein Endlosform sein.


Lediglich beim Form "frmProjectSubTasks", das in den Formularfuß von (UFO) "frmProjectTasks" platziert werden soll. wird Access maulen, dass das nicht gehen soll. Man stellt einfach danach das UFO wieder auf Endlosform um, und Access ist wohlgesinnt.


Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: MzKlMu am April 25, 2022, 19:25:20
Hallo,
Zitatman drückt z.B auf "Task 3" und enthält dazu alle Subtasks, Equipments, Rollen und Personen.
Diese Anforderung stellt alles was bisher gemacht wurde auf den Kopf.
Wenn Du das so willst, so müssen die ganzen Zusammenhänge erst mal in Tabellen definiert werden.
Das ist völlig unabhängig vor der späteren Zuordnung der Tasks/Subtasks zu dem Projekt.
Die definierten Zuordnungen bleiben immer bestehen und aus diesen werden dann die zu einem Projekt vorhanden Aufgaben/Uneraufgaben zugeordnet.
Das gibt der bisherige Tabellenaufbau nicht her.

Ich glaube, Du unterschätzt hier den Aufwand ziemlich.

PS:
Hier im Forum ist es Usus, dass man sich Duzt. Solltest Du eigentlich schon gemerkt haben.
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: DF6GL am April 26, 2022, 09:04:35
Hallo,

@klaus:

ZitatDas gibt der bisherige Tabellenaufbau nicht her.

siehe : https://www.access-o-mania.de/forum/index.php?topic=26068.msg155562#msg155562

Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am April 26, 2022, 10:10:26
@DF6GL Also das mit dem Anzeigen der Subtasks zu den Tasks mit 2 UFO's hat genauso funktioniert wie Du gesagt hast, Perfekt! Das ist schon mal genauso wie ichs brauche.

Nachtrag: Ich habe es hinbekommen, vielen Dank für die Hilfe!
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am April 26, 2022, 16:43:48
@DF6GL
Seit der Umstrukturierung werden in den Tabellen immer wieder Neue Datensätze eingefügt mit (Ich denke) den ID's von anderen Tabellen. Ich kann nicht genau sagen wann und wie der Fall auftritt, aber vielleicht wisst ihr trotzdem woher das kommt ? (Ich denke es hat was mit meiner Datensatzquelle zu tun im Formular)

Also zB wenn ich ein neues Projekt erstelle und dann ein paar Subtasks hinzufüge und wieder welche lösche über das Formular sieht es so aus ->
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am April 27, 2022, 11:10:16
Nachtrag: Ich habe als Steuerelementinhalt immer das Feld angegeben in dem die Werte gespeichert werden und als Datensatzherkunft eine andere Tabelle, damit der Name angezeigt wird vom Subtask z.B und nicht dessen ID.
Ist hier irgendwo der Fehler ?
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: DF6GL am April 27, 2022, 16:12:08
Hallo,

mir ist nicht klar, was Du meinst.

 immer wieder Neue Datensätze eingefügt mit (Ich denke) den ID's von anderen Tabellen.

WO (in welche Tabelle) werden die Ds eingefügt?


Lad die DB hier hier und beschreibe daran genau, was Du machst und dabei passiert.
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am April 28, 2022, 12:19:17
Ich habe die Datei jetzt schon mehrmals komprimiert, aber sie hat immernoch 3,4MB also kann ich sie nicht hochladen leider, gibt es da einen Weg ?
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: DF6GL am April 28, 2022, 12:25:39
Hallo,

lösche (entferne)  alle Bilder aus den Forms und Reports, falls vorhanden und lösche die Inhalte eventueller OLE-Objekt-Felder. 

Falls schon exzessiv Daten eingeben sind, dann lösche diese bis auf ein paar funktionsfähige Beispieleinträge.

Komprimiere dann nochmals.
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am April 28, 2022, 13:15:07
Hallo Ich habe jetzt die ganze zeit versucht die Datei kleiner zu bekommen und habe wirklich so gut wie alles gelöscht, keine Bilder vorhanden und auch so gut wie keine Datensätze, Formulare, es hat sich nichts geändert an der Datengröße

Komischerweise ist die alte Datei sogar kleiner mit mehr Formularen und Daten + Bildern
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: HB9876 am April 28, 2022, 13:52:27
Zitat von: Andi123x4 am April 28, 2022, 13:15:07Hallo Ich habe jetzt die ganze zeit versucht die Datei kleiner zu bekommen und habe wirklich so gut wie alles gelöscht, keine Bilder vorhanden und auch so gut wie keine Datensätze, Formulare, es hat sich nichts geändert an der Datengröße

Komischerweise ist die alte Datei sogar kleiner mit mehr Formularen und Daten + Bildern
Kompriemieren und reparieren probiert?
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am April 28, 2022, 13:55:21
Ja nach jeder Änderung sogar, also habe es bestimmt 30x komprimiert aber irgendwie tut sich nicht wirklich viel
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: DF6GL am April 28, 2022, 14:08:29
Hallo,

schick mir mal die DB (gezippt) ausnahmsweise an meine Email-Adresse  d f  6 g  l
(ä t)
ge em ix punkt de e
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am April 28, 2022, 15:04:47
Müsste da sein denke ich vielen Dank :)
Titel: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: DF6GL am April 28, 2022, 17:30:09
Hallo,


damit alle etwas davon haben,
hier der Wortlaut der EMail und meine Kommentare.


Zitat von: undefinedProblem (1)
Also wenn man im Formular frmProjectOverview den Button ,,New Project Job" drückt und ein neues Projekt erstellt, und dort ein Type of Service auswhält z.B. wird dieser Type of Service mit seiner ID in die Tabelle ,,tblTypeOfService" gespeichert und dann hat man bei der Auswahl immer eine ,,8" z.B
Das selbe Problem hatte ich mal bei Subtasks und Tasks aber aktuell nicht mehr. Ich verstehe ungefähr woher das Problem kommt aber nicht wie man es umgeht.

Das Kombi ist falsch eingestellt.  Zwei Spalten und nur eine Spaltenbreite. Der Steuerelementinhalt muss das entspr. Fremdschlüsselfeld (Proj_TypeOfService) aus  tblProject sein. Konsequenterweise sollte das Feld ,,Proj_ToSID_F"  heißen. Die ,,8" (Schlüsselwert) ist richtig und muss so sein.



Entferne grundsätzlich alle Abfrage-Strings aus den Eigenschaften ,,Datenherkunft" der Formulare und schreibe lediglich den Tabellennamen dort hinein, auf den sich das Formular bezieht. Vor allem verknüpfende Abfragen  (inner Join, left join, etc) sind in aller Regel anfänglich nicht erforderlich und sorgen eher für unerklärliche Fehlersituationen, wenn z. B. die Abfrage dadurch nicht aktualisierbar ist.



(Manche Kollegen plädieren für das Gegenteil, m. E. macht es aber das Leben in der ersten Entwicklungsphase einfacher, weil man sich nicht um Tabellenfeld-Änderungen in der Datenherkunft zu kümmern braucht.  Das Formular meckert schon lautstark, wenn es ein geändertes oder zusätzliches Feld nicht findet).

Das gilt aber nicht für die SQL-Strings in der Datensatzherkunft von Kombifeldern.


Zusätzlich ist es zweckmäßig, vor allen Dingen, wenn keine grundlegenden Benamsungsregeln vorliegen, die Steuerelementnamen in Forms und Reports gleich dem zugeordnetem Tabellenfeld zu benennen.

Auch dies geht gegen die Meinung vieler Kollegen, aber mich nervt es ungemein, wenn ich bei jedem Tabellenfeld, das ich im Code oder anderswo benutzen will, erst mal den zugehörigen Steuerelementnamen suchen muss (bzw. umgekehrt)  Die DB ist dahingehend nicht von mir modifiziert 😉
.


Zitat von: undefinedProblem (2)
Wenn man in selbigen Formular (,,frmProject/Job") einen Doppelklick auf ,,Roles" macht, öffnet sich ein Popup mit dem die Rollen, Personen und Equipments zugeteilt werden sollen zum Subtask, welche dann Idealerweise in den vorgesehenen Feldern im Formular ,,frmProject/Job"  erscheinen.  Dort habe ich schon einiges Probiert mit Beziehungen etc. aber ich schaffe es nicht das es klappt.
Das Feld für die Rolle (in Form ,,subfrmSubtask") muss in ein Kombifeld geändert werden, das seine Daten aus tblPersonalroles bezieht und ,,PRID" als Fremdschlüsselwert in tblProSubTaskRoles ablegt.  (Prinzipiell wie bei den anderen Auswahl-Kombis.)


In einen solchen Datensatz ist das Feld ,,Persons" (PR_PersID_F) nicht sinnvoll, weil die Personen schon in einer Rolle hinterlegt sind und mehrere Personen umfassen kann.



Bei Kombi ,,PT_TaskID_f"  habe ich zur Demo die ,,Not in List"-Ereignisprozedur so geändert, als dass ein neuer Task in  tblTasks aufgenommen wird, wenn der neue Name in das Kombifeld eigegeben wird.

Das Tabellenfeld ,,Task_Status" ist sinnlos und sollte aus der Tabelle entfernt werden. Allenfalls macht ein Status in tblProjektTasks und/oder tblProjectSubTasks  Sinn.



Zitat von: undefinedProblem (3)
Beim erstmaligen Öffnen eines Berichts (Hier z.B. ,,rptChecklist") Friert Access für ca. 30 Sekunden ein und geht dann wieder. Sobald es einmal geöffnet wurde kann ich alle berichte immer öffnen ohne Probleme, bis ich einmal die Datei schließe und wieder öffne. Dann selbes Spiel.
Hängt das vielleicht damit zusammen, dass das Programm versucht den Bericht zu drucken ? Weil ich kann mich erinnern, dass ich mal einfach einen Bericht geöffnet hatte (Damals über VBA) und er diesen dann direkt drucken wollte.
Aktuell ist kein Drucker angeschlossen, daher findet er vielleicht keinen und sucht für 30 sek ?

Das Problem tritt bei mir nicht auf, ich habe allerdings Drucker in Betrieb.  Es kann gut sein, dass es sich um ein Drucker-TimeOut handelt.

Du hast doch sicher einen Pseudodrucker, wie z. B. MicroSoft PDF-Drucker?

Weiterhin:  Sortiere/Gruppiere Daten im Bericht selber und nicht in der Berichtsabfrage. Dieses wird vom Bericht in dieser Beziehung ignoriert.


Die DB habe ich mit Schalter /Decompile verarbeitet und damit die Dateigröße stark reduziert. Das Gleiche passiert, wenn die Db mit allen ihren Objekten in eine neue leere Datenbank importiert wird.





Zitat von: undefinedVielen Dank dass du mir so intensiv hilfst, ich habe wirklich schon einiges gelernt!
Ist aber trotzdem noch viel was ich nicht verstehe :D
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am April 29, 2022, 10:15:29
Hallo,

Zu (1):
- Genau das wars mit dem Kombi, danke!
- Das mit den Spalten, dachte ich dass man so macht, dass man die erste(Primärschlüsselspalte) auf 0 setzt, damit sie nicht sichtbar ist und man anhand des Namens auswählen kann und nicht anhand des Primärschlüssels, der einem nicht viel sagt
- Name des Feldes wurde geändert

- Vielen Dank für die Anmerkung, werde ich so umsetzen. Lediglich im "subfrmSubtask" habe ich die Verknüpfte Abfrage gelassen, damit ich die ID des zugehörigen "Tasks" daneben einblenden kann um direkt zu sehen, ob die Subtasks den richtigen Tasks zugewiesen sind.

-Das mit den geänderten Feldern ist sehr oft vorgekommen während des Erstellens, darum bin ich sehr dankbar über diesen Tipp mit der Datensatzquelle, das habe ich so nicht gewusst.

-Auch das mit den Steuerelementnamen ist sehr einleuchtend, werde ich umsetzen.

Zu (2):
- Wenn ich es zu einem Kombifeld ändere, dann habe ich aber wieder das Problem mit dem Filtern, weil ich ja eine Mehrauswahl benötige. Deswegen wurde ja extra das "frmTaskAcquisition" erstellt. Das funktioniert auch soweit, nur die Beziehungen passen noch nicht, damit die Zuweisung zum Subtask stimmt.
Das Listenfeld sollte eigentlich nur für die Darstellung sein, und das Formular für die Zuteilung.

-Das mit dem Feld PR_PersID_F, da verstehe ich leider nicht was du meinst. Ich weiß nicht ob ich es richtig ausgedrückt habe, aber es soll erst ausgewählt werden welche Rollen notwendig sind, und dann welche Person für diese Rolle verwendet wird (Von Auswahl der möglichen Personen mit dieser Rolle)

- Das mit dem Kombi Not-in-List: Ich muss zugeben der Code ist wesentlich kürzer und verständlicher für mich, aber wenn man ein zusätzliches Modul verwendet mit einer allgemeinen Methode, kann man diese auch gleich für Subtask verwenden ohne redundanten Code zu schreiben oder nicht ?

-Das mit Task Status stimmt wohl, das werde ich ändern

Zu (3):
- Perfekt das wars! Es war als Standarddrucker einer ausgewählt, der nicht einscgalten ist, habe jetzt den "Microsoft Print to PDF" als Standard markiert und jetzt öffnet es wieder ganz normal! Danke

- Danke, habe ich geändert.

- Was ist mit "Schalter Decompile" gemeint ? Das mit dem "in eine neue leere Datenbank kopieren" werde ich das nächste mal testen :)

Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: DF6GL am April 29, 2022, 14:24:36
Hallo,

Zitatdass man so macht, dass man die erste(Primärschlüsselspalte) auf 0 setzt, damit sie nicht sichtbar ist und man anhand des Namens auswählen kann

Ja, so macht man es klassisch, nur müssen halt dann auch die Spaltenanzahl und die Spaltenbreiten definiert werden.

ZitatWenn ich es zu einem Kombifeld ändere, dann habe ich aber wieder das Problem mit dem Filtern, weil ich ja eine Mehrauswahl benötige.


Warum? WAS und WIE willst Du denn filtern? Was heißt "Mehrauswahl" bei Dir?



ZitatNur die Beziehungen passen noch nicht, damit die Zuweisung zum Subtask stimmt.

Eher umgekehrt: Die Beziehungen stimmen, nur Deine "Zuweisungen" nicht.. Du musst genauer erklären, was genau Du machen willst.

Zitates soll erst ausgewählt werden welche Rollen notwendig sind, und dann welche Person für diese Rolle verwendet wird (Von Auswahl der möglichen Personen mit dieser Rolle)


In diesem Fall ist das Speichern der Rolle (Fremschlüssel) nicht richtig.( Beziehungen ändern!)

Es muss mit einem Vor-Auswahlkombi eine Rolle ausgewählt werden, die dann dafür sorgt, dass in einem MA-Auswahlkombi einer der dazugehörenden MAs ausgewählt und dessen MAID als Fremdschlüsselwert in der entspr. Tabelle gespeichert wird.



Zitatgleich für Subtask verwenden ohne redundanten Code zu schreiben oder nicht ?

Könnte man machen, aber bei nur einer Codezeile, die auch noch Variablen enthält, würde ich noch nicht  von Redundanz reden wollen.


ZitatWas ist mit "Schalter Decompile" gemeint ?

Das ist ein Kommandozeilen-Parameter, der dem Aufruf von Access mitgegeben wird und der u. a. dafür sorgt, dass Leichen und überflüssig gewordener Code entfernt und damit die Dateigröße verkleinert wird. Ähnliches passiert beim Imort in eine neue, leere DB-Datei
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am April 30, 2022, 01:24:23
ZitatJa, so macht man es klassisch, nur müssen halt dann auch die Spaltenanzahl und die Spaltenbreiten definiert werden.
Alles klar, ja das wusste ich nicht, hab es mal so in einem Video gesehen, dachte wenn man die erste (Schlüsselspalte) ausblendet und dann die Größe auf Automatisch stellt, dass es dann von alleine angepasst wird. Die Anzeige hatte ja soweit gestimmt, aber dann mache ich das in Zukunft, danke!

ZitatWarum? WAS und WIE willst Du denn filtern? Was heißt "Mehrauswahl" bei Dir?
Ahh sorry hatte da was verwechselt im Kopf das kannst du ignorieren.

ZitatEs muss mit einem Vor-Auswahlkombi eine Rolle ausgewählt werden, die dann dafür sorgt, dass in einem MA-Auswahlkombi einer der dazugehörenden MAs ausgewählt und dessen MAID als Fremdschlüsselwert in der entspr. Tabelle gespeichert wird.

Sieh dir mal das Formular "frmTaskAcquisition" an, da ist das ganze ja schon umgesetzt so wie du meinst denke ich, dieses würde ich auch gerne hernehmen für die Rollen + Personen und Equipments.
Nur die Datensatzquelle stimmt noch nicht, weil ich bei jeder Auswahl neue Datensätze in "tblPersonalRoles" anlege, was ja nicht gewollt ist, ich will lediglich aus dieser Tabelle auswählen und nicht hinzufügen. Habe aber noch keine Lösung dafür gefunden. Eigentlich müsste ja die Tabelle "tblProSubTaskRoles" die Datensatzquelle sein oder? weil darin will ich ja die Rollen und Personen speichern welche ich aus "tblPersonalRoles" ausgewählt habe, oder geht das mit der aktuellen Struktur nicht was ich vorhabe ?

ZitatKönnte man machen, aber bei nur einer Codezeile, die auch noch Variablen enthält, würde ich noch nicht  von Redundanz reden wollen.
Okay dann werde ich das auch so umsetzen für die Subtasks

ZitatDas ist ein Kommandozeilen-Parameter, der dem Aufruf von Access mitgegeben wird und der u. a. dafür sorgt, dass Leichen und überflüssig gewordener Code entfernt und damit die Dateigröße verkleinert wird. Ähnliches passiert beim Imort in eine neue, leere DB-Datei
Alles klar sowas in der Art hatte ich in Google gefunden danke!
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: DF6GL am April 30, 2022, 08:56:13
Hallo,


ZitatFormular "frmTaskAcquisition" an, da ist das ganze ja schon umgesetzt so wie du meinst denke ich, dieses würde ich auch gerne hernehmen für die Rollen + Personen und Equipments.

Die (Beziehungs-)Situation ist mit (dem UFO in) diesem Form nicht richtig umgesetzt. Ich hatte schon mal angedeutet, als Datenherkunft keine verknüpfende Abfrage, schon gar nicht über 4 Tabellen hinweg zu verwenden, sondern den entspr. Tabellenamen einzusetzen. Wirf die "xxxxAcquisitionxxx"-Formulare in die Tonne.

ZitatEigentlich müsste ja die Tabelle "tblProSubTaskRoles" die Datensatzquelle sein oder? weil darin will ich ja die Rollen und Personen speichern welche ich aus "tblPersonalRoles" ausgewählt habe, oder geht das mit der aktuellen Struktur nicht was ich vorhabe ?

Wie vorher schon gesagt, musst Du dich entscheiden, ob Rollen oder Personen einem  "ProjectSubTask" direkt zugeordnet werden sollen. Die aktuelle Beziehungsstruktur gibt nur her, dass zu einem "ProjectSubTask" eine oder mehrere Rollen abgelegt werden können ("tblProSubTaskRoles"). Die einzelnen Peronen können trotzdem in Form eines Listenfeldes oder kleinem Unterformular zu Anzeige gebracht werden. Lediglich die "Auflösung" ist rollenbezogen  und nicht personenbezogen.


Schau Dir doch einfach die Beziehungen an!



Ausgewählt und abgelegt wird nur jeweils eine "PersonalRolle" ( vielleicht wäre als Tabellenname "tblRolePersonal" etwas geschickter und verständlicher), die in Tabelle "tblProSubTaskRoles" gespeichert wird.



Als Formular-Konstruktion könnte dies realisiert werden:


(Prämisse:  1- Tabellen (je nach "Point of view") werden als HFO ausgeführt.  Dazugehörende n-Tabellen sind UFOs in diesem HFO.  Weitergehende n-Tabellen werden als weitere UFOs in den vorhergenden UFOs eingesetzt.)


HFO: "frmProjectTasks
darin UFO: "frmProjectSubTasks"
darin UFO: "frmProSubTaskRoles"
darin Auswahl der gewünschten Rolle mittels gebundenem Kombi (Steuerelementinhalt: "PStRoles_PDID_f")  mit Datenherkunft "tblPersonalRoles" .

Das Gleiche passiert mit "Equipments".



Eigentlich sollte es jetzt klar werden.




Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am Mai 02, 2022, 09:38:10
Zitat[...]schon gar nicht über 4 Tabellen hinweg zu verwenden, sondern den entspr. Tabellenamen einzusetzen. Wirf die "xxxxAcquisitionxxx"-Formulare in die Tonne.

Ja sorry das war noch von Anfangs, hatte ich vergessen zu ändern, aber ist jetzt ohnehin verworfen

ZitatWie vorher schon gesagt, musst Du dich entscheiden, ob Rollen oder Personen einem  "ProjectSubTask" direkt zugeordnet werden sollen. Die aktuelle Beziehungsstruktur gibt nur her, dass zu einem "ProjectSubTask" eine oder mehrere Rollen abgelegt werden können ("tblProSubTaskRoles").
Ahhh oke ja jetzt verstehe ich das Ganze was du meinst! Jetzt da ich es (wie ich denke) verstanden habe erscheint es offensichtlich aber ich hatte es zuerst nicht verstanden.

Nun aber 2 Fragen dazu:
(1) Wieso soll das HFO "frmProjectTasks" sein, und nicht "frmProjectSubTasks", weil in ersterem werden ja die Tasks gespeichert aber die Rollen, Equipments stehen ja mit "Subtasks" in Beziehung, sollte deshalb nicht besser "frmProjectSubTasks" das HFO sein?

Zitatdarin Auswahl der gewünschten Rolle mittels gebundenem Kombi (Steuerelementinhalt: "PStRoles_PDID_f")  mit Datenherkunft "tblPersonalRoles"
(2) Das ergibt für mich Sinn was du sagst mit der Zuteilung, und ich habe es so umgesetzt, nur wenn ich als Datenherkunft "tblPersonalRoles" hernehme, kann ich ja nur ID's wählen, weil in dieser Tabelle nur die ID's von "tblRoles" und "tblPersonal" gespeichert sind. Wie kann man das umgehen ?

Ich habe es mal so umgesetzt wie in (1) beschrieben, und beim letzten UFO als Datenherkunft "tblPersonal" und "tblRoles" verwendet um die namen zu sehen, aber die Auswahl würde ja trotzdem über die ID erfolgen und nicht über den Namen
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am Mai 02, 2022, 09:55:33
Nachtrag:
Wenn es in diesem Fall ok ist verknüpfte Tabellen zu verwenden, dann würde ich bei der Auswahl als Datenherkunft "tblPersonalRoles" mit "tblPersonal" und "tblRoles" verknüpfen, dann könnte man Rolle und Nachname anzeigen lassen anstatt den Primärschlüssel dieser beiden Felder ?
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: DF6GL am Mai 02, 2022, 13:33:56
Hallo,

ich glaube, Du verstehst das grundlegende Prinzip nicht ganz...


Du solltest Dir einmal Gedanken dazu machen, WIE die DB überhaupt bedient werden soll.

D. h. wann, wie und wo Daten vom User aus betrachtet bearbeitet werden sollen/müssen.







Zitatsollte deshalb nicht besser "frmProjectSubTasks" das HFO sein?

Das kommt auf den Bearbeitungs-Vorgang an (zu dem Du wie oben gesagt, erst mal Dir klarheit verschaffen musst.


Wenn ein User so ein Formular zur Bearbeitung (Zuordnung) von Equipments zu ProjectSubTasks vorgesetzt bekommt, muss er zunächst das Projekt, den passenen ProjectTask und den wiederum dazu passenden ProjectSubTask auswählen und filtern.


Das müsste dann über eine dreifach abhängige Kombifeld-Konstruktion geschehen.




Mit

ZitatHFO: "frmProjectTasks
darin UFO: "frmProjectSubTasks"
darin UFO: "frmProSubTaskRoles"
darin Auswahl der gewünschten Rolle mittels gebundenem Kombi (Steuerelementinhalt: "PStRoles_PDID_f")  mit Datenherkunft "tblPersonalRoles" .

Das Gleiche passiert mit "Equipments".

brauchst Du nur im HFO ein Project auswählen und Du hast alle "darunterliegenden" Daten im Zugriff.


Um auch die eigentlichen Project-Daten im Form "frmProjectTasks" anzuzeigen, kann man hier für die Datenherkunft jetzt eine über tblProjects und tblProjectTasks" verknüpfende Abfrage einsetzen.



Zitataber die Auswahl würde ja trotzdem über die ID erfolgen und nicht über den Namen

Die (Verwendung der) Auswahl erfolgt IMMER über die ID-Felder (Schlüsselfelder), das Auslesen der Namen geschieht über eine passende Abfrage eines Auswahlkombis und die eigfentliche Anzeige mittels Textfeld, dem der Inhalt der entspr. Kombifeld-Spalte zugewiesen wird

(Steuerelementinhalt:  = Kombifeldname.Column(1)   )



Lad nochmal den aktuellen Zustand der Db hier hoch.
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am Mai 03, 2022, 11:18:04
Ja ich gebe dir recht, aber die Zuteilung erfolgt aktuell im Form "frmProjectJob" über einen Doppelklick auf eine SubID, so hat der User ja schon einen bestimmten Datensatz ausgewählt.

Im Anhang mal die aktuelle Version,
Ich weiß nur noch nicht wie ich die richtigen Equipments/Rollen/Personen anzeigen lassen, die Zuteilung glaube ich ist korrekt.
Ich hatte versucht in den "Kriterien" des Listenfeldes Equipment die Datensatzherkunft zu filtern, über die "PSTID" aber das funktioniert nicht.

Und wenn ich beim Listenfeld von Rollen+Personen die Namen angezeigt haben will müsste ich wieder 4 Tabellen miteinander verknüpfen, was man nicht machen soll

PS. Das mit dem in eine neue Datenbank kopieren war ein guter Tipp, so komme ich von 5MB auf 2MB und dann mit ZIP auf 180KB
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: DF6GL am Mai 03, 2022, 12:40:53
Hallo,

wo sind die Beziehungen geblieben ???  ?? 


Erzeuge die (wieder) im Beziehungsfenster ..

In welchem Zusammenhang tblUser, tblBranches und tblAdresses stehen sollen, erschliesst sich mir (immer) noch nicht.

Was soll tblChecklist bewerkstelligen?
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: DF6GL am Mai 03, 2022, 13:12:51
Hallo,

ZitatUnd wenn ich beim Listenfeld von Rollen+Personen die Namen angezeigt haben will müsste ich wieder 4 Tabellen miteinander verknüpfen, was man nicht machen soll

Niemand sagt das.  Wenn man Daten aus 4 Tabellen braucht, dann benutzt man eine über diese Tabellen verknüpfende Abfrage.  Unzweckmäßig ist das bei der Datenherkunft von Formulare, weil eine solche Abfrage redundante Daten liefert und in den vielen Fällen nicht aktualisierbar ist (--> keine Änderung an den Daten ermöglicht).

Bau einfach mal ein Form wie vorher gesagt auf, und ohne Schnickschnack einzubauen.





Dabei kann tatsächlich eine über tblProjects und tblProjectTasks verknüpfende Abfrage für die Datenherkunft von "frmProjectTasks" benutzt werden, um die einzelnen Project-Daten anzeigen zu können.


Wirf bei allen anderen Forms die (eh falschen) Abfragen aus der Datenherkunft heraus und setze die zugrundeliegenden Tabellennamen ein.

Wenn Du Listenfelder für die Anzeige der Daten aus n-Tabellen verwenden willst, müssen diese Abfragen mit dem entspr. Schlüsselfeld synchronisiert (d. h. gefiltert werden, sonst bekommst Du alle Daten aus der n-Tabelle ohne Bezug zum akt. ProjectSubTask zu Gesicht. Allerdings funktioniert ein Listenfeld nicht ohne weiteres in einem Endlos-Formular im Detailbereich.  Ein Unterform ist zweckmäßiger und auch nur im Formularfuß.




Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am Mai 03, 2022, 13:44:02
Ohhh, Dann hat das mit dem Daten in eine neue DB kopieren doch nicht so gut funktioniert, ich habe einfach alle Formulare Tabellen markiert und mit STRG+C STRG+V in eine leere Datenbank kopiert, hatte gehofft die Beziehungen werden auch übernommen.

Also Das Tool wird für mehrere (Zweigstellen/Tochtergesellschaften/Branches) verwendet.

Zu beginn soll per VBA der USER ausgelesen werden, und von welchem "Branch" der User ist.
Dann sollen diesem User nur die Projekte des jeweiligen "Branch" angezeigt werden.
Also sollen die Firmen aus Spanien nur spanische Projekte sehen und wenn ein Deutscher "User" erkannt wird nur deutsche Projekte.

Und die verschiedenen (Zweigstellen/Tochtergesellschaften/Branches) haben Adressen.

Also
Address - Branch -> 1:1
Branch - User    -> 1:N

Für die tblChecklist soll noch ein Formular erstellt werden, über das man eine Checkliste für ein Projekt erstellen kann.

Ich dachte dass ich dann eben nach der PSTID filtern muss und zwar indem ich beim Listenfeld das einfüge:
[Formulare]![subfrmTask]![frmSubtask].[Formular]![PSTID]

Ich habe mal im frmnProjectJob die PSTID hinzugefügt, zu Veranschaulichung ob ich auf dem richtigen Weg bin ?
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: DF6GL am Mai 03, 2022, 13:54:59
Hallo,

Zitat von: undefinedich habe einfach alle Formulare Tabellen markiert und mit STRG+C STRG+V in eine leere Datenbank kopiert,

Das ist zu "einfach"


Man verwendet die Import-Funktion von Access, um aus einer anderen DB alle Objekte in eine neue DB zu "importieren", nicht C&P.


Zitat von: undefinedIch dachte dass ich dann eben nach der PSTID filtern muss und zwar indem ich beim Listenfeld das einfüge:
[Formulare]![subfrmTask]![frmSubtask].[Formular]![PSTID]



[Quote}Für die tblChecklist soll noch ein Formular erstellt werden, über das man eine Checkliste für ein Projekt erstellen kann.[/Quote]


Vergiss doch mal die Formulare...............

Ich versteh die "Checkliste" jetzt nur als Schmierzettel, vornehmer ausgedrückt als Notizblock mit irgendwelchen Bemerkungen zu einem Projekt.

Soll heißen: Einträge in tblChecklist werden einem Project zugeordnet.


Theoretisch schon, aber es funktioniert nicht bei einem Endlosform wie man es erwartet.

Zitat von: undefinedIch habe mal im frmnProjectJob die PSTID hinzugefügt, zu Veranschaulichung ob ich auf dem richtigen Weg bin ?



Wie gesagt, wäre schon richtig, wenn es denn funktionieren würde.

Einzig ein UFO(-Steuerelement)  (wie schon mehrmals gesagt) kann über seine Eigenschaften "Verknüpfen von/nach" und seine Platzierung im Formularfuß die Aufgabe erfüllen.



Bezgl. "Branch":

Ein "Branch" ist eine Zweigstelle mit all ihren Daten, einschließlich Adresse, der beliebig viele Projekte zugeordnet werden können/sollen.

Einer "Branch" können beliebig viele User zugeordnet werden.

So sind die Beziehungen im Bild eingestellt.
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am Mai 03, 2022, 16:43:06
ZitatMan verwendet die Import-Funktion von Access, um aus einer anderen DB alle Objekte in eine neue DB zu "importieren", nicht C&P.
Alles klar dann weiß ich das jetzt fürs nächste mal :)
ZitatIch versteh die "Checkliste" jetzt nur als Schmierzettel, vornehmer ausgedrückt als Notizblock mit irgendwelchen Bemerkungen zu einem Projekt.
Ja stimmt verstehe ich, macht Sinn

ZitatEinzig ein UFO(-Steuerelement)  (wie schon mehrmals gesagt) kann über seine Eigenschaften "Verknüpfen von/nach" und seine Platzierung im Formularfuß die Aufgabe erfüllen.
Du meinst so in etwa wie das mit Tasks und Subtasks umgesetzt wurde im Formularfuß?
Ich kann dir leider nicht genau folgen wie du das meinst. Meinst du für die Anzeige der beiden Listenfelder Roles/Personal und Equipments ein weiteres UFO anlegen und dann in die Fußzeile von "subfrmSubtask" und dann verknüpfen mit der "PSTID"?




Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: DF6GL am Mai 03, 2022, 17:06:02
Hallo,

ZitatMeinst du für die Anzeige ...ein weiteres UFO anlegen und dann in die Fußzeile von "subfrmSubtask" und dann verknüpfen mit der "PSTID"?



Ja
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am Mai 04, 2022, 09:38:48
ZitatMeinst du für die Anzeige ...ein weiteres UFO anlegen und dann in die Fußzeile von "subfrmSubtask" und dann verknüpfen mit der "PSTID"?

Hab ich gemacht und ewig rumprobiert mit dem richtigen Filter, also die PSTID ist verknüpft und aktualisiert sich auch. Aber ich nehme an ich brauche in der Datensatzherkunft einen Filter, dachte eigentlich ich füge das Feld
PstRoles_PSTID_F ein und als "kriterien" die PSTID, damit über diese abgeglichen wird, aber das war falsch und auch andere Wege haben leider nicht geklappt.

Unten mal meine Datensatzherkunft, vielleicht ist da ein Fehler
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: DF6GL am Mai 04, 2022, 10:11:13
Hallo,

Aber ich nehme an ich brauche in der Datensatzherkunft einen Filter, dachte eigentlich ich füge das Feld


nein!


Ich habe mehrmals gesagt, dass die Formulare sich auf die entspr. Tabellennamen beziehen sollen.

Nimm "tblProSubTaskEquip" als Datenherkunft und stelle die Eigenschaften "Verknüpfen von/nach" auf die Schlüsselfelder ein (Von: "PstWquip_PSTID_f"  , Nach : "PSTID")



dann werden die Equipments von demjenigen DS angezeigt, der im übergeordneten Form markiert(!) ist.



Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am Mai 04, 2022, 10:29:21
Ja so hatte ich es ja zuerst, aber ich glaube ich habe dich falsch verstanden gehabt.
Das UFO im Formularfuß muss auch ein Endlosformular sein, oder ?
Weil aktuell ist es ja ein Einzelformular und ich wollte das Listenfeld auf diese weise filtern wie du gesagt hast.
Aber eigentlich müsste ich wohl aus dem UFO ein Endlosformular machen und dann selbiges Spiel wie bei Tasks und Subtasks, ist das der Fehler ?
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: DF6GL am Mai 04, 2022, 11:00:15
Hallo,

ZitatDas UFO im Formularfuß muss auch ein Endlosformular sein, oder ?


selbstredend, es sollen doch mehrere DS abgezeigt werden, oder nicht?

ZitatWeil aktuell ist es ja ein Einzelformular und ich wollte das Listenfeld auf diese weise filtern wie du gesagt hast.

Sprich mal Klartext, nenne den genauen Formularnamen.

Und Listenfelder sind doch längst abgeschafft in diesem Zusammenhang  .. ?? Habe ich im letzten Post ausführlich erklärt.



Zitatund dann selbiges Spiel wie bei Tasks und Subtasks,

ja, prinzipiell genau so.  Probier die Sachen doch mal selber aus.
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am Mai 04, 2022, 11:09:13
Vielen Dank, es war mein Denkfehler mit den Listenfeldern, ich habe es jetzt so gemacht wie bei Subtasks und Tasks und jetzt hat es geklappt!

Tut mir leid du hast recht, hat jetzt aber alles geklappt danke dir für all die Hilfe wirklich, weiß ich zu schätzen!
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am Mai 16, 2022, 16:52:41
@DF6GL

Ich will nun in einem Bericht erfassen, wie viele Projekte in jedem Monat waren gruppiert nach Type of Service

Quasi:
        Jan   Feb   Mär   Apr  [...] Gesamt
TOS1     2     3     2     1    ....    8
TOS2     2     5     6    ...          13
TOS3

Über Bericht gruppieren und dann Summe komme ich aber nur auf die Gesamtwerte, wie kann ich die Anzahl für die einzelnen Monate ermitteln ?
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: DF6GL am Mai 16, 2022, 19:16:50
Hallo,

setze Dich mit einer Kreuztabellenabfrage auseinander...

Eine solche führt zum Ziel.

Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am Mai 17, 2022, 08:10:29
Perfekt hat direkt funktioniert, danke! Wenn man sowas nicht weiß schlägt man sich tagelang mit Abfragen rum :-\
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am Mai 17, 2022, 11:40:25
Beim Datum habe ich jetzt nur ein Problem.
Wenn ich die Tage zählen will, wie viele Tage ein Equipment in den jeweiligen Monaten verplant ist, dann werden die Monatsübergänge natürlich nicht berechnet, weil ich das Startdatum als Startzeitpunkt wähle.

Also wenn ich z.B ein Equipment am 28.Mai - 04.Juni im Einsatz hatte, dann werden diese 7 Tage im Mai angezeigt, ich würde es aber gerne richtig anzeigen, 4Tage im Mai und 4 Tage im Juni.

Wie mache ich das am besten ?
Ich hoffe man braucht nicht 30 verschiedene IF-Abfragen (IF Startdatum < 31.05.2022 And EndDatum > 31.05.2022 THEN ...) ?
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: DF6GL am Mai 17, 2022, 12:50:27
Hallo,

ZitatWie mache ich das am besten ?


Indem für das Datumsfeld  ein korrekter Datentyp (in der Tabelle) eingestellt, wird:  Datum/Uhrzeit .

Und beschäftige Dich mit dem erforderlichen Datumsformaten in VBA  (#05/28/2022#)  und Jet-SQL (USA-Format: #05/28/2022# , ISO-Format: #2022-05-28#)  als auch mit den VBA-Datumsfunktionen (z. B. DateDiff(),DateAdd(), etc.)

ZitatIch hoffe man braucht nicht 30 verschiedene IF-Abfragen

Nein, das braucht man nicht....
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am Mai 17, 2022, 14:46:24
ZitatIndem für das Datumsfeld  ein korrekter Datentyp (in der Tabelle) eingestellt, wird:  Datum/Uhrzeit .

Das ist bereits eingestellt

ZitatUnd beschäftige Dich mit dem erforderlichen Datumsformaten in VBA  (#05/28/2022#)  und Jet-SQL (USA-Format: #05/28/2022# , ISO-Format: #2022-05-28#)  als auch mit den VBA-Datumsfunktionen (z. B. DateDiff(),DateAdd(), etc.)

Könntest du das etwas genauer ausführen, Ich habe anstatt DateDiff() einfach ([EndDate]-[StartDate]+1) gemacht um so die duration zu ermitteln und mit DateAdd() kann ich ja nur ein Datum in der Zukunft ermitteln, ich komme nicht drauf was du meinst wie ich es umsetzen kann
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: MzKlMu am Mai 17, 2022, 14:56:25
Hallo,
ZitatDateAdd() kann ich ja nur ein Datum in der Zukunft ermitteln,
Nein, damit lassen sich auch Datumswerte der Vergangenheit ermitteln. Die Anzahl der Intervalle kann auch negativ sein und liefert somit ein Datum in der Vergangeneheit.
Aus dem Direktbereich:
?DateAdd("m", -10, Date)
17.07.2021
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am Mai 17, 2022, 14:57:39
Ja das ist mir auch bewusst, das habe ich an einer anderen Stelle auch genauso schon verwendet, ich meine eher wie mir das hilft, in meinem Fall, ich verstehe den Zusammenhang gerade leider noch nicht
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am Mai 17, 2022, 15:03:01
Sagen wir mal ich habe bei einem Equipment StartDate 01.01 und EndDate 05.01, dann mache ich aktuell
Duration = EndDate-StartDate+1  und habe ich eine Kreuztabellenabfrage die Aussieht wie unten im Bild.

Aber wie hilft mir hier DateAdd() ich will ja kein Datum ermitteln sondern die Duration irgendwie aufteilen falls es einen Monatsübergang gibt


Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: DF6GL am Mai 17, 2022, 19:08:18
Hallo,

die zugrundeliegende Abfrage muss nach Monat gruppiert werden, um die Anzahl pro Monat berechnen zu können.

Hierbei hilft die DatePart()-Funktion.
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am Mai 18, 2022, 09:48:05
@DF6GL Hallo,

Ich habe mir jetzt mal alle Videos zu DatePart() angesehen und die microsoft.docs gelesen, aber diese funktion ist doch nur dafür da einen [part] aus einem Datum zu extrahieren z.B Datum1 = 01.05.2022

DatePart("y",[Datum1]) = 2022 ?

Ich verstehe nicht ganz wie diese funktion helfen soll. Vielleicht stehe ich einfach auf dem Schlauch sorry
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am Mai 18, 2022, 12:45:47
PS.
Irgendwas mache ich bei der Syntax bei DateDiff falsch, obwohl ich es vermeintlich genauso mache wie in der Dokumentation

Ich benutze in der Abfrage einfach das "Aufbauen" dann bekomme ich das:
DatDiff(«Intervall»; «Datum1»; «Datum2»; «ErsterWochentag»; «ErsteWocheDesJahres») Wo ich dann meine Werte einfüge:
DatDiff("d";[Startdatum];[EndDatum])
Dann bekomme ich aber den Fehler #Funktion!
Wenn ich das "d" aber durch [d] ersetze, also quasi ein Feld referenziere, dann kommt die Parameterabfrage logischerweise, dort gebe ich dann ebenso "d" ein und es funktioniert.

Wieso funktioniert es dann nicht wenn ich direkt "d" eingebe so wie oben gezeigt ???
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: DF6GL am Mai 18, 2022, 14:14:51
Hallo,


DatDiff("t";[Startdatum];[EndDatum])


Du solltest aber zunächst definieren, wie bei den monats-übergreifenden Datumsbereichen gezählt werden soll:

Startdatum:  10.01.2022   Enddatum: 20.01.2020   Anzahl:  1  Monat: 1
Startdatum:  10.01.2022   Enddatum: 10.02.2020   Anzahl:  1  Monat: 1 ; Anzahl:  1  Monat: 2
Startdatum:  10.01.2022   Enddatum: 10.03.2020   Anzahl:  1  Monat: 1 ; Anzahl:  1  Monat: 2 ; Anzahl:  1  Monat: 3

usw.   ??


In solchen Fällen muss die Where-Codition den Bereich vom Startdatum zum Letzten des Monats und vom Ersten des Montas zum EndDatum abcheckt,wie auch den, bzw. die  Monat(e) der/die zwischen Startdatum+1 und  Enddatum-1 liegt/liegen.
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am Mai 18, 2022, 15:46:15
DatDiff("t";[Startdatum];[EndDatum])
Ouman ich habe echt ne halbe Stunde nicht verstanden woran es liegt, und habe alle verschiedenenen Apostrophe probiert aber klar, es ist die Language, Danke!


Tut mir wirklich Leid aber ich komm nicht drauf wie du das meinst,

ZitatStartdatum:  10.01.2022   Enddatum: 20.01.2020   Anzahl:  1  Monat: 1
Startdatum:  10.01.2022   Enddatum: 10.02.2020   Anzahl:  1  Monat: 1 ; Anzahl:  1  Monat: 2
Startdatum:  10.01.2022   Enddatum: 10.03.2020   Anzahl:  1  Monat: 1 ; Anzahl:  1  Monat: 2 ; Anzahl:  1  Monat: 3

Also so in etwa stell ich mir das auch vor dass es aussehen soll aber die Umsetzung mit irgendeiner WHERE Klausel ist mir nicht geläufig.

Ich habe mal eine kleine Datenbank mit Kreuztabelle und Dummy werten erstellt, vielleicht könntest du es mir an dieser Datenbank zeigen ?


Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: DF6GL am Mai 21, 2022, 11:04:24
Hallo,


anbei
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am Mai 23, 2022, 09:38:54
@DF6GL
Hallo, ich habe es mir angesehen und verstehe nun ungefähr was du meintest, aber das Problem ist, dass ich ja so aktuell nur die Monate bekomme in denen etwas verplant ist, aber nicht die genaue Anzahl der Tage.

Bei abf_init wird mit 100 multipliziert und der monat drauf gerechnet damit man eine ganzzahl im Format JahrMonat bekommt, soweit ich das verstehe.

Und bei abf_auswahl wird dann mit dem Jahrmon abgeglichen wenn ich das richtig verstehe.

Aber nun habe ich ja bsp. bei Startdatum 25.04 und Enddatum 05.05 in den Monaten 4 und 5 jeweils eine 1 stehen, aber ich bräuchte die Tage im 4.Monat eine 6 und im 5.Monat eine 5
Habe schon überlegt deine Grundidee anzupassen, aber bin mir nicht sicher wie, da die Monate unterschiedliche Tage haben

Schonmal vielen Dank für deine Hilfe, das ist schonmal besser wie es aktuell bei mir ist!
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: DF6GL am Mai 23, 2022, 14:45:09
Hallo,

dann halt so wie im Anhang.

Evtl. muss noch der Umstand berücksichtigt werden, wenn ein Artikel in einem bestimmten Monat einen Unterbrechungszeitraum ("Fehltage")  aufweist.
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am Mai 24, 2022, 09:00:19
@DF6GL

Ja genau so habe ich das gemeint, wow das ist sehr komplex für mich, ich versuche es gerade zu verstehen,
was genau bedeutet das im Anhang, das verstehe ich leider nicht so richtig ?
Also ich verstehe nur ungefähr dass es als Bedingung fungiert und habe bereits deine Abfrage Schritt für Schritt nachgebaut um sie zu verstehen, und festgestellt, dass es die Abfrage verkleinert und zusammenfasst irgendwie, aber was genau macht dieser Teil, könntest du das kurz erklären?

Und nochmal danke für die Lösung ich will sie jetzt nur noch verstehen!
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: DF6GL am Mai 24, 2022, 09:19:29
Hallo,

das Bild zeigt die Kriterien (Where-Condition) für die Selektion von DS in Abhängigkeit der jeweiligen JahrMonate aus der Hilfstabelle.


Schau Dir einfach mal die Where-Condition in der "SQL-Ansicht" an.


Das Kriterium bedeutet:

Ein DS wird angezeigt (gefiltert), wenn:

das Startdatum innerhalb des aktuellen Monats liegt

ODER

das Enddatum innerhalb des aktuellen Monats liegt

ODER

das Startdatum vor UND das Enddatum nach dem aktuellen Monat liegt.


In der Public-Function wird dann für jeden DS die Anzahl der Tage berechnet, die im aktuellen Monat vorhanden sind.
Titel: Re: Kombinationsfelder MIT MEHRAUSWAHL voneinander abhängig
Beitrag von: Andi123x4 am Mai 24, 2022, 14:45:14
Ahh Super Perfekt danke !!