2012-12-21 24 views
6

Windows 7'de çalışan bir MS Access 2007 VBA uygulamasına sahibim. Önemli bir işlev dosyaları WebDAV'a yüklemektir sunucusu. Aşağıdaki kod bir PC'de mükemmel çalışır, ancak diğer bilgisayarlarda başarısız olur (ve evet, her biri aynı şekilde yapılandırılır). İşte Web-DAV için ADODB ile dosya yükleme "adıyla herhangi bir nesne veya veri bulamıyor ..."

başarısız olduğunda diğer PC'lerde açılır Norwegion hata mesajının bir translate.google.com çevirisidir:

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

Bu kod satırında başarısız:

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

Tam işlev kodu aşağıda. Gerçekten sadece http://social.msdn.microsoft.com/Forums/en-US/isvvba/thread/26b8e905-33d0-438b-98a7-bb69053b931e/ adresindeki kodun yeniden kullanılması. Herhangi bir ipucu çok takdir edilecektir!

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 

cevap

1

This post "Yerel ve uzak MDAC sürümlerini karşılaştırma" öneriyor. Çok az, mükemmel bir cevap teklif ettiğimin farkındayım, ama başkaları olmadığından, işte burada.