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 ??
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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...
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?
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.
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
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 :-))
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.
Synes godt om
Ny brugerNybegynder
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.