2017-09-06 13 views
1

현재 Excel ADO 문제가 있습니다.Excel에서 SharePoint에 레코드를 삽입 할 수 없습니다.

여기에 일부 레코드를 삽입하려고 시도했습니다. "Excel 테이블"에서 "SharePoint 목록"으로 ADO 연결을 사용하고 있습니다. 그러나 내가 그것을 실행하면

Dim SQL  As String 
Dim CN   As New ADODB.Connection 
Dim OLEDB  As String 
Dim LIST  As String 
Dim SITE  As String 

LIST = "{EE028282-3D7E-4D37-93EE-50FB69C4432C}" 
SITE = "https://asml.sharepoint.com/teams/FFKR_DUV_YS_Installation_and_Relocation/Product" 
OLEDB = "Provider=Microsoft.ACE.OLEDB.12.0;WSS;IMEX=0;RetrieveIds=Yes;" & _ 
     "DATABASE=" & SITE & ";" & _ 
     "LIST=" & LIST & ";" 

Set CN = New ADODB.Connection 
CN.Open OLEDB 

    SQL = SQL & "INSERT INTO Schedule_DB (NAME,TYPE_W) " 
    SQL = SQL & "SELECT * " 
    SQL = SQL & "FROM [" & ThisWorkbook.FullName & "].[S_RAW$] " 

    CN.Execute CommandText:=SQL 
CN.Close 

을 (SQL 문에 엑셀 테이블을 인식 할 수 없습니다) 실패 내가 가지고 오류 ->
이미 미스-주문을 확인했다 Error image

및 양 항목이 너무 많아서 하나의 SQL 문으로 처리하는 것을 선호합니다.
"Excel to Excel"은 잘 작동하지만 여전히 "Excel to SharePoint 목록"에 대한 아이디어는 없습니다. 조언을 보내주십시오. 당신이 당신의 엑셀 시트에서 데이터를 읽고 자 할 때

답변

0

당신은 당신이 쓰기 권한 또 다른 ADODB.Connection이 필요하여 SharePoint 목록에 데이터를 작성 후, ADODB.Connection와 읽기 권한이 필요합니다.

참고 : 전체 데이터를 전송할 수는 없습니다. 전체 데이터로 큰 명령을 생성 한 다음이를 사용하거나 Excel 데이터의 각 레코드에 대해 명령을 생성 할 수 있습니다.

SharePoint 목록에서 시트 이름을 찾을 수 없다는 예외에 대한 예외입니다.

Dim cnnXl As New ADODB.Connection 
Dim rsXl As New ADODB.Recordset  
Dim cnnShP As New ADODB.Connection 

conStrXl = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='C:\yourExcel.xlsx';" & _ 
     "Extended Properties=""Excel 12.0;HDR=YES;IMEX=1;"";" 

commandXl = "SELECT [Field1], [Field2] FROM [Worksheet$$A1:D7] WHERE [Thing1] > 1" 

conStrShP = "Provider=Microsoft.ACE.OLEDB.12.0;WSS;IMEX=0;RetrieveIds=Yes;" & _ 
      "DATABASE=yourSite;LIST={yourListCLSID};" 

그런 cnnXl을 열고 commandXl을 실행하고 rsXl에 데이터를 읽어


샘플

는이 같은이 될 수 안내.
cnnShP을 열고 rsXl 레코드를 반복하고 commandShP을 만들고 실행하십시오.

+0

감사합니다. shA.t 님, [loop over rsXl records에 대한 자세한 내용을 설명하고 commandShP를 만들고 실행하십시오.] 나는 그곳에 흥분을 느끼고 있습니다! – user8566482

+0

'insert into Schedule_DB (NAME, TYPE_W) values ​​('name ','type ');와 같은 SQL 명령을 작성할 수있는 샘플을 사용하여 다음에 연결하여이 명령을 실행하십시오. SharePoint ('cnnShP');). –