2014-10-06 4 views
0

오류 설명 : 이름 또는 해변 또는 범위 내에서 선택 기준과 일치하는 개체 또는 데이터를 찾을 수 없습니다. 이 작업.Win XP가 아닌 Win7에서 기록 오류가 발생했습니다. 런타임 오류 -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를 사용합니다.

내가 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을 사용하는 것이 좋을 것입니다. 이유는 무엇인가 (경로를 찾을 수 없음) 컨텐츠 서버에서 작동하지 않기 때문입니다. 여전히 이전 코드가 Windows XP가 아닌 Windows 7에서 작동하는 이유를 모르겠습니다.

편집 : webdav가 64 비트에서 기본적으로 잘 구성되어 있지 않아서 문제가 될 수 있습니까?