액세스 데이터베이스의 특정 데이터로 보고서를 만들어야합니다. 나는 시각적 기본을 사용하여이 과정을 자동화하고 싶다. 이 문제를 해결하기 위해 쿼리를 만들었지 만 동일한 구조의 다른 데이터베이스를 가질 때마다 문제가 발생합니다.msaccess에서 런타임 중에 쿼리 생성
쿼리 "VB6에서 해당 쿼리를 직접 실행할 수 없기 때문에 테이블 만들기"가 있습니다. 이 문제를 해결할 수있는 방법이 있습니까?
액세스 데이터베이스의 특정 데이터로 보고서를 만들어야합니다. 나는 시각적 기본을 사용하여이 과정을 자동화하고 싶다. 이 문제를 해결하기 위해 쿼리를 만들었지 만 동일한 구조의 다른 데이터베이스를 가질 때마다 문제가 발생합니다.msaccess에서 런타임 중에 쿼리 생성
쿼리 "VB6에서 해당 쿼리를 직접 실행할 수 없기 때문에 테이블 만들기"가 있습니다. 이 문제를 해결할 수있는 방법이 있습니까?
서로 다른 참조하는 SQL 쿼리에서 IN 절을 사용할 수 있습니다 MDB 파일의 예를 들면 다음과 같습니다.
"SELECT srpID, srpServiceRecordID, srpInvoiceDate, srpInvoiceNumber, srpParts " & _
"FROM ServiceRecordParts IN '" & strDatabasePathandName & "';"
데이터 액세스 기술을 사용하여 VB6의 Access 데이터베이스 엔진에 대해 CREATE TABLE
SQL DDL 문을 실행할 수 있습니다 (쿼리가 아닙니다!). ADO는 DDL에 가장 적합합니다 (예 : DAO보다 풍부한 구문).
당신은
SELECT * INTO MyTableClone FROM MyTable;
를 사용하여 데이터를 포함하여 새 테이블을 만들 수 있지만 어떤 제약을 예를 들어, 복사하지 않습니다 모든 열은. 당신은 또한
VIEW
또는
PROCEDURE
당신은 '쿼리'가 무엇을 의미하는지에 따라 작성하는 SQL DDL을 사용하여 :(
널 (NULL)이 될 것입니다
당신은 여기에서 VBA에서 두 쿼리와 SQL을 실행할 수있는 몇 가지주의 사항이 있습니다
Dim db As Database
Dim strSQL As String
Dim qdf As QueryDef
''Execute
Set db = CurrentDb
strSQL = "SELECT EmpID, EmpName INTO NewT FROM tblT WHERE EmpName Is Not Null"
''This will fail if the table already exists
''Only Action queries can be Executed
db.Execute strSQL, dbFailOnError
Debug.Print db.RecordsAffected
''This is not such a good approach
''Open query, will give warning
''that the table is about to be deleted.
DoCmd.OpenQuery "qryUpdate"
''Also not so good
''Open query, skip warning
DoCmd.SetWarnings False
DoCmd.OpenQuery "qryUpdate"
''This line is very important indeed
''never set warnings off, unless you
''set then on again
DoCmd.SetWarnings True
''Use query
Set qdf = db.QueryDefs("qryUpdate")
''The table in this SQL already exists, so
''a small diversion
db.Execute "DROP TABLE NewT", dbFailOnError
''Back on track
qdf.Execute dbFailOnError
Debug.Print qdf.RecordsAffected
''Change query SQL
qdf.SQL = strSQL
''Use SQL from query
strSQL = qdf.SQL
''The table in this SQL already exists, so
''a small diversion
db.Execute "DROP TABLE NewT", dbFailOnError
''Back on track
db.Execute strSQL, dbFailOnError
Debug.Print db.RecordsAffected
귀하의 datab을.. ase는 테이블과 쿼리를 정기적으로 추가하고 삭제할 때 압축이 많이 필요할 것이므로 일반적으로이를 피하는 것이 가장 좋습니다.
예. 하지만 "col1 = col"테이블에서 직접 "select * into table1"을 실행하면 알아 내려고했습니다. 테이블을 만든 다음 각 레코드 세트를 항상 이동합니다. :) – adbanginwar
미안하지만 나는 "테이블을 만든 다음 각 레코드 세트를 항상 움직일 것입니다."라고 할 때 무슨 뜻인지 이해하지 못합니다. – onedaywhen