2016-08-18 12 views
0

基本的に私が開いたフォームは、テーブルから一連のデータを表示します。このデータは、Accessデータベース内のテーブルの行です。私はフォーム/行の現在のIDを取得するためにVBAを使用しようとしています。私がやろうとしているものの例は、以下のコードである:現在のフォームを参照ID(プライマリキー)

If Me.process_status = 4 Then 
    ssql = "UPDATE [activity_submissions_tb] SET [Edit] = True WHERE" _ & 
    "submissionID =" & Forms![Form_Frm2_Activity_Submission_Edit]![submissionID] 
    DoCmd.RunSQL ssql 
Else 
    ssql = "UPDATE [activity_submissions_tb] SET [Edit] = False WHERE " _ & 
    "submissionID =" & Forms![Form_Frm2_Activity_Submission_Edit]![submissionID] 
    DoCmd.RunSQL ssql 
End If 

私はテーブルを更新しようとしていますが、私はcurrentIDのために配置するかわからないようWHERE条件を動作させることはできません

vbaを使用して現在のフォーム/行のIDを取得する方法についてはわかりません。すべてのヘルプは、あなたがこのようにそれを試すことができます

+0

をしたいと思いますが、あなたは '便利を見つけることができcurrentdb.execute' 'docmd.runSQL'に代わるものです。 [こちらは](http://www.utteraccess.com/wiki/index.php/RunSQL_vs_Execute)トピックの投稿。 – LiamH

答えて

0

をいただければ幸いです。

ssql = "UPDATE [activity_submissions_tb] SET [Edit] = True WHERE [submissionID] = [currentID]" 

は、それが

+0

'currentID'が何にも設定されていないので、現在のフォームのIDを参照する必要があります。 – mYxCHa

0

だけの十分な調査をしなかったかなり簡単だったのに役立ちます願っています。簡単なMe.submissionIDがトリックをしました。

+0

'Forms![Form_Frm2_Activity_Submission_Edit] .form![submissionID] .value'も同じように機能するはずです。 – LiamH

0

私はあなたがrecordset.clone ...

Dim rs as Recordset 
Dim ID as Integer 

Set rs = me.Form.Recordset.Clone 
ID = rs![FieldNameID] 

それとも、列番号を知っていれば

あなたの問題とは無関係の
ID = rs.Fields(0) 
Debug.Print ID 
関連する問題