Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


4900 / 9994 ←次へ | 前へ→

【8332】再入力を防ぐには
質問  にしもり  - 06/7/21(金) 11:44 -

引用なし
パスワード
   こんにちは。

テーブルtbl_TRAININGと主フォームF_ModProgramとそのサブフォームSF_Programがあります。tbl_TRAININGの中は、Program_ID(オートナンバ型)、 Program_Name(テキスト)とします。主フォームにはサブフォームのほかにテキストボックスProgramName、flgProgramID、DirtyFlg、そして実行ボタンbtnExecuteがあるとします。サブフォームのレコードソースはtbl_TRAININGです。

サブフォームに表出されたtbl_TRAINING中のProgram_Nameを選択し、それを主フォーム上のテキストボックスProgramNameに入力された文字列で上書きしたいのです。下記までコードができていますが、テキストボックスに何か入れて実行すると、パラメーターを聞いてきてしまい、また入力しなくてはいけません。どこが悪くて聞いてきてしまうのでしょうか。どなたかアドバイスをお願いします。

Private Sub btnExecute_Click()
On Error GoTo ErrorHandler
  If DirtyFlg = 1 Then
    Dim strCriteria
    Dim strConn
    strCriteria = "UPDATE tbl_TRAINING SET "
    strConn = ""
    If IsNull(ProgramName) = False Then
      strCriteria = strCriteria & strConn & "Program_Name = " & [Forms]![F_ModProgram]![ProgramName] & " "
      strConn = ", "
    End If
      strCriteria = strCriteria & "WHERE Program_ID = " & [Forms]![F_ModProgram]![flgProgramID] & ";"
    DoCmd.RunSQL strCriteria
  Else
    MsgBox "No Need to Change"
    Exit Sub
  End If
  Me!DirtyFlg = 0
  Me!flgProgramID = Null
  Me!ProgramName = Null
  MsgBox "Update Completed"
Exit Sub

Private Sub ProgramName_AfterUpdate()
  Me!DirtyFlg = 1
End Sub

なおサブフォームのコードは以下のとおりです。

Private Sub Program_Click()
   Forms!F_ModProgram!flgProgramID = Me!Program_ID
   Forms!F_ModProgram!ProgramName.SetFocus
End Sub
460 hits

【8332】再入力を防ぐには にしもり 06/7/21(金) 11:44 質問
【8333】Re:再入力を防ぐには クロ 06/7/21(金) 13:03 回答
【8334】Re:再入力を防ぐには にしもり 06/7/21(金) 13:19 質問
【8335】Re:再入力を防ぐには クロ 06/7/21(金) 13:24 回答
【8336】Re:再入力を防ぐには にしもり 06/7/21(金) 13:34 発言
【8350】Re:再入力を防ぐには にしもり 06/7/24(月) 15:01 質問
【8351】Re:再入力を防ぐには クロ 06/7/24(月) 17:23 回答
【8352】Re:再入力を防ぐには にしもり 06/7/24(月) 17:56 お礼
【8355】Re:参考URL クロ 06/7/25(火) 8:29 発言
【8356】Re:参考URL にしもり 06/7/25(火) 9:12 お礼

4900 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078226
(SS)C-BOARD v3.8 is Free