自然的思路是以下几种方法: 能否用某一命令或函数,将子窗体直接生成为表,就像生成表查询那样? 子窗体的recordset容易得到,能否用recordset对象的某一函数,直接把该recordset导出为一个新表? 现在我可以用VBA新建表,然后用循环语句把recordset的每一条记录保存到表中,但这种方式效率低不太想用。 以上1,2任何一种方式都可以,求高手解答。
1 回答
不负相思意
TA贡献1777条经验 获得超10个赞
把下面的过程放到任何一个模块中
Public
Sub
CreateTabel(rst
As
DAO.Recordset,
TabelName
As
String)
Dim
TS
As
TableDefs
Dim
T
As
TableDef
Dim
F
As
DAO.Field
Set
TS
=
CurrentDb.TableDefs
Set
T
=
New
TableDef
rst.MoveFirst
For
Each
F
In
rst.Fields
T.Fields.Append
T.CreateField(F.Name,
F.Type,
F.Size)
Next
T.Name
=
TabelName
TS.Append
T
Set
TS
=
Nothing
Set
T
=
Nothing
Set
F
=
Nothing
End
Sub
具体的调用方式就是
CreateTabel recorset对象,表名
就可以在当前数据库中生成一个新表了
结构和recorset相同但没有数据,如果你要复制数据,一行SQL就搞定了
- 1 回答
- 0 关注
- 117 浏览
添加回答
举报
0/150
提交
取消