2012-12-21 31 views
6

Mam aplikację VBA MS Access 2007 działającą w systemie Windows 7. Jedną z kluczowych funkcji jest przesyłanie plików do WebDAV serwer. Poniższy kod działa doskonale na jednym komputerze, ale kończy się niepowodzeniem na innych komputerach (i tak, każdy jest skonfigurowany w ten sam sposób).Załaduj plik ADODB dla Web-DAV "nie można znaleźć żadnych obiektów ani danych zgodnie z nazwą ..."

Oto tłumaczenie translate.google.com komunikatu o błędzie Norwegion, które pojawia się, gdy nie powiedzie się na innych komputerach:

Run-time error '-2147217895 (80040e19)': can not find any objects or data in accordance with the name, range or selection criteria within the scope of this operation

To nie działa na tej linii kodu:

objRecord.Open fil, "URL=" & URL, adModeReadWrite, adCreateOverwrite, adDelayFetchStream, sUsername, sPwd

Pełny kod funkcji znajduje się poniżej. To naprawdę po prostu ponowne użycie kodu pod numerem http://social.msdn.microsoft.com/Forums/en-US/isvvba/thread/26b8e905-33d0-438b-98a7-bb69053b931e/. Wszelkie wskazówki będą mile widziane!

Function DAVPUT(ByVal URL As String, ByVal fil As String) As Boolean ' 
    Dim sUsername As String 
    Dim sPwd As String 
    sUsername = "[email protected]" 
    sPwd = "dummy" 

    Dim objRecord As New ADODB.Record 
    Dim objStream As New ADODB.Stream 

    objRecord.Open fil, "URL=" & URL, adModeReadWrite, adCreateOverwrite, adDelayFetchStream, sUsername, sPwd 
    objStream.Type = adTypeBinary 
    objStream.Open objRecord, adModeWrite, adOpenStreamFromRecord 
    objStream.LoadFromFile fil 
    objStream.Flush 
    DoEvents 
    objStream.close 
    objRecord.close 

    DAVPUT = True 

End Function 

Odpowiedz

1

This post sugeruje "porównać wersje MDAC lokalnego i zdalnego". Zdaję sobie sprawę, że oferuję minimalną, niedorzeczną odpowiedź, ale skoro nie ma innych, oto ona.