2012-03-22 84 views
0

我想寫一個模塊到數據庫,但我需要從報表中訪問複選框的值。我如何訪問模塊中的表單內容? (我正在使用訪問2007)模塊訪問報告複選框(ms訪問)

這是代碼是在onclick事件的報告,其中包含複選框,但我需要運行一個宏,它在同一個onclick事件也做不同的事情,所以我希望打電話在該宏中使用運行代碼的模塊。

Private Sub Command9_Click() 
     Dim query As String 
     Dim qdfNew As QueryDef 
     Dim dbLib As Database 
     Set dbLib = CurrentDb() 




     If Me.ReferenceCheck.Value = True Then 
      query1 = " Record_Num, [Report_Num], [Title], [Report_Date], [Author], [Organization], [Test Org], [Test Name], [Test Date], [POC]" 


     Else 
      query1 = "" 
     End If 

     If Me.SoilCheck.Value = True Then 
      query2 = "[Soil Condition],[Soil_C_Method], [Soil Compaction Method],[Custom Soil Compaction Method], [General Soil Classification], [Water Content Expedient], [Dry Density Expedient], [LL]" 


     Else 
      query2 = "" 

     End If 

    queryHead = "SELECT " 
    queryTail = " FROM searchR" 

    finalQuery = queryHead 
    If Me.ReferenceCheck.Value = True Then 
     finalQuery = finalQuery & query1 

    End If 

    If Me.SoilCheck.Value = True Then 
     If finalQuery = "SELECT " Then 
      finalQuery = finalQuery & query2 
     Else 
      finalQuery = finalQuery & ", " & query2 

     End If 

    End If  

     If (finalQuery = "SELECT ") Then 
      finalQuery = "SELECT * FROM searchR" 
     Else 
      finalQuery = finalQuery & queryTail 
     End If 


     dbLib.QueryDefs.Delete "filterQuery" 
     Set qdfNew = dbLib.CreateQueryDef("filterQuery", finalQuery) 
     Child0.Form.RecordSource = "filterQuery" 


    End Sub 

回答

1

,你可以從你的代碼

DoCmd.RunMacro "myMacro" 

運行宏,我很奇怪,爲什麼你要刪除和DEF創建一個查詢的麻煩。在第一種情況下,您可以修改那裏的那個,但更簡單的只是將SQL分配爲記錄源。

Child0.Form.Recordsource = finalQuery