Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Projektdatenbank mit Stunden

Begonnen von ZickZack, September 26, 2011, 08:58:56

⏪ vorheriges - nächstes ⏩

ZickZack

Ich möchte das ganze nun anders realisieren.
Im Hauptformular oder Unterformular sollen zwei Kombinationsfelder als Filter dienen. Im einen werden die Namen der Mitarbeiter gelistet, im anderen die Jahre.

Den Code den ich bisher gefunden habe:

Private Sub Mitarbeiterauswahl_AfterUpdate()
    Me!Stunden.Form.Filter = "Mitarbeiter = " & Me!Mitarbeiterauswahl
    Me!Stunden.Form.FilterOn = True
End Sub


Stunden = Name Unterformular
Mitarbeiter = Kombinationsfeld im Unterformular
Mitarbeiterauswahl = Kombinationsfeld im Hauptformular (Soll im Kombifeld "Mitarbeiter" die Namen filtern)

Leider funktioniert das noch nicht so wirklich. Ich kann zwar die Namen auswählen aber dann erscheint ein PopUp "Parameterwert eingeben".
In diesem Fall befindet sich das Kombifeld im Hauptformular. Muss ich noch irgendwo etwas anfügen um das Unterformular ansprechen zu können?

DF6GL

Hallo,


warum willst Du das nun "anders" (Wie anders,  andere Tabellen, andere Formular-Konstruktion?) lösen??  Statt da zu drehen, sorg zunächst dafür, dass die DB mit Standard-Mitteln/Methoden prinzipiell richtig läuft.  Danach kannst Du Dir "andere" Bedienungsformen/-abläufe überlegen.


Zur Frage:

ZitatMitarbeiter = Kombinationsfeld im Unterformular
Mitarbeiterauswahl = Kombinationsfeld im Hauptformular (Soll im Kombifeld "Mitarbeiter" die Namen filtern)


Im Hauptform:

Private Sub Mitarbeiterauswahl_AfterUpdate()
    Me!Stunden.Mitarbeiter.Rowsource= "Select MitarbeiterID, MitarbeiterName from tblMitarbeiter where MitarbeiterName = '" & Me!Mitarbeiterauswahl & "'"
End Sub


So zumindest wäre die genaue Beantwortung Deiner Frage.. (was ich eher als Holzweg ansehe)
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

ZickZack

Was ich anders wollte ist die Formularkonstruktion. Ich möchte die Dateneingabe möglichst einfach gestalten. Dazu gehört auch, dass ich nicht jedesmal den 15. eines Monates vor das Datum setzte oder

Aber nochmal zur DB-Allgemein.
Funktionieren tut soweit alles, ich kann Daten eingeben, ich kann die Stunden mit einer Abfrage ausgeben. Die Beziehungen stimmen.

Kurz: An den Tabellen ändert sich nichts mehr.
Die Tabelle mit den Fachabteilungen erhält kein Formular da dort die Daten einmal eingegeben werden und dann sollte sich da kaum noch was ändern.

Jetzt geht es eigentlich nur noch um die Formulare und deren Funktionen.
Da dachte ich, wenn ich nach Mitarbeiter filtere, wird es viel übersichtlicher. Ich hatte es nochmal versucht mit dem neuen Code, leider kommt jetzt ein neuer Fehler.

Im Anhang ist die aktuelle DB. Den Versuch habe im im Forumlar frm_Studie gemacht.

Zitatnaja, es ist kaum einer der Tipps umgesetzt, speziell der der (Endlos-)Formulare anstelle der Tabellenansicht.

Das verstehe ich nicht. Ich habe ja ein EndlosFORMULAR eingefügt.


[Anhang gelöscht durch Administrator]

DF6GL

Hallo,

naja, die Tabelle tblMitarbeiter_Studie beinhaltet ja eher die "Studienbelastungen" (Stundenaufwand für eine bestimmte Studie)  denn die Studienmitarbeiter


Von welchem Blickwinkel sollen denn die Daten betrachtet werden?

--Studien und deren Mitarbeiter, bzw. Stundenbelastung
--Stundenbelastung durch einen bestimmten MA
--Monatliche (oder anderer Zeitraum) Belastungen der Studien durch MAs

Die Eingabe des "Datums" kann ja noch verbessert werden, z. B. mitteld zweier ungebundener Kombis (cmbMonat, cmbJahr) mit fest eingestellten Wertlisten , aus denen das "richtige" Datum (15. des Monats) per VBA zusammengesetzt und derst dann im Datumsfeld gespeichert wird.


In Deinem Hauptform (Basis zu Tabelle tbl_Studie) solltest Du nur nach bestimmten Studien filtern...Wenn zusätzlich nach einem MA (bezogen auf eine bestimmte Studie) gefiltert werden soll , dann muss das im Unterform passieren.


"es ist kaum einer der Tipps umgesetzt"   vergiss das mal. Das ist überholt.

Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

ZickZack

Die Idee mit der Datumseingabe gefällt mir.

Zum Blickwinkel...

Das Grundlegende Ziel ist, anhand der Daten eine Rechnung für die Studien zu erstellen.
Oder anders gesagt, ich möchte sehen, wie viel Aufwand für eine Studie aufgebracht wurde.

Wie viele Stunden ein Mitarbeiter ansonsten gearbeitet hat, ist unwichtig, es dreht sich alles um die Studien.

ZitatIn Deinem Hauptform (Basis zu Tabelle tbl_Studie) solltest Du nur nach bestimmten Studien filtern...Wenn zusätzlich nach einem MA (bezogen auf eine bestimmte Studie) gefiltert werden soll , dann muss das im Unterform passieren.
Das heisst also, das Kombifeld im Kopf des EndlosFormular (frm_Mitareiter_Studie) einbauen anstatt im Hauptformular frm_Studie?

DF6GL

Hallo,


"ich möchte sehen, wie viel Aufwand für eine Studie aufgebracht wurde."


Ok, das ist aus dem Haupt/Unterform zu erkennen (bzw. zu berechnen, wenn im Unterform in dessen Fußbereich die Summe über das Stundenfeld z. B. als Ausdruck im Steuerelementinhalt eines Textfeldes berechnet wird


"Wie viele Stunden ein Mitarbeiter ansonsten gearbeitet hat, ist unwichtig"

dann brauchst Du auch nicht nach MAs zu filtern...


Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

ZickZack

Huhu. Ich melde mich mal wieder.

Ich kann die Mitarbeiter nun im UFO sortieren. Dazu habe ich ein Kombifeld im Kopfbereich des UFO angelegt und folgenden Code genutz:
Private Sub cmbFilterMa_AfterUpdate()
Me.Filter = "Mitarbeiter_F Like '" & Me!cmbFilterMa & "'"
    Me.FilterOn = True
End Sub


Jetzt würde ich gerne die Dateneingabe bei den Stunden vereinfachen mit dem von dir vorgeschlagenen Tipp. Ich wäre hier um Tipps dankbar. Wie kann ich zwei Kombifelder zur Dateneingabe für ein Datumsfeld nutzen?

DF6GL

Hallo,

falls ich richtig den ganzen Thread überflogen habe, willst Du ein Datum erstellen und abspeichern, das sich aus dem fixen 15-ten  und den per Kombis ausgewählten Werten für den Monat und das Jahr ergibt.


cmbMonat:

Spaltenanzahl: 1
Herkunftstyp: Wertliste
Datensatzherkunft: 1;2;3;4;5;6;7;8;9;10;11;12
Gebundene Spalte:1
Spaltenbreiten:1cm




cmbJahr:

Spaltenanzahl: 1
Herkunftstyp: Wertliste
Datensatzherkunft: 2010;2011;2012;2013;2014;2015
Gebundene Spalte:1
Spaltenbreiten:1,5cm


Sub cmbMonat_Afterupdate()
cmbJahr_Afterupdate
End Sub

Sub cmbJahr_Afterupdate()
Me!Aufwanddatum= Dateseriell (nz(Me!cmbJahr,year(Date)), (nz(Me!cmbMonat,month(Date)), 15)
End Sub




Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Beaker s.a.

Hallo,

Warum nicht einfach das Datums-Control mit einer Vorgabe befüllen?
Ich meine so Stundenerfassung erfolgen doch in der Regel zeitnah.
Da bietet es sich doch an den 15. des aktuellen Monats als Vorgabe anzuzeigen, oder, wenn das z.B. immer am Anfang eines Monat geschieht, den vorigen Monat.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

ZickZack

Wäre auch eine Möglichkeit. Ich finde jedoch rein optisch störrt die 15. Ich werde die Variante von DF6GL testen. Danke euch.

MzKlMu

Hallo,
ZitatIch finde jedoch rein optisch störrt die 15.
Den musst Du doch gar nicht anzeigen. Wie bereits mehrfach gesagt lässt sich das über die Formateigenschft verhindern.
Gruß Klaus

ZickZack

Es zeigt mir ja auch Januar 2011, Februar 2011 etc. an. Wenn ich aber daraufklicke bzw. die Daten eingebe, wechselt es wieder in die normale Ansicht: 15.01.2011, 15.02.2011 etc.


Me!BuchungsMonat= Dateseriell (nz(Me!cmbJahr,year(Date)), (nz(Me!cmbMonat,month(Date[color=green])), 15[/color])

Hier scheint es einen Fehler im Code um die ", 15" zu geben. Was mich auch noch aufgefallen ist, im Endlosformular ändern sich hierdurch alle Combis "Monat" auf einmal miteinander. Vielleicht liegt das aber auch weil es z.Z. noch einen Fehler im Code hat.

DF6GL

Hallo,

ja, eine Klammer ist zuviel:

Me!Aufwanddatum= Dateseriell (nz(Me!cmbJahr,year(Date)), (   nz(Me!cmbMonat,month(Date)), 15)


Endlosform:  versteh ich nicht. Was soll sich bei den Kombis ändern?



"Wenn ich aber daraufklicke bzw. die Daten eingebe"

dann sperr dieses Feld, so dass es nicht den Fokus erhalten kann. Du brauchst da auch nichts direkt eingeben, wenn Du diese "Komfort-Eingabe" weiterhin behalten willst. Ansonsten ist das Datum nun mal der 15. des Monats (und Jahres), wie anfänglich definiert/abgesprochen.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

ZickZack

#43
Zitat von: DF6GL am Januar 04, 2012, 15:50:38
"Wenn ich aber daraufklicke bzw. die Daten eingebe"

dann sperr dieses Feld, so dass es nicht den Fokus erhalten kann. Du brauchst da auch nichts direkt eingeben, wenn Du diese "Komfort-Eingabe" weiterhin behalten willst. Ansonsten ist das Datum nun mal der 15. des Monats (und Jahres), wie anfänglich definiert/abgesprochen.
Dies hat sich auf den Post von MzKlMu bezogen.

Auf was bezieht sich "Dateseriell" ? Müsste ich den Namen anpassen?

DF6GL

Hallo,

um was (welche Probleme ) geht es jetzt eigentlich?

Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access