2013-10-01 58 views
0

我一直在使用Access大約一年,並且最近纔開始學習VBA。我讀過的書以及我在網上閱讀的幫助似乎並不符合我的需要;或者如果他們這樣做了,那麼我一定是太多的新手要注意。Access 2010 VBA循環查詢,直到查詢爲空

我的項目是一個個人財務數據庫,我正在努力預測現金流量。我有

  1. 與經常性交易的表稱爲「tbl_InitialPoint」 (與列名稱,數量,以及頻率(天)),

  2. 一個查詢,發現的最後日期具體說明在 'tbl_Register',

  3. 追加查詢插入來自 'tbl_InitialPoint' 到 'tbl_Register'

    INSERT INTO TB重複發生的交易l_Register(踵,說明,金額)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];

什麼我不知道的想法是具體的VBA運行/循環的時間這個查詢x次,直到查詢爲空或空。

任何想法?

回答

0

我在這裏假設您使用本地Access表和相應的DAO對象。

您必須使用queryDef對象及其execute方法。

執行querydef後,您可以測試queryDef實例的recordsAffected屬性。

如果此值等於零,則表示沒有記錄通過您的查詢插入。

編輯:下面您的意見,你可以看到一些queryDef相關的代碼here,在這裏你就可以創建一個新的QueryDef並列出對象的屬性,包括recordsAffected財產。

+0

對不起,我沒有得到它。你能給我一個代碼可能看起來像什麼樣子的例子。我已經嘗試過多次使用上面描述的內容,而且我甚至無法讓我的named named query執行一次。 –

+0

這裏是我到目前爲止(我可以添加後的環):專用功能InsertTransactionsBttn_Click() 昏暗DB數據庫 昏暗的MySQL作爲字符串 昏暗qdfNew作爲的QueryDef –

+0

集DB = CurrentDb() 設置的MySQL =「INSERT INTO tbl_Register(踵,說明,量) 「&_ 」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]![返回首頁]![DateHorizo​​n]」 設置qdfNew = CreateQueryDef( 「NewQueryDef」,_ MySQL的) qdfNew.Execute 端功能 –