Avatar billede jekra Nybegynder
06. november 2004 - 09:59 Der er 7 kommentarer

Kan datoformatet fra AS/400 overføres som en dato til Excel

Jeg importerer til min PC en Query fra AS/400 og har problemer med datoformatet. Det overføres som tekstfelt til Excel. Har prøvet at ændre datoformatet i Query, men uanset hvad der vælges, overføres det som tekstfelt YYYYMMDD. Har nogen en løsning på dette ??
Avatar billede a1a1 Novice
06. november 2004 - 12:35 #1
er det et database udtræk?

så vil du i din sql sætning kunne gøre sådan her:
SELECT DAY(datofelt) + '-' + MONTH(datofelt) + '-' + YEAR(datofelt) AS dkdato WHERE diten og daten...

så vil dkdato have formatet dd-mm-åååå

;o)
Avatar billede jekra Nybegynder
08. november 2004 - 17:21 #2
Hej a1,
nej, jeg importerer de enkelte felter fra AS/400 queryen som en CSV fil.
Anvender IBM PC-Com, og overfører som Ascii fil. Kan det være overførselsprofilen som skal ændres?
Avatar billede a1a1 Novice
08. november 2004 - 17:56 #3
hvad mener du med "AS/400 queryen"?
Avatar billede jekra Nybegynder
08. november 2004 - 18:19 #4
Når jeg danner forespørgslen i AS/400 er denne kolonneopdelt, og i stedet for udskrift "gemmes" queryen i en data-fil, som skal overføres til en PC. Jeg tror problemet måske ligger i AS/400, idet jeg heller ikke kan lave beregninger i denne på antal dage, ved at addere/subtrahere disse "dato-felter" i AS/400. Indenfor samme måned virker det, men ved 2 forskellige mdr. kan AS/400 ikke "tælle" korrekt, så hvis man kan overføre YYYYMMDD som et segment, som Excel kan forstå som en dato og ikke som et tekstfelt.
Avatar billede vivler Nybegynder
13. december 2004 - 10:05 #5
Dato i felter fra AS400 blive typisk lavet som 10 cifret dvs. d 13/12-2004 bliver til 20.041.213. Du kan i din AS400 query under 'definer resultat' lave et felt der f.eks hedder DATOX, i 'udtryk' skriver du digits(datofeltnavn), så får pillet punktum ud af datoværdien, så den ser sådan ud 020041213, men der nu kommet et nul + at datoen ikke ser ud som du vil.
så nu skal du ændre til det format du vil via substring!!Så hvis du vil have der skal der stå 13-12-2004, skal der først laves 3 nye felt. 1 med DG 1 med MD og et med AAR
lav et felt som tidligere som hedder DG og i 'udtryk' skriver du substr(datox, 8, 2) HUSK mellemrum efter komma. resultatet af felt DG = 13. Det samme gør du med MD + AAR
MD  substr(datox, 6, 2) og  AAR  substr(datox, 2, 4)  substring virker sådan at tæller ind fra venstre det første antal karater du har angivet, så tager den det karater + tæller sig selv med igen og tæller næste værdi frem)eks. den sidste angivet substr. vil ud fra digitsværdien 020041213 tage 2004.
nu er du så langt at du kan lave et felt der hedder DATO og i udtryk skrive
DG!!'-'!!MD!!'-'!!AAR!!  så får du en værdi der hedder 13-12-2004
Avatar billede vivler Nybegynder
13. december 2004 - 10:08 #6
Du skal selvfølgelig, så sørge for at det er Felter 'DATO' du nu trækker ud i din query forespørgsel i stedet for gl. feltværdi i 'vælg records' :o)
Også lægger jeg lige et svar i stedet :-))
Avatar billede kjulius Novice
07. januar 2005 - 00:26 #7
Jeg synes der mangler mange oplysninger. F.eks.

Hvilken version af OS/400 drejer det sig om?
Hvordan producerer du din CSV fil - med en CPYTOIMPF kommando?
Hvad er IBM PC-Com, som du omtaler - en gammel version af Client Access?
Har du SQL installeret på din AS/400?
Hvor godt kender du din AS/400 - er du bruger eller system-mand?

Og frem for alt, virkede vivlers metode? Spørgsmålet er ikke lukket, men svaret heller ikke kommenteret/afvist.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester