为了账号安全,请及时绑定邮箱和手机立即绑定

我在子窗体中用数据表的形式列出了一组数据,希望用VBA把这组数据生成一个新表

我在子窗体中用数据表的形式列出了一组数据,希望用VBA把这组数据生成一个新表

一只斗牛犬 2022-08-11 11:07:46
自然的思路是以下几种方法: 能否用某一命令或函数,将子窗体直接生成为表,就像生成表查询那样? 子窗体的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就搞定了


查看完整回答
反对 回复 2022-08-15
  • 1 回答
  • 0 关注
  • 117 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信