- ベストアンサー
Updateできない・・・
初心者です。お願いします。 Access2002で人事考課DBを作成中です。 ADOのUpdate処理がうまくいかず困っています。 作業の流れとしては以下のとおりです。 1)職員テーブルを元にしたメニューフォーム(F_人事管理DB)を開く。2)対象となる職員を呼び出す。3)メニューから考課結果入力フォーム(F_情意考課)を開く。 4)考課結果を入力する。5)情意考課テーブル(T_情意考課)に結果が蓄積される。 情意考課テーブル(T_情意考課)と中心の職員テーブル(T_人事考課DB)は職員番号をキーにして繋がり、考課結果入力フォーム(F_情意考課)は情意考課テーブルを元にしています。 考課結果を入力した後「更新後処理」で次のようなプロシージャによって、結果を情意考課テーブルに追加させようと考えました。 Private Sub Form_AfterUpdate() Dim cn As ADODB.Connection Dim rs As ADODB.Recordset Dim bango As String Set cn = CurrentProject.Connection Set rs = New ADODB.Recordset rs.Open "T_情意考課", cn, adOpenKeyset, adLockOptimistic bango = Forms!F_情意考課!テキスト63 rs.Update "職員番号", bango rs.Update "更新日付", Date rs.Close: Set rs = Nothing cn.Close: Set cn = Nothing End Sub テキスト63のコントロールボックスには「=Forms!F_人事管理DB!職員番号」という式で職員番号が代入されます。 変数bangoにはデータは代入されているようですが、情意考課テーブルの更新ができずエラーになってしまいます。 どこがおかしいでしょうか? 職員番号は「K000*」という連番で型はテキストです。 この作業中は、F_人事管理DB、F_情意考課のふたつのフォームが開いています。 宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>rs.Update "職員番号", bango >rs.Update "更新日付", Date いきなりUpdateしてますけど、どこにも更新対象のレコードを指定している個所が無いんですけどいいんですか? >情意考課テーブルの更新ができずエラーになってしまいます。 どんなエラーですか?
その他の回答 (1)
- ykmtk
- ベストアンサー率26% (6/23)
テーブルにデータを追加させたいということですよね? 今のままだと、現在のレコードを書き換えることになってしまっています。 追加させるのであれば、UpdateではなくAddNewを使います。 もしはずしていたらすみません。 詳しい内容がわからないので、新規に追加させたいのかと判断して回答してみました。
お礼
ご回答ありがとうございます。 変数bangoをやめて、次のように直に「職員番号」にテキスト63に引っ張ってきた値を代入したらうまくいきました。 rs.Update "職員番号", Forms!F_情意考課!テキスト63 私の質問の仕方が悪かったみたいですみません。 また宜しくお願い致します。