maddoc
Goto Top

Access 97 Jahr 2010 Problem?

Hallo,

hab da ein echt hartes Problem.

Wir benutzen in unserer Firma eine Personalzeiterfassung (PZE) auf Grundlage von Access.

Im Groben erklärt funktioniert es wie folgt:

Mitarbeiter wir über einen Magnetchip an einem Terminal erfasst.
Diese Daten werden über ein OEM Server (kleine DOS Anwendung) der auf einem PC läuft vom Terminal abgerufen.
Dabei werden die Daten vom OEM Server in eine dafür vorgesehen Datei abgelegt.

Weiter geht es mit der PZE. Die Software wird gestartet und die Daten aus der Datei vom OEM Server geholt und in die Datenbank gespeichert.
Gleichzeitig werden die Daten von der PZE in eine Datei geschrieben die sich Buchungenall.txt nennt.
Jetzt sieht man nun normalerweise alle Mitarbeiter wann sie gekommen und gegangen sind.


Soweit gut.

Seit dem 1.1.10 geht dies aber nicht mehr.
Die Daten werden weiterhin ordentlich in die Datei vom OEM Server geschrieben.
Die PZE holt die Daten auch ab und zeigt keinen Fehler an.
Dennoch sind die Daten in der PZE nicht hinterlegt.

In der Datei Buchungeall.txt sieht man dann den warscheinlichen Fehler.

Normalerweise wird das Datum wie folgt eingetragen. Z.B. 28.11.09 oder 28.11.99.
Nun steht da aber ab dem Jahr 2010 z.B. 17.01.0

Was kann ich machen damit das wieder funktioniert?

Gruß Maddoc

Content-Key: 134379

Url: https://administrator.de/contentid/134379

Printed on: March 2, 2024 at 07:03 o'clock

Member: Gungross
Gungross Jan 26, 2010 at 12:04:36 (UTC)
Goto Top
Versuch doch mal in der Systemsteuerung das Datum auf "lang" umzustellen. (Jahr vierstellig).
Das müsste Access das auch auf die Reihe bekommen...
Gruß Gunther
Member: maddoc
maddoc Jan 26, 2010 at 12:13:45 (UTC)
Goto Top
Wie meinst du das? In der Systemsteuerung vom OS?
Member: hybadd
hybadd Jan 26, 2010 at 12:16:28 (UTC)
Goto Top
access arbeitet mit den Datumseinstellungen, die im Betriebssystem vorgenommen wurden. Es kann aber sein, dass dann das lange Datum nicht mehr komplett in den Feldern der Eingeabmasken zu lesen ist, wenn die recht kurz sind.
Member: maddoc
maddoc Jan 26, 2010 at 12:27:02 (UTC)
Goto Top
Hmm, eine Einstellmöglichkeit finde ich aber nicht in der Systemsteuerung unter Datum/Zeit??
Mitglied: 60730
60730 Jan 26, 2010 at 12:43:12 (UTC)
Goto Top
Salü,
Zitat von @maddoc:
Hmm, eine Einstellmöglichkeit finde ich aber nicht in der Systemsteuerung unter Datum/Zeit??

iss klar, weil das in den Regions & Spracheinstellungen zu finden ist.

Gruß
Member: maddoc
maddoc Jan 26, 2010 at 12:49:53 (UTC)
Goto Top
Ok, habs.

Wo stelle ich da das Datum auf lang? Bei kurzem Datum steht da 26.01.2010 und bei langem Datum Dienstag, 26. Januar 2010.
Mitglied: 60730
60730 Jan 26, 2010 at 12:52:22 (UTC)
Goto Top
Zitat von @maddoc:
Ok, habs.

Wo stelle ich da das Datum auf lang? Bei kurzem Datum steht da 26.01.2010 und bei langem Datum Dienstag, 26. Januar 2010.
[OT] -ohne Nennung von Ross und Reiter - helfe ich nicht weiter.[/OT]
Member: Biber
Biber Jan 26, 2010 at 13:06:47 (UTC)
Goto Top
Moin maddoc,

trotz alledem wäre es natürlich sinnvoll, alle Ursachen zu lokalisieren, die zum "Sichtbarwerden" des Fehlers geführt haben.

Und da fehlt mir noch was in deiner Beschreibung:
Die PZE holt die Daten auch ab und zeigt keinen Fehler an.
Dennoch sind die Daten in der PZE nicht hinterlegt.
In der Datei Buchungeall.txt sieht man dann den warscheinlichen Fehler.
??? Die PZE ist doch, wenn ich das richtig verstehe, eine ACC97-MDB?
Und dort sollte doch dieses Datumsfeld als "Zeit/Datum" hinterlegt sein (oder etwa als Textfeld??).
FALLS es als Zeit/Datum hinterlegt ist und du in die Tabelle reinschauen darfst: Ist es denn dort noch "richtig"?

Die anderen Lösungsansätze.... ja, okay... schaden nicht, aber IMHO nicht relevant.
Über "Regionseinstellungen" lässt sich der "Schwellenwert", ab wann eine zweistellige Jahreszahl als 1900+x bzw 2000+x interpretiert werden soll einstellen, wenn denn die darunterliegende oleaut32.dll eine Versionsnummer >= Version 2.30.00.xxx ist.
Aber: Das sollte gegeben sein (seit Win98 spätestens!) und wenn es gegeben ist, dann ist der Schwellenwert 30 und never never never 10.
Wenn etwas älteres drunterliegt, dann ist der "Schwellenwert" aber auch 30 (nur eben fest verdrahtet/nicht änderbar).

Wenn die Werte in Acc97 schon verstümmelt ankommen und vermeintlich von diesem Magnetchip am Terminal noch richtig geliefert werden, dann solltet ihr prüfen, ob das ACC97 denn auch auf dem Stand SP3 ist und insbesondere die JET-Datenbank eine Versionsnummer JET 3.5 oder auch Jet3.51 hat. Diese Updates/SPs sind alle immer noch downloadbar.

Und eine weitere Ursache bzw. Maßnahme:
Wen auch immer ihr damals für eine Y2K-Umstellung bezahlt habt - klingel den/die aus dem Bett, hau ihm/ihr eine aufs Maul und verlang das Geld zurück.
Wenn irgendjemand damals trotz aller Y2K-Umstellungsvorschriften Datumswerte in Text-Transfer-Dateien mit 2stelligen Jahreszahlen speichert wie in deiner Buchungenalle.txt, dann darfst du ihn mit den Ohren an die Wand nageln. Das ist wirklich fahrlässig bis dreist.

Grüße
Biber
Member: maddoc
maddoc Feb 13, 2010 at 21:24:52 (UTC)
Goto Top
Hat sich erledigt. War ein Programmierfehler im Quellcod des Formulars für den Abruf der Daten vom OEM Server der von Haus aus die Jahreszahl mit drei Stellen ausgibt.

PS: myHammer sei Dank!! ;)

Gruß Maddoc