ronnyaa Skrevet 2. mai 2006 Del Skrevet 2. mai 2006 (endret) Hei. Har blitt kastet ut på dypt vann her på jobb for tiden, så det blir en del DB spørsmål fra meg i tiden framover. Vi eksporterer lønnsdata fra Access til Anabas lønnssystem via en liten prosedyre som ser slik ut : Private Sub Overfør_timer_til_lø_Click() On Error GoTo Err_Overfør_timer_til_lø_Click Dim DocName As String DocName = "abtidint_dat" DoCmd.OutputTo A_REPORT, DocName Exit_Overfør_timer_til_lø_Click: Exit Sub Err_Overfør_timer_til_lø_Click: MsgBox Error$ Resume Exit_Overfør_timer_til_lø_Click End Sub Det som er problemet her er at vi må gjøre dette på en maskin som har office 97 installert for å få filen til å bli rett ( slik at den kan importeres ) Når vi eksporterer fra 97 maskinen blir det seende slik ut : 100000000071032006 158,00 100000000072032006 14,50 100000000122032006 7,00 Og når vi eksporterer fra office 2003 blir det slik : 1000000 07 02/2006 158,00 1000000 07 02/2006 14,50 00 2 1000000 12 02/2006 7,00 00 2 Så hvis noen har ett godt forslag til hvordan man kan spesifisere filtypen som blir eksporter litt nærmere mottas dette med stor takk. MVH Ronny Endret 13. juni 2006 av ronnyaa Lenke til kommentar
ravika Skrevet 2. mai 2006 Del Skrevet 2. mai 2006 Vet ikke hvordan Anabas vil ha dataene, men for å eksportere en tabell eller spørring til .xls format, kan du bruke denne koden: Private Sub Overfør_timer_til_lø_Click() DoCmd.OutputTo acOutputQuery, "SPØRRINGNAVN", acFormatXLS, CurrentProject.Path & "\" & "FILNAVN.xls", False End Sub Her bytter du selvfølgelig ut SPØRRINGNAVN med navnet på spørringen din, og FILNAVN med hva du vil kalle den eksporterte filen. Den eksporterte filen legges på samme plass som databasen, men dette kan endres ved å bytte ut Path med url'en til mappen du vil legge filen i. Lenke til kommentar
ronnyaa Skrevet 2. mai 2006 Forfatter Del Skrevet 2. mai 2006 Det er greit da. Som jeg sa lengre opp, i boks 1 er det formatet anabas vil ha dataene, i boks to er det slik det blir seende ut når man bruker access 2003. Å finne ut hvordan man automaisk konverterer til excel er ikke så vanskelig, men å få det rette tekstformatet er litt værre. Ronny Lenke til kommentar
ravika Skrevet 2. mai 2006 Del Skrevet 2. mai 2006 Å finne ut hvordan man automaisk konverterer til excel er ikke så vanskelig, men å få det rette tekstformatet er litt værre. Hvilket format er det programmet bruker da? Slik det ser ut i din første post, kan du jo bare slå sammen de tre første kollonene til en for å få 100000000071032006 fra 1000000 07 02/2006 Eller? Lenke til kommentar
ronnyaa Skrevet 2. mai 2006 Forfatter Del Skrevet 2. mai 2006 Tja, er ikke sikker på hva man kan kalle formatet for er vel en slags type dos fil format. Som sagt, i access97 blir det slik som i det første eksempelet, og i access 2003 blir det som i eksempel 2. Å gjøre mye etterarbeide er ikke særlig aktuelt da disse som arbeider med dette til vanlig ikke er noen dataguruer. Vi snakker her om en mnds arbeide for ca 80 stykker, så den som vi redigere tekstfiler er det bare å fyre løs.. hehe Lenke til kommentar
ravika Skrevet 2. mai 2006 Del Skrevet 2. mai 2006 Å gjøre mye etterarbeide er ikke særlig aktuelt da disse som arbeider med dette til vanlig ikke er noen dataguruer.Vi snakker her om en mnds arbeide for ca 80 stykker, så den som vi redigere tekstfiler er det bare å fyre løs.. hehe Mente selfølgelig at du slår sammen kolonenne i spørringen i Access. F.eks med [Kol1] & [Kol2] & (Left([Kol3];2) & Right([Kol3];4)) Hvor Kol1, Kol2 og Kol3 er navnet på feltene som inneholder de tre datatypene du vil slå sammen? Er ikke sikker på hvordan spørringen som inneholder dataene ser ut, men regner med den er delt i 4 kolonner, og det er derfor du får følgende når du eksporterer: Kol1 Kol2 Kol3 Kol4 1000000 07 02/2006 158,00 1000000 07 02/2006 14,50 Stemmer dette? Lenke til kommentar
ronnyaa Skrevet 2. mai 2006 Forfatter Del Skrevet 2. mai 2006 Hvis jeg klarer å få bort "/" i kolonne 3, så skulle jeg være berget Lenke til kommentar
ravika Skrevet 2. mai 2006 Del Skrevet 2. mai 2006 Hvis jeg klarer å få bort "/" i kolonne 3, så skulle jeg være berget Ja, det er jo akkurat det den koden jeg postet isted gjør: (Left([Kol3];2) & Right([Kol3];4) Lenke til kommentar
ronnyaa Skrevet 2. mai 2006 Forfatter Del Skrevet 2. mai 2006 Skal teste dette når jeg kommer på jobben i morgen, beklager at jeg ikke helt forstod hva du mente med det samme Har ikke holdt på med VB koding på minst 6 år.. hehe Lenke til kommentar
ravika Skrevet 2. mai 2006 Del Skrevet 2. mai 2006 Skal teste dette når jeg kommer på jobben i morgen, beklager at jeg ikke helt forstod hva du mente med det samme Har ikke holdt på med VB koding på minst 6 år.. hehe 6029870[/snapback] Var da ikke en VB-kode jeg postet heller... Men koden for å sette inn i raden "Felt:" i utformingsvisning for spørringen i access. SQL-koden for det samme blir da: SELECT (Left([Kol3],2) & Right([Kol3],4)) AS Kolonne3 Lenke til kommentar
ronnyaa Skrevet 2. mai 2006 Forfatter Del Skrevet 2. mai 2006 .... som sagt..... vb... access...sql... long time no see.... Det er en grunn til at jeg kommer hit å spør om det. Lenke til kommentar
ronnyaa Skrevet 12. juni 2006 Forfatter Del Skrevet 12. juni 2006 Sånn, nå har jeg omsider fått tid til å gjøre noe videre med dette. Jeg har valgt å gå en litt annen vei enn hva jeg opprinnelig hadde for å løse dette. Nå har jeg bare ett par småproblem igjen før det blir som det skal være. Har valgt å eksportere via følgende VB kode : DoCmd.TransferText acExportDelim, , "qryTil_lønn", "c:\tekst.txt", False, "" Dette blir behandlet i schema.ini, som ser slik ut : [timeliste.txt] ColNameHeader=False MaxScanRows=1 Format=FixedLength CharacterSet=OEM Det som kommer ut ser ut som følgende : "100000000071012006 22,5" "100000000122012006 5" "100000000286012006 0,5" "101000000041012006 2" "101000000071012006 20,5" Problemet nå blir å dataene som kommer ut (ønsker at det blir satt to siffer på alle), samt unngå at det blir satt i anførsel. Så dersom noen har tips til hvordan det kan løses blir det satt stor pris på :-) Lenke til kommentar
ravika Skrevet 12. juni 2006 Del Skrevet 12. juni 2006 Sånn, nå har jeg omsider fått tid til å gjøre noe videre med dette. Jeg har valgt å gå en litt annen vei enn hva jeg opprinnelig hadde for å løse dette. Nå har jeg bare ett par småproblem igjen før det blir som det skal være. Har valgt å eksportere via følgende VB kode : DoCmd.TransferText acExportDelim, , "qryTil_lønn", "c:\tekst.txt", False, "" Dette blir behandlet i schema.ini, som ser slik ut : [timeliste.txt] ColNameHeader=False MaxScanRows=1 Format=FixedLength CharacterSet=OEM Det som kommer ut ser ut som følgende : "100000000071012006 22,5" "100000000122012006 5" "100000000286012006 0,5" "101000000041012006 2" "101000000071012006 20,5" Problemet nå blir å dataene som kommer ut (ønsker at det blir satt to siffer på alle), samt unngå at det blir satt i anførsel. Så dersom noen har tips til hvordan det kan løses blir det satt stor pris på :-) 6291072[/snapback] For å bli kvitt anførselstegnene er du nødt til å sette opp en spesifikasjon for eksport fra Access. Dette gjøres i noen enkle steg:Velg spørringen du skal eksportere qryTil_lønn, og på Fil menyen velger du Eksporter... Da vil du få åpnet en dialog som ber deg velge hvor du vil lagre filen. I denne er det viktig at du under filtype velger Tekstfiler. Trykk så på Eksporter for å åpne veiviser for teksteksport. Denne veivisereen er ikke noe du i dette tilfellet ønsker å fullføre, det du istedet skal gjøre er å trykke på knappen for Avansert... Da vil du bli presentert for enrekke valg om hvordan utseende på dataene som skal eksporteres skal være. For å fjerne anførselstegnene velger du at Tekstkvalifikator er {ingen}. Fullfør så med å velge Lagre som. Når du har lagret valgene trenger du ikke gå gjennom resten av veiviseren og trykker bare to ganger på Avbryt. Når du så har gått gjennom hele prosessen og lagret en spesifikasjon for teksteksport må du endre litt på koden for eksport av spørringen. Da vil koden bli slik: (Bytt ut ExportLønn med det du lagret spesifikasjonen som) DoCmd.TransferText acExportDelim, "ExportLønn", "qryTil_lønn", "c:\tekst.txt", False Lenke til kommentar
ronnyaa Skrevet 13. juni 2006 Forfatter Del Skrevet 13. juni 2006 (endret) Kjempegreier dette, tydelig at du har holdt på en del med dette. Da trenger jeg bare ett lite tips til for at det skal fungere perfekt. Har pratet med utviklerne av lønnsystemet, og de sier at det kreves ett visst antall mellomrom mellom det første og det andre feltet, har du noen tips til hvordan jeg kan løse det ? Har bare fått satt ett mellomrom, og jeg trenger 4. Lar seg vel muligens løse om jeg setter inn ett "tomt" felt muligens. Det andre problemet er at antall timer (felt to) må være høyrejustert, tips til det ? Her er hvordan det ser ut nå : 10000000007112006 22,50 10000000012212006 5,00 10000000028612006 0,50 10100000004112006 2,00 10100000007112006 20,50 EDIT : Fant en løsning som ordnet opp i dette problemet Tusen takk til t0my for mange meget bra innspill Endret 13. juni 2006 av ronnyaa Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå