Avatar billede flyver23 Nybegynder
19. december 2008 - 15:09 Der er 4 kommentarer og
2 løsninger

Importer data og afbryd låsning af kilden

Hej Eksperter. (Har forsøgt tidligere uden svar. Har nu hævet antal point)
Jeg har et regneark(A) hvori jeg vil importere data fra et andet regneark(B).
Problemet er at når jeg importerer fra B til A, så er B låst indtil jeg lukke A.
Er der nogen måde hvor jeg undgår denne låsning.
Jeg ønsker kun at importere et øjebliks billede af indholdet i B.

Min forbindelses forespørgsel ser sådan ud.
Jeg har forsøgt med forskellige Mode="XX" uden held. Er der andet man kan gøre?

Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=T:\TrafikTal\BRONET\Excel\uger.xls;Mode=ReadWrite;Extended Properties="HDR=YES;";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Engine Type=35;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False

Hilsen Flyver23
Avatar billede peejay Nybegynder
20. december 2008 - 00:39 #1
Du er velkommen til at give os et kald - se www.exacto.dk.

pj
Avatar billede mrkr Juniormester
20. december 2008 - 11:45 #2
Jeg bruger selv denne og den låser ikke filen.
Du skal selv rette den lidt til alt efter hvad dine ark hedder.


Sub importer()
If MsgBox("Er du sikker på at du vil importere data?", vbOKCancel, "Advarsel!") = vbCancel Then Exit Sub
On Error Resume Next
Dim wb As Workbook
Set wb = Workbooks.Open("T:\TrafikTal\BRONET\Excel\uger.xls", True, True)

Application.StatusBar = "Importerer data"

    With ThisWorkbook.Worksheets("ark1") 'rettes til det navn dit ark har i det ark du allerede har åbent
        .Range("a1:q100").Formula = wb.Worksheets("ark1").Range("a1:q100").Formula ' ret til område der skal kopieres samt arknavn i kildefilen
    End With
   
    wb.Close False
    Set wb = Nothing
    Application.ScreenUpdating = True
    Application.EnableEvents = True

Application.StatusBar = "Importen er færdig!"
MsgBox "Importen er færdig!"
Application.StatusBar = ""
End Sub
Avatar billede bak Forsker
22. december 2008 - 11:36 #3
Jeg har kigget lidt på problemet, fordi det samme kan ske, hvis man henter data fra access via oledb. Så kan man komme til at låse databasen.

Det, jeg er kommet frem til, er ikke at bruge oledb, men enten ODBC eller microsoft query. Disse låser ikke noget.
ODBC finder du under "Data / Fra andre kilder / Fra guiden dataforbindelse / ODBC DSN / excel filer

Microsoft Query findes "Data / Fra andre kilder / Microsoft Query / excel filer

Efter min mening er Microsoft Query den bedste mulighed idet den giver meget bedre redigeringsmuligheder, samt muliggør join af flere tabeller fra samme regneark / Database.
Avatar billede flyver23 Nybegynder
22. december 2008 - 13:11 #4
Super.
Så blev det jul alligevel.
Jeg har forsøgt med begge forslag, og kan få det til at fungere. Smid et svar, og i får begge 100 point. Grunden til at bak får point selvom han var senere på den er at hans løsning umiddelbart er nemmere at anvende.
Tak for hjælpen.
Vh Flyver23
Avatar billede mrkr Juniormester
22. december 2008 - 13:32 #5
Jeg har et svar her :-)
Avatar billede bak Forsker
22. december 2008 - 14:02 #6
også et svar :-)
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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