2010/05/12

access2010 データマクロ ストアドプロシージャ的ななにか

該当するレコードがあれば主キーを返し、なければインサートしてから主キーを返す的ななにか。

Function FrtnID(PK_Date As Date, PK_Num As LongPtr) As LongPtr
    DoCmd.SetParameter "pPK_Date", "#" & Format(PK_Date, "yyyy/mm/dd") & "#"
    DoCmd.SetParameter "pPK_Num", PK_Num
    DoCmd.RunDataMacro "t_01.Func_ID"
    FrtnID = ReturnVars!rtnID
End Function

Sub test2()
    Debug.Print FrtnID(#10/30/2010#, 103)
End Sub 
マクロで実行ならこうなる

抽出条件の日付時間について、データ型が一致しないというエラーで難儀した。
パラメータにそのままDate/Time型を渡してもうまく評価されない。
文字列と日付時間については、’ と # でくくると塩梅よく進む感じ。
きっと、2010/5/1を渡すと評価時に除算してるんでないかと。

0 件のコメント: