MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Access & Datenbanken > Microsoft Access
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 26.06.2018, 07:25   #1
darkhope
Neuer Benutzer
Neuer Benutzer
Wink Acc2010 - VBA - Zählenwenn unter mehreren Bedingungen

Hallo,

ich bin absoluter VBA-Neuling und brauche eure Hilfe.

Erreichen möchte ich, dass in einem Steuerelement (Textfeld) ein Wert
unter mehreren Bedingungen ermittelt und eingetragen wird.
Es soll geprüft werden, welcher Tag heute ist und anschließend in der zum
Tag passenden Tabelle in der Spalte der zur passenden aktuellen Zeit zusammengezählt werden, wie oft "Tätigkeit1" + "Tätigkeit2" in der
Spalte vorkommt.

Beispiel:
Heute ist Dienstag 08:30 Uhr und in der Tabelle "Dienstag" steht in der Spalte
"8-9 Uhr" die "Tätigkeit1" 2 mal drin und die "Tätigkeit2" 1 mal. Als Ergebnis sollte im Textfeld nun "3" ausgewiesen werden.

Ich habe schon mehrere Dinge probiert, aber nichts funktioniert so richtig.
Mit einer Teilformel direkt im Steuerelement klappt es ansatzweise, aber ich hätte nicht genug Zeichen zur Verfügung für die Komplette Formel.

Die Formel fing wie folgt an:
Wenn(Zeit() Zwischen 0,33 Und 0,38;DomAnzahl("[8-9 Uhr]";"Tabelle_Montag";"[8-9 Uhr] = 'Tätigkeit1'")+DomAnzahl....

Leider kann ich das in VBA so nicht übernehmen.

Ich hoffe Ihr könnt helfen. Ich habe es mit DCount probiert, bekomme jedoch
den Befehl nicht richtig hin. Access erwartet an irgendeiner Stelle in der DCount Passage ein = Zeichen.

Vielleicht könnt Ihr mir sagen, ob mein Code totaler blödsinn ist, oder durchaus
brauchbar ist und mir helfen diesen Funktionsfähig zu machen.

Code:

Private Sub VMP_eingeteilt_BeforeUpdate(Cancel As Integer)

If Weekday(Date) = 2 Then
    If Time < 8 And Time > 9 Then
       DCount ("[8-9 Uhr]", "Tabelle_Montag", "Tätigkeit1) &
       DCount ("[8-9 Uhr]", "Tabelle_Montag", "Tätigkeit2)
        
    If Time < 9 And Time > 10 Then
       DCount ("[8-9 Uhr]", "Tabelle_Montag", "Tätigkeit1) &
       DCount ("[8-9 Uhr]", "Tabelle_Montag", "Tätigkeit2)
    
ElseIf Weekday(Date) = 3 Then
    If Time < 8 And Time > 9 Then
       DCount ("[8-9 Uhr]", "Tabelle_Dienstag", "Tätigkeit1) &
       DCount ("[8-9 Uhr]", "Tabelle_Dienstag", "Tätigkeit2)

'usw. bis Freitag......

End If

End Sub
Ich Danke euch vorab für die Mühe
darkhope ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.06.2018, 07:48   #2
markusxy
MOF Meister
MOF Meister
Standard

Du bist hier bei Access und nicht bei Excel.
Wenn die Nachschlagetabelle so aufgebaut ist, wie es sich für eine Datenbank gehört, brauchst du für die Prüfung kein einziges if, sondern eine einzige Abfrage für das Gesamtergebnis.

Abgesehen davon was die Zeichen ">" und "<" bedeuten sollte schon klar sein.
If Time < 8 And Time > 9 Then

Auch wenn der Ausdruck an sich nicht funktionieren kann bedeutet er logisch vor 8 und nach 9.
Also das Gegenteil von dem was du willst.

Die Frage ist nun, wann du beginnen willst dich mit den Grundlagen zu geschäftigen? Die lernt man nicht hier im Forum.

Kein Sorgen, in kürze wirst du hier aber fertige Lösungen finden.
Die werden aber kaum helfen, dich weiter zu entwickeln.
markusxy ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.06.2018, 07:59   #3
darkhope
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Entschuldige, ich arbeite noch nicht so lange mit Access und VBA und Momentan ist das so eine "learning by doing" Sache. Für eine richtige Access/VBA-Schulung hab ich im Moment nicht die Kohle und rein vom Bücher weltzen komme ich nicht weiter.

Trotzdem Danke für deine ehrlichen Worte.

Vielleicht kann ja jemand helfen, mich zum Ziel zu bringen.

Danke.
darkhope ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.06.2018, 08:14   #4
markusxy
MOF Meister
MOF Meister
Standard

Mein Empfehlung:
Ein Access Buch und ein Wochenende Zeit Investition für den Start.

Ansonsten ist das eine sehr frustrierende Sache.


Edit: Für Hilfe zeig doch mal den Aufbau einer Tagestabelle.

Geändert von markusxy (26.06.2018 um 08:17 Uhr).
markusxy ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.06.2018, 08:41   #5
darkhope
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Anbei die Tabelle in der Datenblatt und Entwurfsansicht.
Angehängte Grafiken
Dateityp: jpg TabelleMontag.JPG (31,3 KB, 12x aufgerufen)
Dateityp: jpg TabelleMontag_Entwurf1.JPG (47,9 KB, 14x aufgerufen)
Dateityp: jpg TabelleMontag_Entwurf2.JPG (33,4 KB, 15x aufgerufen)
darkhope ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.06.2018, 09:02   #6
gpswanderer
MOF Guru
MOF Guru
Standard

Hallo,
das Datenmodell ist unbrauchbar. Du hast eine Exceltabelle gemacht, aber keine Datenbanktabelle.
Hier sind folgende TAbelle notwendig:
- Mitarbeiter
- Tätigkeiten
- Kalender
- Zeiträume
- Verbindungstabelle (je FS zu MA, Tätigkeit, Kalender und Zeitraum)

FS = Fremdschlüssel

In der Verbindungstabelle wird jede Tätigkeit als Datensatz erfasst, nicht in Feldern.

__________________

Gruß
Klaus
Office2016, Win10
gpswanderer ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.06.2018, 09:20   #7
markusxy
MOF Meister
MOF Meister
Standard

@Klaus,
wofür denkst du braucht er den Kalender, oder geht es mehr um eine Lookup Tabelle für den Namen des Wochentags ohne schlussendlich zu verknüpfen?

@darkhope,
der Klaus wird dich aus dem Sumpf befreien.
markusxy ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.06.2018, 09:31   #8
darkhope
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

@gpswanderer

Also wenn ich dich richtig verstehe werden so aus einer großen Tagestabelle
8 kleinere Tabellen???

Die aktuelle Tabelle ist in einem Formular eingebunden, wo die Leute Ihre entsprechenden Tätigkeiten eintragen, das würde doch dann verloren gehen oder?

Die Tabelle Mitarbeiter und Tätigkeiten stehen bereits als DorpdownTabelle zur Verfügung. Vom Aufbau her aber genauso, wie in den Bildern zu sehen (eben nur einspaltig)

Geändert von darkhope (26.06.2018 um 09:36 Uhr).
darkhope ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.06.2018, 09:47   #9
gpswanderer
MOF Guru
MOF Guru
Standard

Hallo,

Zitat:

Also wenn ich dich richtig verstehe werden so aus einer großen Tagestabelle 8 kleinere Tabellen???

Nein, das hast Du falsch verstanden.
Es würde auch ein Formular geben wo die Leute ihre Tätigkeit eintragen. Es wäre nur ganz anders aufgebaut. Siehe Anmerkung für Markus.

@Markus
Die Kalendertabelle würde jeden Tag (Arbeitstag?) enthalten und in einem Hafo angezeigt werden. Im eingebundenen Ufo werden die Mitarbeiter, Tätigkeiten und Zeitraum ausgewählt.
Die Kalendertabelle hätte auch einen PS (Autowert) sodass ie Verknüpfung Hafo-Ufo über die Schlüsselfelder läuft und nicht über das Datum. In der Kalendertabelle können bei Bedarf weitere Infos zum Tag untergebracht werden.

__________________

Gruß
Klaus
Office2016, Win10
gpswanderer ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.06.2018, 09:57   #10
markusxy
MOF Meister
MOF Meister
Standard

Zitat: von gpswanderer Beitrag anzeigen

@Markus
Die Kalendertabelle hätte auch einen PS (Autowert) sodass ie Verknüpfung Hafo-Ufo über die Schlüsselfelder läuft und nicht über das Datum. In der Kalendertabelle können bei Bedarf weitere Infos zum Tag untergebracht werden.

Also so wie geschildert geht es um Werktage Montag bis Freitag und nicht um Kalendertage.

Aber ich ziehe mich jetzt mal zurück. Bei dir ist er ja in guten Händen.
markusxy ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.06.2018, 10:02   #11
gpswanderer
MOF Guru
MOF Guru
Standard

Hallo,

Zitat:

Also so wie geschildert geht es um Werktage Montag bis Freitag und nicht um Kalendertage.

Die Tabelle kann ja über eine Abfrage auf die Tage Mo-Fr beschränkt werden.

__________________

Gruß
Klaus
Office2016, Win10
gpswanderer ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.06.2018, 10:04   #12
elmar
MOF Meister
MOF Meister
Standard

Zitat: von markusxy Beitrag anzeigen

Mein Empfehlung:
Ein Access Buch und ein Wochenende Zeit Investition für den Start.
Ansonsten ist das eine sehr frustrierende Sache.

Schau mal in den Privaten Nachrichten bei Dir nach, habe einen Link zu kostenlosen Büchern zum Thema VBA gesendet.

__________________

WIN 7 PROF 64, ACCESS 2003 Wissenswertes: ACCESS-FAQ *** Habe mit ACC2007/10/13 nichts am Hut...
Hilfreiche Antworten kann es nur bei verständlichen Fragen geben! Anleitung dazu: Hier klicken | Auch hilfreich: Einführung in die Datenbank Microsoft Access. | Die Nachteile von Nachschlagefeldern
elmar ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.06.2018, 10:45   #13
darkhope
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

@elmar
Vielen Dank

@Klaus
An der Stelle komme ich schon leider nicht weiter, da das Format der erstellten Tabellen immer gleich ist (Gibt leider keinen Assistenten zum erstellen von Tabellen wie bei Formularen). Deshalb weis ich nicht, wie ich eine Kalendertabelle erstellen soll und wie du dir den neuen Aufbau des Formulars vorstellst.
darkhope ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.06.2018, 10:48   #14
gpswanderer
MOF Guru
MOF Guru
Standard

Hallo,
ich bastle Dir ein Beispiel, aber erst heute gegen Abend.

__________________

Gruß
Klaus
Office2016, Win10
gpswanderer ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 26.06.2018, 10:52   #15
darkhope
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Sehr lieb von dir Danke
darkhope ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:13 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.