Hej Jag kan inte tidsformatet i AS400, men det kan mycket väl vara EBCDIC-värde eftersom IBM ... Hej Hej,Timestamp formattering
Har kopplat en Access (97) databas till en AS400/iSeries tabell via länkade tabeller och ODBC (iSeies Access ODBC)
AS400 tabellen innehåller bla en kolumn som innehåller ett timestampformat yyyy-mm-dd-hh.mm.ss.??????
alltså ner till tiondelar, hundradelar, tusendelar.....mm
I Access försvinner dessa för jag får Datum/tid datatypen och den har inte med mindre enhet än sekunder.
Då kolumnen är nyckel ställer det till med en del problem.
Någon som har en aning om hur jag får med decimaldelen på sekunderna i Access?
/B#Sv: Timestamp formattering
Microsofts datumformat (formaterat datum) tillåter tusendelar av sekunder. Dag är heltal och timmar,
minuter, sekunder och tusendelar är decimaltal. (#yyyy-mm-dd tt:nn.ss,000#), men kanske inte i Access?
1900-01-01 är dag 1 i Ms-Dos.
Idag 2005-02-17 är dag 38400 och talet 38400,5 motsvarar idag kl. 12:00 och 38400,7708333333
är kl. 18:30 precis medan 38400,7708333453 är en tusendels sekund senare.
I Microsoft Access kan du lagra tal (dubbel ) med denna nogrannhet, men om du skall indexera på tusendels, eller 10-tusendels sekund så är det enklare att lagra talet som heltal (fortfarande med datatyp dubbel i MS-Access) - då jobbar MsAccess snabbare. (talet x 10^10)\1
Det finns säkert en konvertering (någonstans) mellan AS400 och MsAccess, annars får du hacka ihop den själv.
not.
Microsoft Excel på Mac-OS har 1904-01-01 som dag 1. En fix för att slippa skämmas en gång till för datumet 29 februari 1900 -dag -60- År 1900 var inte ett skottår!
/Bo NSv:Timestamp formattering
När man definierar en linked severe i SQL-Server (via ODBC) är detta inget problem utan hela fältet blir korrekt konverterat med decimaler.
<b>
...Det finns säkert en konvertering (någonstans) mellan AS400 och MsAccess, annars får du hacka ihop den själv...
</b>
Timestampformatet på AS400'an är (lite slarvigt uttryckt) ett character format så visst en konvertering borde ju gå att göra. Här kommer mina bristande kunskaper i Access in. Finns det möjlighet att påverka konverteringen (via kod) i Access när det är en länkad tabell?
Har tittat på ODBC kopplingen, kan inte se något som skulle påverka formatet på timestampkolumner.
/B#Sv: Timestamp formattering
<b>
... ett character format ...
</b>
bra, då är det bara nyckeln till timestampformatet på AS400'an som behövs.
<b>
... påverka konverteringen (via kod) i Access ...
</b>
Javisst,
1. Skapa en fråga där du tar med alla fält i den länkade tabellen.
2a. I frågans designläge skapar du ytterligare ett fält, och skriver den kod som behövs. Använd uttrycksverktyget (trollstaven) och dess funktioner för att komma igång. Detta är det lätta sättet.
2b. Ett alternativ är att i frågans designläge (SQL) ändra sql-satsen, men varför gära det svårt?
3 Använd (den stängda) frågan i.st.f. den länkade tabellen som grund för för att söka och / eller presentera data från AS400
/Bo N