View Full Version : 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 :)
In SQL lautet die Abfrage:
MWOPTR00.DJTRDT between 20080101 and 20080131
Rufe die SQL-Sicht auf und ändere die Abfrage entsprechend.
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
Das geht auch mit berechnen:
int(DJTRDT / 100)
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 :)
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.
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
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.
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 :)
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)