[NEWSboard IBMi Forum]
Seite 1 von 4 1 2 ... Letzte
  1. #1
    Registriert seit
    Jul 2008
    Beiträge
    29

    Red face Syntax Fehler bei Eingabe der Datensätze ( ODBC ) von AS 400

    Guten Tag

    Kann mir bitte jemand helfen?

    Im Microsoft Query kann ich bei den Datensätzen, Datum hinzufügen, das Datum nicht kürzen, da ich sonst zu viele Daten erhalte. Wie kann ich es eingrenzen?

    IST Beispiel: MWOPTR00.DJTRDT entspricht den Daten 20080101

    Soll Beispiel: MWOPTR00.DJTRDT ?? es sollen jedoch nur die Daten 200801 erscheinen!

    Vielen Dank für Ihre MITHILFE

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    In SQL lautet die Abfrage:

    MWOPTR00.DJTRDT between 20080101 and 20080131

    Rufe die SQL-Sicht auf und ändere die Abfrage entsprechend.
    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
    Registriert seit
    Jul 2008
    Beiträge
    29

    'Syntax Fehler bei Eingabe der Datensätze ( ODBC ) von AS 400'

    Guten Tag

    Als Beispiel, wenn ich einen Wechselkurs in Umrechnen will, kann ich einfach die Datei Umsatz * Datei Wechselkurs und ich bekomme direkt das Ergebnis. Wie kann ich jedoch das Datum von 8 auf 6 Stellen kürzen?

    Vielen Dank für Ihre Hilfe

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Das geht auch mit berechnen:

    int(DJTRDT / 100)
    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

  5. #5
    Registriert seit
    Jul 2008
    Beiträge
    29

    Datum umwandeln, damit es Excel erkennt ( in Digits [UCDLDT]

    Guten Tag

    Wie kann ich folgenden SQL Link in ein Datum umwandeln, den das Excel kennt?

    SELECT OSBSTD.UCDLDT
    FROM CHBRU032.ZVXBDTA220.DOLINE DOLINE, CHBRU032.ZVXBDTA220.MITMAS MITMAS, CHBRU032.ZVXBDTA220.OCUSMA OCUSMA, CHBRU032.ZVXBDTA220.OOLINE OOLINE, CHBRU032.ZVXBDTA220.OSBSTD OSBSTD
    WHERE OSBSTD.UCCUNO = OCUSMA.OKCUNO AND MITMAS.MMITNO = OSBSTD.UCITNO AND OSBSTD.UCORNO = OOLINE.OBORNO AND OOLINE.OBPONR = OSBSTD.UCPONR AND DOLINE.EBCONO = OSBSTD.UCCONO AND OSBSTD.UCORNO = DOLINE.EBORNO AND DOLINE.EBPONR = OSBSTD.UCPONR AND DOLINE.EBPOSX = OSBSTD.UCPOSX AND DOLINE.EBDLIX = OSBSTD.UCDLIX AND ((OSBSTD.UCCONO=220) AND (OSBSTD.UCDLDT Between ? And ?))

    Besten Dank für Ihre Antwort

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Ein numerisches Datum kann nur per Cast umgewandelt werden:

    date(substr(digits(numdate), 1, 4) concat '-' concat substr(digits(numdate), 5, 2) concat '-' concat substr(digits(numdate), 7, 2))

    Für die Abfrage, wenn der Parameter ein Datum ist musst du umgekehrt arbeiten:

    year(?) * 10000 + month(?) * 100 + day(?)

    Hierbei ist natürlich das Problem, dass für jedes "?" ein Parameter übergeben werden muss.

    Ab V5R3 geht auch folgendes für Datum nach JJJJMMTT:

    dec(replace(char(?, iso), '-', ''))

    Für Decimal nach Datum gibts leider keinen neuen Weg.
    Alternativ kannst du dir auch eigene SQL-Funktionen für dieses Problem schreiben.
    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
    Registriert seit
    Jul 2008
    Beiträge
    29
    Guten Tag

    Ich hätte noch 2 andere Fragen:

    Ist es auch möglich, vom Excel aus direkt Parameter zu setzen, ohne in den Microsoft Editor zu gehen?

    Gibt es ausser Access noch eine andere Lösung, wenn man zuviele Daten hat, ausser über Parameter zu gehen?

    Das Problem ist, wir haben kein DWH und erstellen momentan unsere Reports auf diese "Primitive" Art, jedoch stossen wir aber langsam sicher an ein kapazitätsproblem.

    Besten Dank für Deinen Feedback
    Gruss Sven

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Wenn du in der Abfrage "?" verwendest, kannst du nach Fertigstellung der Abfrage die Parameter über den Eigenschaftendialog innerhalb von Excel einzelnen Zellen zuordnen.
    Je nach Excel-Version (2000-2007) sind die Einstellungen an verschiedenen Stellen.
    Zusätzlich kannst du auch einstellen, dass die Daten beim Öffnen des Excel's automatisch aktualisiert werden.
    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
    Jul 2008
    Beiträge
    29
    Besten Dank für Deinen Feedback.

    Gerne möchte ich nochmals auf das "Datum Problem" zurück kommen.

    Ich habe es in einer Excel Tabelle mit SVERWEIS gelöst. Gibt es im Excel eine möglichkeit einen Text in ein Datum umzuwandeln?

    Bsp. 20090101 (ist Text vom Microsoft Editor ) umwandeln in 2009.01.01 ( Datum )

    Hier hatte ich ein Problem und musste alle Daten manuell nachpflegen. Hinter jedem Datum ist ja ein Wert hinterlegt.

    Danke nochmals für Deinen Feedback

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Da ist Excel nicht ganz so flexibel.
    Besser wäre es, wenn du in der Abfrage per DATE(...), s.o., direkt ein Datum bekommen würdest.
    Ansonsten sind folgende Funktionen Hilfreich:

    =DATWERT(TEXT(Zellbezug;"0000-00-00"))

    Jetzt musst du die Zelle nur noch als Datum formatieren.

    Excel speichert Datumwerte immer als Zahl seit 30.12.1899 (2 = 1.1.1900)
    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

  11. #11
    Registriert seit
    Jul 2008
    Beiträge
    29
    vielen Dank

    Könntest Du mir noch weiterhelfen, wie ich ein Datum 09.09.2009 in einen Text 09092009 umwandeln kann?

    Wirklich super Deine HILFE danke.

    Gruss Sven

  12. #12
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Du könntest ja ganz einfach mal die Hilfe von Excel bemühen

    =TEXT(A1;"ttMMjjjj")
    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

Similar Threads

  1. SQL left join
    By ahingerl in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 08-12-06, 08:28
  2. SQL UDF Function ausführung mit Fehler
    By jakarto in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 24-07-06, 13:41
  3. AS 400 MSG Problem
    By kroehn in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 06-06-06, 16:14
  4. ODBC Verbindungs Fehler (-7778)
    By Hubert in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 10-05-06, 09:41
  5. Formularanpassung Drucker mit AS 400
    By andrea in forum NEWSboard Drucker
    Antworten: 2
    Letzter Beitrag: 23-04-04, 10:55

Berechtigungen

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