Sub Access()
Dim filepath As String
Dim oConn As ADODB.Connection
Dim RS As ADODB.Recordset
Dim ssql As String
Dim strMyPath As String, strDBName As String, strDB As String
'Getting workbook path
Path = Application.ActiveWorkbook.Path
'Finding complete address of the database
filepath = Path & "\TBS.accdb"
sConn = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & filepath & ";" & _
"Jet OLEDB:Engine Type=5;" & _
"Persist Security Info=False;"
'Open a connection.
Set oConn = New ADODB.Connection
oConn.Open sConn
ssql = Range("query ") & Sheets("backened").Range("F3")
'query is a named range containing sql query
MsgBox (Sheets("backened").Range("F3"))
Set RS = New ADODB.Recordset
Set RS.ActiveConnection = oConn
RS.Open ssql, oConn, adOpenStatic, adLockReadOnly, adCmdText
With RS
Sheets("sheet3").Select
Sheets("Sheet3").Range("F10").CopyFromRecordset RS
.Close
End With
End Sub
를 통해 VBA를 통해 액세스, 데이타베이스에서 데이터를 얻으려고 노력하고있는 쿼리는 "선택 *에서"때마다 그것을 실행 미세하지만 특정 열을 선택하거나 조작으로 모든 그룹을 수행 할 때이 오류가 발생합니다 - 실행 오류 '-2147467259이 (8000405)' 방법 객체 _recordset '의'개방 '실패나는 데이터베이스 이름이 "파일 경로"</p> <p>에 저장된과 함께 위의 코드 파일 경로에서 SQL 쿼리
vb-code에는 문제가 없지만 ... ssql = Range ("query") & Sheets ("backened"). 범위 ("F3")는 실제로 원하는 것을 반환합니다. . 기회는'ssql'에'Blank' /'vbCrLf'가 없습니다. 'Debug.Print ssql'을 실행하고 결과 SQL 문자열을 게시하십시오. –
@martin dreher 나는 다음 결과를 얻습니다. Cardiology_Pradaxa에서 구역을 선택하고 위에서 언급 한 것과 동일한 디버그 오류를 진행하십시오. –