access中如何使用VBA将已有的recordset生成一个新表 10

我在子窗体中用数据表的形式列出了一组数据,希望用VBA把这组数据生成一个新表。自然的思路是以下几种方法:能否用某一命令或函数,将子窗体直接生成为表,就像生成表查询那样?子... 我在子窗体中用数据表的形式列出了一组数据,希望用VBA把这组数据生成一个新表。自然的思路是以下几种方法:
能否用某一命令或函数,将子窗体直接生成为表,就像生成表查询那样?
子窗体的recordset容易得到,能否用recordset对象的某一函数,直接把该recordset导出为一个新表?
现在我可以用VBA新建表,然后用循环语句把recordset的每一条记录保存到表中,但这种方式效率低不太想用。

以上1,2任何一种方式都可以,求高手解答。
展开
 我来答
不想起名字了99
推荐于2018-05-09 · TA获得超过1695个赞
知道大有可为答主
回答量:2708
采纳率:76%
帮助的人:719万
展开全部
把下面的过程放到任何一个模块中
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就搞定了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式