2012-03-22 3 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