访问2010 VBA循环查询,直到查询为空

时间:2013-10-01 02:55:32

标签: sql vba

我已经使用Access大约一年了,而且最近才开始学习VBA。我读过的书和我在网上看到的帮助似乎都不符合我的需要;或者如果他们这样做,那么我必须过多地注意新手。

我的项目是个人财务数据库,我正在研究预测现金流量的方法。我有

  1. 一个名为'tbl_InitialPoint'的定期交易表     (包含列描述,金额和频率(以天为单位)),

  2. 查找特定描述的最后日期的查询     'tbl_Register',

  3. 追加查询以将重复交易从'tbl_InitialPoint'插入'tbl_Register'

    INSERT INTO tbl_Register(PostDate,Description,Amount)SELECT qry_MaxDate.LastDate + tbl_InitialPoint.Frequency AS DateSeries,tbl_InitialPoint.Description,tbl_InitialPoint.Amount FROM tbl_InitialPoint INNER JOIN qry_MaxDate ON tbl_InitialPoint.Description = qry_MaxDate.Description WHERE qry_MaxDate.LastDate + tbl_InitialPoint.Frequency< = [Forms]![HomePage]![DateHorizo​​n];

  4. 我不知道的是运行/循环此查询的特定vba x次,直到查询为空或为空。

    有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我想这里你使用的是本地Access表和相应的DAO对象。

您必须使用queryDef对象及其execute方法。

执行querydef后,您可以测试recordsAffected实例的queryDef属性。

如果此值等于零,则表示您的查询中未插入任何记录。

编辑:根据您的评论,您可以看到一些queryDef相关代码here,您可以在其中创建新的querydef并列出对象的属性,包括{{1属性。