VBAで使うときちょっと癖があるので。
'Module:DoCmdR Option Compare Database Option Explicit Public Sub SetParameter(ParameterName As String, _ ParameterValue As Variant) Dim tmpParam As Variant Select Case VarType(ParameterValue) Case 7 'vbDate tmpParam = Format(ParameterValue, _ "\#mm/dd/yyyy hh:nn:ss\#") Case 8 'vbString tmpParam = Chr(34) & _ Replace(ParameterValue, _ Chr(34), String(2, 34), , , _ vbBinaryCompare) & _ Chr(34) Case Else tmpParam = ParameterValue End Select DoCmd.SetParameter ParameterName, tmpParam End Sub
'使用例 Option Compare Database Option Explicit Private Sub cmd01_Click() DoCmdR.SetParameter "parameter_name", Me.txt01 DoCmd.OpenQuery "Query_Name" End Sub
PARAMETERS param01 Value; SELECT T_0.ID, T_0.F_Num, T_0.F_txt, T_0.F_date, T_0.F_boolean FROM T_0 WHERE T_0.F_date=param01;BrowseTo/OpenForm/OpenQuery/OpenReport/RunDataMacroが実行されるとパラメータコレクションはすべてクリアになるから、使用する直前にメソッドを使用する。
0 件のコメント:
コメントを投稿