Excel Forum - Porady, Pomoc,  Excel Help, Excel FAQ Strona Główna
 FAQ  RegulaminRegulamin  Szukaj   Użytkownicy   Grupy   Rejestracja   Profil   Twoje wiadomości   Zaloguj 


Poprzedni temat «» Następny temat
ID tematu: 67667 Skopiuj do schowka msaccess.exe wisi w procesach (excel -> access via DAO)
Autor Wiadomość
Matuzam 
Exceloholic


Wersja: Win Office 2016
Pomógł: 25 razy
Posty: 167
Wysłany: 29-03-2020, 18:18   msaccess.exe wisi w procesach (excel -> access via DAO)

Hej,
ma irytujący problem przy komunikacji z bazą accdb przy wykorzystaniu DAO. Po wykonaniu proces msaccess.exe wisi w procesach. Generalnie samo w sobie nie jest to problemem, ale:
a. jeśli spróbuję otworzyć bazę access ręcznie to otwiera się jako "ukryta" - muszę zabić proces i potem otwiera się już poprawnie,
b. po zabiciu procesu przy próie uruchomienia makra pojawia błąd 462 The remote server machine does not exist or is unavaible. Co ciekawe jak odpalę makro po raz kolejny to błędu nie ma.

Zamknięcie DAO.workspace i DAO.database przez close nie rozwiązuje problemu.

Kod:
Private Sub test_kwerendy_DAO()
Dim wrkspc As DAO.Workspace
Dim db As DAO.Database
Dim qdf As DAO.QueryDef
Dim rs As DAO.Recordset

Set wrkspc = Access.DBEngine(0)
Set db = wrkspc.OpenDatabase(ACCESS_PATH_DAO, False, False, "MS Access")


    Set qdf = db.QueryDefs("kwer1")
    With qdf
        .Parameters("param") = "a"
        Set rs = qdf.OpenRecordset()
    End With
    ActiveCell.CopyFromRecordset rs
   
    rs.Close
    qdf.Close
    db.Close
    wrkspc.Close
    Set rs = Nothing
    Set qdf = Nothing
    Set db = Nothing
    Set wrkspc = Nothing

End Sub
ID posta: 384475 Skopiuj do schowka
 
 
Matuzam 
Exceloholic


Wersja: Win Office 2016
Pomógł: 25 razy
Posty: 167
Wysłany: 30-03-2020, 13:02   

Udało mi się znaleźć rozwiązania (co prawda nie rozumiem cały czas czemu problem w ogóle występował), więc zapisuję - może się komuś przyda:

Usunąć z referencji: "Microsoft Access 14.0 Object Library" oraz "Microsoft DAO 3.6 Object Library"

Dodać: "Microsoft Office 14.0 Access Database Engine Object Library"

Kod zmienić z:
Kod:
Set wrkspc = Access.DBEngine(0)
Set db = wrkspc.OpenDatabase(ACCESS_PATH_DAO, False, False, "MS Access")


na

Kod:
Set wrkspc = DBEngine.Workspaces(0)
Set db = wrkspc.OpenDatabase(ACCESS_PATH_DAO, False, False)


Zaczerpnięte z forum social.msdn.microsoft.com (nie wiem czy można dawać zewnętrzne linki, więc nie wklejam).
ID posta: 384523 Skopiuj do schowka
 
 
umiejead 
Excel Expert


Wersja: Win Office 2013
Pomógł: 720 razy
Posty: 3878
Wysłany: 30-03-2020, 16:34   

Z naszego Forum i z M$ można.
.
_________________
.
Jak poprawnie opisać problem: http://www.excelforum.pl/...ika-vt59262.htm
Chcesz precyzyjną odpowiedź - zadaj precyzyjne pytanie.
ID posta: 384543 Skopiuj do schowka
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Theme xandgreen created by spleen& Programosy modified v0.3 by warna
Opieka techniczna www.marketingNET.pl

Archiwum

Strona używa plików cookies.

Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przeglądarce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.
Sprawdź, w jaki sposób przetwarzamy dane osobowe