2010/05/10

access2010 データマクロ ストアドプロシージャっぽく



ストアドプロシージャっぽく使ってみるテスト。
数値以外は、シングルクォーテーションでくくりなさいってことみたいだ。
Option Compare Database
Option Explicit

Private Sub LikeStoredProcedure()
    Call InsertInto_t3(99, "xxxxxxxxx", "MemoMemoMemoMemoMemoMemo", True, Time)
End Sub

Private Sub InsertInto_t3(F_Num As LongPtr, F_Txt As String, F_Memo As String, F_Bool As Boolean, F_Time As Date)
    DoCmd.SetParameter "pF_Num", F_Num
    DoCmd.SetParameter "pF_Txt", Chr(39) & F_Txt & Chr(39)
    DoCmd.SetParameter "pF_Memo", Chr(39) & F_Memo & Chr(39)
    DoCmd.SetParameter "pF_Bool", F_Bool
    DoCmd.SetParameter "pF_Time", Chr(39) & F_Time & Chr(39)
    DoCmd.RunDataMacro "t3.InsertRecord" 
    Debug.Print ReturnVars!LastInsertID
End Sub 
last_insert_id()みたいなものを追加してみた。
戻り値は、主キーになってる。
ヘルプにあるように、
[LastCreateRecordIdentity].[ID]のように指定できてない。複合キーにしてもダメだった。インデックスの有無でもなさそう。
まぁ主キーが取得できるのでよいかと。

0 件のコメント: