2012-03-28 4 views
2

VBA를 사용하여 Access 테이블을 만든 다음 공개 레코드 세트를 통해 액세스하는 데 문제가 있습니다. 내 목표는 테이블에 레코드를 작성하는 것입니다. 테이블을 수동으로 생성하면 코드가 완벽하게 작동합니다. 테이블이 존재하지 않으면 프로그램은 열린 레코드 세트 시도에서 종료됩니다. 오류 MSG는 다음과 같습니다Access VBA에서 테이블을 만들 수 없습니다.

는 "MSO Access 데이터베이스 엔진은 개체를 찾을 수 없습니다 'myTable에'

"myTable에 "이 argTable의 값이 여기에 코드입니다 :.

Dim tbl As DAO.TableDef 
Dim db As DAO.Database 
Dim fld As DAO.Field 

Set db = CurrentDb() 
Set tbl = db.CreateTableDef(argTable) 
Set fld = tbl.CreateField("F1") 

Set rstAccessTableOut = db.OpenRecordset(argTable, dbOpenTable) 

내가 잘못하고 있는가? (내가 SQL을 사용하지 마십시오.)

답변

0

을 당신이되고 데프 컬렉션에 새 테이블을 추가해야하는 필드 추가를 완료 한 후 그것을 사용할 수 있습니다. 또한 신청서도 첨부해야합니다.

Dim tbl As DAO.TableDef 
Dim db As DAO.Database 
Dim fld As DAO.Field 

Set db = CurrentDb() 
Set tbl = db.CreateTableDef(argTable) 
Set fld = tbl.CreateField("F1", dbText, 20) 

tbl.Fields.Append fld 

db.TableDefs.Append tbl 

Set rstAccessTableOut = db.OpenRecordset(argTable, dbOpenTable) 
+0

그게 효과가 있습니다. 고맙습니다. –

관련 문제