まず、次を変更します。
recordID = Me.CurrentRecord
に:
recordID = Me.ID
Me.ID は、現在のフォームのフィールドまたはコントロールの名前です ( Microsoft Access - ボタンがクリックされたときにレコード ID を取得します)。
変数を参照するときは、引用符の外に置きます。
DoCmd.OpenForm "Form3", , , "ID = " & recordID
数値の ID の場合はこれで問題ありませんが、区切り文字が必要になるため、テキストと日付の場合はもう少し複雑になります。sometextvar
引用符が含まれていない限り、これはうまく機能します。
DoCmd.OpenForm "Form3", , , "Atext = '" & sometextvar & "'"
さもないと
DoCmd.OpenForm "Form3", , , "Atext = '" & Replace(sometextvar,"'","''") & "'"
日付は # かかります
DoCmd.OpenForm "Form3", , , "ADate = #" & somedatevar & "#"
ロケールの問題を回避するために、ほとんどの場合、年、月、日などの形式にするのが最善です。
DoCmd.OpenForm "Form3", , , "ADate = #" & Format(somedatevar,"yyyy/mm/dd") & "#"