[NEWSboard IBMi Forum]
  1. #1
    Henrik Motzkus Besucher/Guest

    Post MC Access - ODBC - Datumsfeld

    Hallo,

    ich habe in MS Access 2000 eine Tabellenverknüpfung auf eine AS400 Datei per ODBC. Nun möchte ich über die Eingabe eines Datums eine Access-Abfrage auf diese Datei starten. Access nimmt das Datum allerdings nicht an und gibt immer folgende Fehlermeldunge aus: ODBC: "Daten außerhalb des Bereichs."

    Der Inhalt des AS400 Feldes: 20.11.01
    Und das ist das Format:

    Feld Text Län. Dez.
    DATE04 date(date03) 8 L

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.246

    Post

    Ist das AS/400-Feld als Datum-Feld deklariert ?
    Wenn es nur als Zahlfeld definiert ist (decimal 8,0) kann Access es nicht als Datumsfeld verwenden. Access verwendet intern immer einen Double-Wert, der vom ODBC-Treiber in das entsprechende Datumsformat übersetzt wird.
    Überprüfen Sie ggf. in der ODBC-Einstellung die Registerkarte Datum/Zeit für das Datum-Format (*ISO, ...) und Datum-Trennzeichen.
    Dies muss mit Ihrem Gebietsschema auf dem PC übereinstimmen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Henrik Motzkus Besucher/Guest

    Post

    Achso ich hatte vergessen zu sagen, daß ich das per automatische Parameterabfrage immer neu eingeben will.

    @Fuerchau:
    Das Datum auf der AS/400 ist als Datumsfeld deklariert. ( 8, L )

    Ich habe die Standarteinstellungen für die ODBC-Verbindung testhalber auf das Format gestellt, das im Gebietsschema steht. In diesem Falle(*EUR). Als Parameter geben ich in der Abfrage 20.11.2001 ein. Immernoch Fehler:" ODBC: Daten außerhalb des Bereichs."

  4. #4
    Registriert seit
    Jan 2001
    Beiträge
    304

    Exclamation

    Hallo Henrik,
    ist sichergestellt, dass in dem Datumsfeld auf der AS400 auch immer ein gültiger Datumswert steht? Der ODBC hat in jedem Fall Probleme bei einem Datum 00.00.0000 - Ein leeres Datumsfeld muss zumindestens den Wert 01.01.0001 bringen, sonst stolpert der ODBC.
    Gruss Reinhold
    R.Schreiber

  5. #5
    Henrik Motzkus Besucher/Guest

    Post

    @Reinhold:
    Die Datei auf der AS400 wird mittels Query ständig gefüllt. Es ist in jedem Feld ein gültiger Datumswert.


  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.246

    Post

    Wenn ich die Definition "DATE04 date(date03) 8 L" richtig verstehe, ist DATE04 aus DATE03 berechnet !
    In diesem Fall ist dies ein Nur-Lese-Feld und kann daher NICHT geändert werden !
    Das änderbare Feld ist dann nähmlich DATE03 !
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  7. #7
    Henrik Motzkus Besucher/Guest

    Post

    Das ist korrekt. Das Feld bastel ich mir aus verschiedenen Strings zusammen und mache mit der "date"-Funktion in Query ein Datumsfeld daraus.
    Ich möchte allerdings nichts in das Feld schreiben, sondern es nur lesen. Mittels Access, verknüpfter ODBC Tabelle und einer Abfrage habe ich die Möglichkeit Kriterien für die Auswertung abfrage zu lassen. Und für dieses Feld möchte ich einen Wert eingeben, so daß mir Access eine Abfrage mit den eingegebenen Kriterium rausschmeißt.

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.246

    Post

    Da MS/Access versucht, jede Abfrage als Dynaset zu öffnen, besteht das Problem ggf. hierin, da Dyneset's immer I-O geöffnet werden. Über die Eigenschaften ändern Sie die Abfrage mal auf Typ Snapshot. Vielleicht gelingt es ja dann, da Snapshots nicht änderbar sind.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  9. #9
    Registriert seit
    Jan 2001
    Beiträge
    133

    Post

    Hi zusammen,

    für mich haben Datumsfelder in der AS/400 (Definition Art : L ) irgendwie immer 10 Zeichen. Zwar hat die Angabe der 8 Stellen eine Verkürzung zur Folge, aber die DB arbeitet weiterhin mit 10 Zeichen. (meines Wissens immer *ISO) Also einfach mal testen, ob nicht die Angabe im Format '2002-06-04' zum Erfolg führt. Der bisher von dir übergebene 8 stellige Parameter wäre nämlich bei 10 Stellen zu kurz und somit tatsächlich ausserhalb des gültigen Bereichs. Manchmal liegt es auch an den Hochkommata bei der Parameterangabe, auch dabei verhalten sich Parameter oft unterschiedlich. ( Mal mit - Mal ohne )

    Thomas

Similar Threads

  1. MS Access ODBC mit JOIN: SQL FEHLER666
    By olafu in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 05-10-06, 08:13
  2. ACCESS mit Unterformularen per ODBC
    By Armin in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 07-09-06, 11:18
  3. ODBC Zugriff über Access Null-Values
    By Bernd Wiezroek in forum IBM i Hauptforum
    Antworten: 9
    Letzter Beitrag: 27-04-06, 15:47
  4. Client Access ODBC Driver ...
    By bode in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 22-12-05, 16:12
  5. MS Access Zugriff via ODBC auf iSeries Tabellen
    By Rico in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 21-03-05, 09:43

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •