VBA 코드를 사용하여 SQL 데이터베이스에서 Excel 시트로 데이터를 검색하려고 하면 사용자에게 다음과 같은 문제가 발생할 수 있습니다. 닫힌 개체에 대한 잘못된 작업을 나타내는 런타임 오류 3704. 이는 일반적으로 데이터가 레코드세트에서 Excel 시트로 복사되는 단계에서 발생합니다.
이 오류의 한 가지 잠재적인 원인은 연결 문자열에 있습니다. 연결 문자열에 액세스할 데이터베이스의 이름을 지정하는 초기 카탈로그 매개변수가 포함되어 있는지 확인하세요. 다음은 매개변수가 포함된 업데이트된 연결 문자열입니다.
objMyConn.ConnectionString = "Provider=SQLOLEDB;Data Source=localhost;Initial Catalog=MyDatabase;User ID=abc;Password=abc;"
또 다른 문제는 SQL 명령을 지정할 때 추가 간접 계층을 사용하는 것일 수 있습니다. 코드를 단순화하고 오류를 방지하려면 다음과 같이 SQL 문 문자열을 직접 사용할 수 있습니다.
strSQL = "select * from myTable"
그런 다음 SQL 문 문자열을 명령 텍스트로 사용하여 레코드세트를 엽니다.
objMyRecordset.Open strSQL
이러한 잠재적인 문제를 해결하고 연결 문자열이 완전하며 SQL 명령이 올바르게 실행되는지 확인하면 다음을 사용하여 SQL 데이터베이스에서 Excel 시트로 데이터를 성공적으로 검색할 수 있습니다. VBA.
위 내용은 Excel VBA에서 SQL 데이터베이스에 액세스할 때 런타임 오류 3704가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!