2014-10-06 74 views
0

错误。描述: 无法找到一个对象或数据匹配的名称,沙滩或选择标准范围内这个操作。Win7上的记录错误,而不是Win XP(运行时错误-2147217895(80040e19))

我在Windows 7上运行代码时出现此错误。它不出现在Windows XP上。 我看了这个article,没有运气。以下是代码:

Public Function testLL() 

Dim rc As New ADODB.Record 
Dim rs As New ADODB.Recordset 
Dim conn As ADODB.Connection 
Dim objStream As New ADODB.Stream 
Dim sURL As String 

sURL = "http://livelink.company.com/livelinkdav/nodes/154680737/" 

rc.Open sURL, , adModeReadWrite 

Set rs = rc.GetChildren 

If Not (rs.BOF And rs.EOF) Then 
    rs.MoveFirst 
    MsgBox rs.Fields(1).Value 

End If 

End Function 

有些人提出这是MDAC版本的问题。我可以检查Windows 7上的版本,但是我需要XP上的管理员权限,因此我无法验证版本是否相同。

回答

0

我尝试了另一个选项,它在我尝试连接到livelink时正常工作,但当我尝试使用Content Server时,它不起作用。我仍然使用LiveLink进行测试。

我改变了/在SURL到\:

sURL = "\\livelink.ge.hydro.qc.ca\livelinkdav\nodes\154680737 

Dim objFSO As New Scripting.FileSystemObject 
Dim objFolder As Scripting.Folder 
Dim colFiles As Scripting.Files 
Dim colFolders As Scripting.Folders 

Set objFolder = objFSO.GetFolder(sURL) 
Set colFiles = objFolder.Files 
Set colFolders = objFolder.SubFolders 


MsgBox colFiles.Count 
MsgBox colFolders.Count 

有了这个代码,我可以数清我LiveLink的文件夹中的文件夹和文件,我也能够创建文件夹。尽管如此,我还是希望使用URL,因为由于某些原因,这不适用于Content Server(无法找到路径)。我仍然不知道为什么我以前的代码在Windows XP上运行,而不是在Windows 7上运行。

编辑:可能是因为webdav在64位中默认配置不正确?