collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 77
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 1
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 13976
  • stats Beiträge insgesamt: 66554
  • stats Themen insgesamt: 8972
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Datum in Nachschlagetabelle  (Gelesen 386 mal)

Offline girly05

  • Newbie
  • Beiträge: 25
Datum in Nachschlagetabelle
« am: April 13, 2018, 13:48:59 »
Hallo liebe Forummitglieder,
ich habe mehrere Tabellen, in denen ein zugehöriges Datum gespeichert wird. Da kam ich auf die Idee das Datum selbst in einer extra Tabelle zu speichern und mittels Kombinationsfelder darauf zuzugreifen. Nun bin ich aber am zweifeln, ob diese Idee überhaupt sinnvoll ist. Was meint Ihr dazu? Die Kombinationsfelder in den Formularen einzurichten ist ja kein Problem, aber wie verarbeite ich das dahinterliegende Datum mittels VBA weiter? Ich benötige ja das konkrete Datum aus der Nachschlagetabelle und nicht die zugehörige ID, d.h das folgende Codeschnipsel

Dim d As Date
     d = Nz(DatumsID_Ref.Value)

zeigt mir z.B. für den 11.04.2018 für die Klammer den Wert 176 und für d den Wert 20.06.1900 an, ich benötige aber für d das konkrete Datum, also den 11.04.2018.
Ich hoffe Ihr könnt meinen wirren Gedanken folgen und mich auf den richtigen Weg leiten, ansonsten gerne nachfragen. Vielen Dank schonmal und liebe Grüße.
Girly
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7283
Re: Datum in Nachschlagetabelle
« Antwort #1 am: April 13, 2018, 13:57:31 »
Hallo,
die Nachschlagetabelle benötigt kein Feld für die ID, eine Spalte für das Datum genügt. Und wenn das Datum keinen Zeitanteil enthält, kannst Du das auch für die Beziehung nutzen. Aber Du musst hier auch gar keine Beziehung einrichten, dass das richtige Datum gewählt wird musst Du ja ohnehin voraussetzen.
Du speicherst ja die Zahl (176) und 176 entspricht dem Datum 20.06.1900.
Dim As Date ist in dem Fall auch falsch, die Zahl ist ja kein Datum.
Warum überhaupt ein Kombi für das Datum, musst Du so oft ein Datum eingeben ?
Gruß
Klaus
 

Offline ebs17

  • Access-Meister
  • ***
  • Beiträge: 889
Re: Datum in Nachschlagetabelle
« Antwort #2 am: April 13, 2018, 14:14:59 »
Zitat
Nun bin ich aber am zweifeln, ob diese Idee überhaupt sinnvoll ist.
Den Sinn kann man nur im Zusammenhang mit der Zielvorstellung beurteilen. Was sicher ist: Es wird umständlicher und komplexer.

Ein Datum an sich ist nicht solch ein ultimativ einzigartiges Objekt, dass man atomar in einer gesonderten Tabelle verwalten muss.
Rein technisch: Ein Date-Feld in der Stammdatentabelle benötigt 8 Byte pro Eintrag, der alternative Fremdschlüssel als Long auch schon 4 Byte. Dazu käme dann die Datumstabelle selber und der ganze Verknüpfungsaufwand inkl. Indizierung, so dass man da auch gar nichts spart. Benötigte Abfragen werden aber komplexer und im Text länger.
Mit freundlichem Glück Auf!

Eberhard
 

Offline girly05

  • Newbie
  • Beiträge: 25
Re: Datum in Nachschlagetabelle
« Antwort #3 am: April 13, 2018, 14:47:19 »
Hallo Klaus,
vielen Dank für die schnelle Antwort.
Ja, das gleiche Datum taucht in verschiedenen Tabellen (z.B. Auftragsdatum, Einsatzdatum, Rechnungsdatum usw.) auf, deshalb die Idee mit der Nachschlagetabelle. Ich werde heute abend mal versuchen, die Datumstabelle ohne die ID-Spalte zu nutzen. Melde mich dann wieder.
LG Girly

Hallo ebs17,
auch Dir danke für die schnelle und fundierte Antwort. Der grund meiner Idee: siehe Antwort an Klaus.
LG Girly
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7283
Re: Datum in Nachschlagetabelle
« Antwort #4 am: April 13, 2018, 15:40:39 »
Hallo,
Zitat
Ja, das gleiche Datum taucht in verschiedenen Tabellen (z.B. Auftragsdatum, Einsatzdatum, Rechnungsdatum usw.)
Und wo siehst Du da einen Vorteil für eine Nachschlagetabelle ? Und jeweils das gleiche Datum kann es ja auch nicht sein.
Diese Datumsfelder werden ja im Regelfall beim Anlegen des Datensatzes gefüllt. Und das ist ja wahrscheinlich nicht weit vom aktuellen Datum entfernt. Das normale Datumsfeld (mit dem Kalender) ist da mehr als ausreichend. Und schneller als mit dem Kombi geht es auch. Die Nachschlagetabelle für das Kombi muss ja einen ausreichend großen Zeitraum umfassen und da musst Du dann scrollen, oder erst mal mit VBA das Kombi auf das aktuelle Datum setzen.
Wenn Du aber unbedingt das Kombi haben willst, so würde ich nur eine Spalte in der Tabelle erstellen und auch keine Beziehung einrichten.
« Letzte Änderung: April 13, 2018, 15:47:32 von MzKlMu »
Gruß
Klaus
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1246
Re: Datum in Nachschlagetabelle
« Antwort #5 am: April 13, 2018, 15:57:47 »
Man kann übrigens auch ein Zahlenfeld mit der Feldgröße Long Integer dazu überreden, ein Datum ohne Zeitanteil aufzunehmen - die Format-Eigenschaft lässt grüßen.

Eine Datumstabelle, wie sie Klaus vorschlägt, ist eher zu Reporting-Zwecken in Abfragen geeignet - zur Dateneingabe wird man eine Validierung auch ohne diese gut auf die Beine stellen können.

Ich habe schon sehr phantasievolle und wirklich gute Datumstabellen (sogar mit mehr als 255 Feldern - allerdings dann nicht in Access) gesehen. Diese Tabellen beinhalten überwiegend berechnete redundante Daten, um schnellen Zugriff zu erlangen. Je nach Auslegung, müssen die Daten darin auch gepflegt werden. Bei Interesse einfach einmal im WWW nach Date Dimension Table suchen.

Hier mal eine Auflistung, welche Felder ich in so einer Tabelle verwende:
time_key, time_date, is_yesterday, is_today, is_tomorrow, doy, doh, doq, dom, dow, dow_short_name, dow_short_name_de, dow_long_name, dow_long_name_de, diw, dim, diq, dih, diy, rdow, rdom, rdoq, rdoh, rdoy, is_last_7d, is_last_14d, is_last_30d, is_last_90d, is_last_180d, is_last_365d, is_weekday, is_weekend, wdow, wdom, wdoq, wdoh, wdoy, rwdow, rwdom, rwdoq, rwdoh, rwdoy, wdiw, wdim, wdiq, wdih, wdiy, is_last_wd_in_week, is_last_wd_in_month, is_workday, is_holiday, is_future, is_past, is_previous_month, is_current_month, is_following_month, is_mtd, is_bom, is_eom, is_past_month, bom, eom, month_number, month_name_long, month_name_long_de, month_name_short, month_name_short_de, moq, moh, is_previous_week, is_current_week, is_following_week, is_wtd, is_bow, is_eow, is_past_week, bow, eow, week_number, week_name_long, week_name_short, wom, is_previous_quarter, is_current_quarter, is_following_quarter, is_qtd, is_boq, is_eoq, is_past_quarter, boq, eoq, quarter_number, quarter_name_long, quarter_name_long_de, quarter_name_short, is_previous_halfyer, is_current_halfyer, is_following_halfyear, is_htd, is_boh, is_eoh, is_past_halfyear, boh, eoh, halfyear_number, halfyear_name_long, halfyear_name_long_de, halfyear_name_short, is_previous_year, is_current_year, is_following_year, is_ytd, is_boy, is_eoy, is_past_year, boy, eoy, year_number, year_name_long, year_name_short, year_quarter, yyyymmdd, yyyyh, yyyyq, yyyymm, yyyyddd, is_leap_year, distd, distwd, distcw, distcm, distcq, distch, distcy, ndow_in_month, rndow_in_month

Aber ganz so umfangreich muss man nicht unbedingt werden. :)
Grüße von der (⌒▽⌒)
 

Offline girly05

  • Newbie
  • Beiträge: 25
Re: Datum in Nachschlagetabelle
« Antwort #6 am: April 15, 2018, 23:10:54 »
Hallo Klaus, hallo Lachtaube,
vielen Dank für eure Hilfen. Ich habe es jetzt mal mit nur einer Spalte in der Datumstabelle probiert, damit funktioniert es. Hintergrund der ganzen Geschichte nochmal: in mind. 6 Tabellen wird das identische Datum gespeichert und da die Daten noch nachgepflegt werden, ist dieses Datum auch selten zeitnah. Lachtaube, ehrlich gesagt, bin ich immer noch Anfänger, deshalb haben mich Deine Zeilen etwas überfordert, zumindest lese ich heraus, das es manchmal eine Berechtigung für eine solche Datumsnachschlagetabelle gibt.
Guten Abend und einen schönen Wochenstart euch allen.
LG Girly
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7283
Re: Datum in Nachschlagetabelle
« Antwort #7 am: April 15, 2018, 23:14:36 »
Hallo,
Zitat
6 Tabellen wird das identische Datum gespeichert
wenn es in den 6 Tabellen auch die gleiche Bedeutung hat, ist es 5x Zuviel.
Gruß
Klaus
 

Offline girly05

  • Newbie
  • Beiträge: 25
Re: Datum in Nachschlagetabelle
« Antwort #8 am: April 16, 2018, 09:37:18 »
Hallo Klaus,
hat in jeder Tabelle eine andere Bedeutung.
LG Girly