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 10.07.2018, 13:10   #1
Hubert111
MOF User
MOF User
Standard Acc2010 - Feiertag und Wochentag

Hallo und guten Tag zusammen,

ich habe ein Formular mit 2 Datumsfelder:
> Versandtag
> Anliefertag
Nach Eingabe des Versandtages soll im Anliefertag
der nächste Tag eingetragen werden. Also Empfangstag +1. Funktioniert!

Nun würde ich gerne ermitteln ob der Anliefertag ein Samstag oder
Sonntag oder ein Feiertag ist um in das Feld Anliefertag den nächsten
Wochentag eintragen zu können.

Hierzu benötige ich einen Lösungsansatz, denn wenn der Versandtag
z.B. Gründonnerstag ist wäre der nächste Wochentag als Anliefertag
erst der nächste Dienstag nach Ostermontag.
(Der Freitag wäre ein Feiertag, Samstag/Sonntag ein Wochenendtag und
der Montag wieder ein Feiertag)


Grüße Hubert
Hubert111 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 10.07.2018, 13:21   #2
Kyron9000
MOF Koryphäe
MOF Koryphäe
Standard

Hallo,

habe eine Beispiel-Db für jemanden zusammengestellt
https://www.ms-office-forum.net/foru...d.php?t=352768

Bei der letzten Version ..._V2, (mit deutsche Feiertage musst im Code die Variablen teilweise ändern... habe ich übersehen
sDate = strDate und J = Jahr

__________________

Gruß Alfred

Geändert von Kyron9000 (10.07.2018 um 13:24 Uhr).
Kyron9000 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 10.07.2018, 13:33   #3
Hubert111
Threadstarter Threadstarter
MOF User
MOF User
Standard

Vielen Dank,

ich hatte deine Beispiel-DB
schon entdeckt und runtergeladen.
(Die Variablen auch schon geändert)

Nun muss ich erstmal schauen wie das
meine Aufgabenstellung lösen kann...
Hubert111 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 10.07.2018, 13:57   #4
ebs17
MOF Guru
MOF Guru
Standard

Eine Alternative wäre eine Kalendertabelle mit ein paar Anpassungen:
Neben dem laufenden Datum gibt es weitere berechnete Felder wie Wochentag und nächster Arbeitstag.

Diesen nächsten Arbeitstag würde man einmalig berechnen und im laufenden Betrieb nur nachschlagen. Das dürfte dann auch schneller sein als jeden Tag zu prüfen, ob er Ostermontag oder Tag der Einheit oder etwas anderes ist, insbesondere wenn man eine erfolgreiche Firma und somit viel zu versenden und somit mit Abfragen statt mit Einzelverarbeitungen zu arbeiten hat.
Code:

SELECT 
   V.Versandtag, 
   K.NaechsterArbeitstag 
FROM 
   tblVersand AS V 
      INNER JOIN Kalendertabelle AS K 
      ON V.Versandtag = K.Kalendertag

__________________

Ein freundliches Glück Auf!

Eberhard

Abfrageperformance ist kein Geheimnis
SQL ist leicht: {0}:{1}:{2}:{3}:{4}:{5}:{6}:{7}:{8}:{9}:{10}:{11}
Dein Dankeschön: DBWiki=>Spende

Geändert von ebs17 (10.07.2018 um 14:03 Uhr).
ebs17 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 10.07.2018, 14:09   #5
Hubert111
Threadstarter Threadstarter
MOF User
MOF User
Standard

Vielen Dank @ebs17,

ich müsste bei der Auftragserfassung prüfen ob der nächste
Anliefertag ein Wochenendtag oder ein Feiertag ist.

Es kann ja vorkommen das eine Anlieferung an einem
z.B. Samstag gewünscht wird.
Deshalb müsste vor dem automatischen Eintrag des
Anliefertages dies per MsgBox bestätigt werden.
Hubert111 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 10.07.2018, 14:21   #6
ebs17
MOF Guru
MOF Guru
Standard

Eine Kalendertabelle ist eine Hilfstabelle und hat mit Normalisierung nichts zu tun, im Gegenteil, da kann man alles mögliche vorberechnen, um dann einfach indexunterstützt nachzuschlagen. Verschiedene Nachfolgetage ließen sich also in verschiedenen Feldern ablegen. Berechnen muss man sie ja in jedem Fall, die Frage wäre nur, ob man das pro Tag einmal tut oder ob man, wenn am Tag 300 Lieferungen erfolgen sollen, das dann 300-mal wiederholt.

Allerdings: Immer wieder rechnen macht auch Spass und beschäftigt die Maschine und verschafft desweilen dem User Kaffeepausen.

__________________

Ein freundliches Glück Auf!

Eberhard

Abfrageperformance ist kein Geheimnis
SQL ist leicht: {0}:{1}:{2}:{3}:{4}:{5}:{6}:{7}:{8}:{9}:{10}:{11}
Dein Dankeschön: DBWiki=>Spende
ebs17 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 10.07.2018, 14:51   #7
gpswanderer
MOF Guru
MOF Guru
Standard

Hallo,
im Anhang eine Beispieldatenbank mit einer Kalendertabelle (tblAlleTage).
Die Feiertage eines Jahres kann man einfach anhaken und so auch Firmenfeiertage und Brückentage kennzeichnen.
Angehängte Dateien
Dateityp: zip Arbeitstage.zip (40,3 KB, 8x aufgerufen)

__________________

Gruß
Klaus
Office2016, Win10
gpswanderer ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 10.07.2018, 15:01   #8
Hubert111
Threadstarter Threadstarter
MOF User
MOF User
Standard

Hallo und vielen, vielen Dank @gpswanderer

Das war sogar die Lösung für mein Problem!
(Anhand deiner Tabellen aus 2016)

Habe den Gründonnerstag am 24.03.16 eingegeben
und den 29.03.16 als nächsten Werktag erhalten.

Perfekt!


Grüße Hubert
Hubert111 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 10.07.2018, 20:47   #9
Kyron9000
MOF Koryphäe
MOF Koryphäe
Standard

... für mich ist Feiertage vom User eingeben nicht so perfekt.
Da kann vieles schief gehen... Feiertag vergessen, verklickt usw.
Ich habe es lieber, wenn alles automatisch funktioniert...
Man benötigt auch keine Kalender-Tabelle, sondern nur 2 Funktionen
aus der Beispiel-DB und eine Neue dazu.
Gib einfach in das Formular 22.12.2018 oder 15.08.2018 ein und du wirst
das richtige Lieferdatum bekommen.
Eine Sache wäre da noch zu Überlegen und zwar, was ist wenn eine Fa. in dieser Zeit in Urlaub ist...
könnte man noch mit integrieren wenn man möchte!

Auch eine Lieferung nach Österreich wäre da eine Option
Angehängte Dateien
Dateityp: zip Liefertag_V1.zip (32,5 KB, 9x aufgerufen)

__________________

Gruß Alfred
Kyron9000 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 10.07.2018, 20:59   #10
Hubert111
Threadstarter Threadstarter
MOF User
MOF User
Standard

@Kyron9000

Auch Dir herzlichen Dank für deine Lösung.

Sehr interesannter Ansatz ohne Tabellen,
der mir tatsächlich auch das richtige Lieferdatum ermittelt.

Mal schauen wie ich das hinbekomme das ich das richtige
Lieferdatum ausgehend vom Verladedatum erhalte.
Also z.B. Verladedatum 22.12.2018 = Anlieferdatum am:

Nochmals Danke und Beste Grüße

Hubert
Hubert111 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 11.07.2018, 09:00   #11
Hubert111
Threadstarter Threadstarter
MOF User
MOF User
Standard

Guten Morgen @Kyron9000

Ausgehend von dem Wunschdatum in deinem Beispiel
wird exakt das korrekte Lieferdatum ermittelt.

Ich müsste für deine Lösung jedoch 3 Felder einsetzen und zwar:
> Versandtag
> Wunschdatum = [Versandtag] + 1
> Liefertag = (Ergebnis deiner Funktion Mit Wochenende und Feiertage)

Meine Frage wäre wie deine Lösung als Liefertag den Versandtag +1
direkt ohne Feld Wunschdatum berechnen könnte?
(Habe es leider nicht hinbekommen).

Möglich wäre natürlich auch das Wunschdatum als verstecktes Feld
in das Formular zu übernehmen.


Beste Grüße nach Österreich

Hubert
Hubert111 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 11.07.2018, 10:28   #12
Kyron9000
MOF Koryphäe
MOF Koryphäe
Standard

Guten Morgen,

nö, 3. Feld benötigst nicht...
Code:

Option Compare Database
Option Explicit

Private Sub Liefertag_LostFocus()
    Me.Liefertag = fncLT(Me.Versandtag + 1)
End Sub

__________________

Gruß Alfred
Kyron9000 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 11.07.2018, 10:56   #13
Hubert111
Threadstarter Threadstarter
MOF User
MOF User
Standard

@Kyron9000

danke, das klappt super!

Letzte Frage: (wenn erlaubt)
Kann ich auch prüfen ob der Versandtag ein Samstag/Sonntag
oder ein Feiertag ist, bei einer Fehleingabe?


Beste Grüße nach Österreich

Hubert
Hubert111 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 11.07.2018, 12:46   #14
Kyron9000
MOF Koryphäe
MOF Koryphäe
Standard

... ja geht auch

PS: falls du Arbeitstag nicht angezeigt haben möchtest...
einfach diese letzte Zeile auskommentieren
Angehängte Dateien
Dateityp: zip Liefertag_V2.zip (27,3 KB, 9x aufgerufen)

__________________

Gruß Alfred

Geändert von Kyron9000 (11.07.2018 um 12:52 Uhr).
Kyron9000 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 11.07.2018, 14:56   #15
Hubert111
Threadstarter Threadstarter
MOF User
MOF User
Standard

@Kyron9000

super, und nochmals vielen Dank für deine Hilfe und Mühe !
(Lösung erhalten und viel gelernt)


Beste Grüße nach Österreich

Hubert
Hubert111 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 00:17 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.