Avatar billede Jørgen Kirkegaard Professor
19. april 2018 - 01:28 Der er 13 kommentarer og
1 løsning

Gen-linke til .xls-tabel

Jeg linker i Access til en tabel i xls-format, hvad det så end er. Dette virker fint,  men JEG SKAL HAVE VÆRET INDE I EXCEL MED DEN FØRST!!

Mit program henter en ny version af xls-filen fra nettet hver dag (via powershell wget) og kopierer til samme navn, så Access burde linke til den nye fil.

Jeg har uden held prøvet at omdøbe filen til .xlsx eller .csv. En reboot hjælper heller ikke. Jeg har lavet en ny "rigtig" excel-fil med .xlsx og har linket data fil xls-filen. Dette virker også, indtil jeg kopierer ny fil ind.

Kan man "re-linke"? Eller konvertere en excel-fil fra .xls-format til .xlsx-format, altså i prompt-mode. Jeg har ikke kunnet finde det nogen steder.

Any clues?
19. april 2018 - 08:57 #1
Kan ikke lige reproducere opførslen.
Hvilken version af Access?
Hvor kommer denne xls fil fra?
Noget kunne tyde på at den ikke er helt ren.
Har du prøvet at opdatere forbindelsen via "Styring af sammenkædede tabeller"?
Avatar billede terry Ekspert
19. april 2018 - 10:41 #2
You could try deleting the table (linked) and then it again.

CurrentDb.Execute "DROP TABLE tbl1"

DoCmd.TransferSpreadsheet acLink, acSpreadsheetTypeExcel9, "tbl1", "C:\DATA\TEST\ExcelFile.xls"

Other parameters to TransferSpreadsheet:
https://msdn.microsoft.com/en-us/vba/access-vba/articles/docmd-transferspreadsheet-method-access
Avatar billede terry Ekspert
19. april 2018 - 10:42 #3
You could try deleting the table (linked) and then linking it again.
Avatar billede Jørgen Kirkegaard Professor
20. april 2018 - 20:00 #4
Thor: Du kan prøve at hente xls-filen. Jeg beskriver dens placering her: https://www.computerworld.dk/eksperten/spm/1022970. Det er nyeste Access.
Terry: Det hjælper jo desværre ikke, når jeg ikke en gang kan gøre det manuelt. Jeg skal åbne xls-filen først.

Jeg har i  stedet prøvet convert-vejen, men Microsoft stopper support af denne i denne måned!

Jeg har så fundet en xls2xlsx-converter på nettet, som faktisk virker på min private computer. Er jeg paranoid, hvis jeg ikke tør bruge den på produktionsserveren? Det er denne: https://www.coolutils.com/TotalExcelConverter
20. april 2018 - 21:42 #5
https://www.computerworld.dk/eksperten/spm/1022970
Siden blev ikke fundet
Prøv eventuelt vores søgning for at finde det du leder efter.
Avatar billede Jørgen Kirkegaard Professor
21. april 2018 - 02:08 #6
Ja, der kom liiii et punktum for meget med i adressen, professor :-D
21. april 2018 - 06:13 #7
Så det det sekund jeg klikkede opret...

Mit bud er, at den xls fil du henter ikke helt overholder fil-standarden.

Sub Excelkonvert()
    Dim exlApp As Excel.Application
    Set exlApp = New Excel.Application
    With exlApp
        .Workbooks.Open "c:\temp\indexPerf.xls"
        .DisplayAlerts = False
        .ActiveWorkbook.SaveAs "c:\temp\indexperf.xlsx"
        .DisplayAlerts = True
        .ActiveWorkbook.Close False
    End With
    exlApp.Quit
    Set exlApp = Nothing
End Sub


Kan bruges inde fra Access til at konvertere den hentede xls fil til en xlsx fil, der kan indlæses i Access.

Opret et modul i Access VBA
Indsæt koden
Opret reference til Excel Excel xx Object Library via Tools | References
Avatar billede Jørgen Kirkegaard Professor
21. april 2018 - 17:29 #8
Perfekt! 1000 tak!
En ting undrer mig, men det har ingen indflydelse på min løsning:
Den skipper de to øverste linjer....
21. april 2018 - 18:46 #9
Hvad mener du med "skipper"?
Avatar billede Jørgen Kirkegaard Professor
21. april 2018 - 19:57 #10
sletter...
Avatar billede Jørgen Kirkegaard Professor
21. april 2018 - 19:59 #11
De er blanke, så derfor gør ikke noget ift min løsning.
Avatar billede Jørgen Kirkegaard Professor
21. april 2018 - 20:00 #12
* De er blanke, så derfor gør DET ikke noget ift min løsning.
21. april 2018 - 20:14 #13
Beklager - forstår stadig ikke helt, men hvis det er fint med dig er det også fint med mig.
Avatar billede Jørgen Kirkegaard Professor
21. april 2018 - 21:23 #14
Det er sikkert fordi, at det faktisk ikke var i Excel, det er i Access, at de to øverste linjer ikke kommer med :-/. Men det er som sagt ok.
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

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