2016-04-14 11 views
0

私はMicrosoftのフォームにアクセスしています。 Renewというボタンがあります。 ボタンをクリックすると、サブフォームの1つのフィールドが今日の日付に変更されます。フィールドを変更するボタン

Private Sub cmd_renew_Click() 
Dim strSQL As String 
strSQL = "UPDATE tbl_Borrowing SET DateBorrowed = Date()" 
DoCmd.SetWarnings (False) 
DoCmd.RunSQL strSQL 
DoCmd.SetWarnings (True) 
End Sub 

それが動作しないと私は考えが正しい私のロジックではありませんかいない:Apply filterを選んだ、とFrom operationsに> - - >Property Sheet - - >Event>Microsoft Visual Basic は、私は、フォームやボタンを作成しました。 DateBorrowedが認識されません。 私はサブフォームではなく私のフォームでそれをやった。このコードの代わりに

+0

を私はcurrentdb.execute stSQL'ではなく 'docmd.runSQL strSQL'を使用しての、ここでより適切である'使用してだと思います。私はどのようにこれがあなたのサブフォームに関連するか分かりません。 where句が必要ですか? – LiamH

+0

サブフォームの再クエリを実行して、変更が反映されていることを前提にする必要がありますが、 'does not work'は少し曖昧です。エラーメッセージ?望ましい結果の欠如? – GavinP

+0

@LiamH、where句が必要なのは、1レコードだけの情報を更新したいからです。 3ページ目のように、ボタンをクリックして、フィールドが3番目のページのフィールドのみを更新する必要があります – Alex

答えて

1

用途:

Private Sub cmd_renew_Click() 
    Me!SubFormControlName.Form!DateBorrowed = Date() 
end Sub 

はフォームでサブフォームコントロールの実際の名前でSubFormControlNameを交換してください。
メインフォーム上のテキストボックスを配置する場合は、サブフォームのセクションのVROMコード削除:

Me!DateBorrowed = Date() 
+0

ありがとうございました!どうか私に教えてもらえますか、私はそれをサブフォームではなく単にメインフォームで行いました。ステートメントを変更するにはどうすればよいですか? – Alex

+0

@Alex、私は私の答えを編集:) – marlan