2013-05-01 2 views
1

VBA를 처음 사용하지만 Access가 설치되지 않은 컴퓨터에서 Excel 통합 문서의 데이터를 Access 데이터베이스 테이블로 업로드하려고합니다. 온라인 솔루션을 검색했지만 아직 내 코드로 작업 할 수있는 것을 찾지 못했습니다.VBA - Excel에서 Access without Access로 데이터 업로드

내가 점점 오전 오류 코드는 429가 ActiveX 구성 요소에게 내가 액세스 설치되어있는 컴퓨터에서 작동하는 액세스 [에서 하위를 호출하는 Excel 통합 문서에서 설정 한 일부 VBA 코드가

를 만들 수 없습니다입니다 ... ]하지만 컴퓨터에 Access가 설치되어 있지 않으면 올바른 코드가 무엇인지 알 수 없습니다. 다음과 같이

Sub Upload_SiteObsData_Excel_To_Access(Database_Path) 

Database_Path = "\\Path\db1.mdb" 

Dim acApp As Object 
Dim db As Object 

Set acApp = CreateObject("Access.Application") 

acApp.OpenCurrentDatabase ("\\Path\db1.mdb") 

Set db = acApp 
acApp.Run "Upload_SiteObsData_to_Access" 
acApp.Quit 
Set acApp = Nothing 

End Sub 

액세스의 절차는 다음과 같습니다

Option Compare Database 
Option Explicit 

Dim Excel_Path As String 
Dim Excel_Range As String 
Dim UserNameOffice As String 

Dim Excel_File_TechForm As String 
Sub SetUp_Variables() 

UserNameOffice = CreateObject("wscript.network").UserName 

Excel_Path = "C:\Documents and Settings\" & UserNameOffice & "\Desktop\" 
Excel_Range = "MyData" 

Excel_File_TechForm = "SiteObsForm_v0.2.xls" 

End Sub 

Sub Upload_SiteObsData_to_Access() 

SetUp_Variables 
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "TBL_SiteObsData", Excel_Path & Excel_File_TechForm, True 

End Sub 

나는 어떤 도움을 매우 감사하게 될 것입니다. 미리 감사드립니다.

+0

DB에 액세스하기 위해 액세스 권한을 열지 않아도됩니다. 다른 호환 도구를 실행하여 db를 열 수 있습니다. [ADODB] (http://msdn.microsoft.com/en-us/library/office/aa189885 (v = office.10) .aspx)와 다른 [sql strings] (http : // connectionstrings. –

+0

@user2338876 Yoy가 Acess 런타임을 살펴볼 수 있습니다. – Santosh

답변

0

나는이 문제에 대해 다른 방법을 찾아야 만합니다. 엑세스가 설치되어 있지 않으면 엑셀이 "Access.Application" 개체를 만들 수 없습니다. 단지 액세스가 무엇인지 모릅니다.

대신 Access에서 데이터를 가져올 수 있습니까? 나는 그냥 엑셀 VBA 코드와 다음과 장난되었다

+0

안녕하세요, 다른 지역 (동일한 네트워크에 연결되어 있음)에있는 여러 사용자의 양식 데이터를 마스터 데이터베이스에 업로드하는 것이 목적입니다. 각 컴퓨터에 Access를 설치하는 것은 우리가 피하려고했던 추가 비용입니다. – user2338876

+0

누군가가 액세스 응용 프로그램을 실행하고 있습니까, 아니면 단지 데이터 스토어입니까? – Chris

+0

액세스가 데이터 저장소 일뿐입니다 – user2338876

0

이 작동 듯 :이에게 내가 VBA를 통해 액세스 할 수 Excel을 연결 처음 해봤 내가 확실히 알고

Option Explicit 

Sub Upload_Excel_to_Access() 
Dim con As Object '' ADODB.Connection 
Set con = CreateObject("ADODB.Connection") '' New ADODB.Connection 
con.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data source=C:\Users\Public\Database1.accdb;" 
con.Execute _ 
     "INSERT INTO TBL_SiteObsData " & _ 
     "SELECT * FROM [Excel 12.0 Xml;HDR=YES;IMEX=2;ACCDB=YES;DATABASE=C:\Users\Public\Book1.xlsm].[Sheet1$]" 
con.Close 
Set con = Nothing 
End Sub 
+0

안녕 Gord, 좋아 보여요. Office 2010을 사용하고 있음을 알았습니다 ... Office 2003을 계속 실행하고 있습니다. 2003 년 구문이 무엇인지 알고 있으며 시도해 볼 수 있습니다. 많은 감사 – user2338876

0

그것을 Gord Thomson이 제공 한 코드를 사용하여 작동합니다. ADODB 연결을 설정하고 추가 쿼리를 실행합니다.

관련 문제