アクセス初心者です。とても困っています。
困っているのは、履歴は書き出すのですが、複数書き出してしまうということなのです。
詳しく申し上げますと、
フォーム「テレ_sb(table:テレ)」に変更があった場合に、履歴「SF_テレ履歴(table:テレ履歴)」を書き出すことを行っています。
顧客ID毎に履歴を取るようにしているのですが、「A」ユーザーに変更を行うと、「A」ユーザーの履歴を取ってくる。ここまでは良いのですが、フォームのテレ_sb(table:テレ)に情報が入っているもの全てについて履歴を取ってしまうのです。
つまり、table:テレ(フォーム:テレ_sb)に10ユーザーの情報が入っているとすると、「A」について変更を行うと、10ユーザー全ての履歴を取ってきてしまうのです。
<<フォーム>>メイン、テレ_sb(table:テレ)、SF_テレ履歴(table:テレ履歴)があります。
テレ_sb(table:テレ)のイベントプロシージャーには以下のように書いております。上記の点、防ぐ方法をどなたかご教授ください。よろしくお願い申し上げます。
Sub History_tel()
Dim Ctr As Control
Dim strSQL As String
For Each Ctr In Me.Controls
If ((Ctr.ControlType = acTextBox) Or (Ctr.ControlType = acComboBox)) Then
If Ctr.OldValue <> Ctr.Value Then
strSQL = "insert into テレ履歴 select * , '" & CurrentUser & "' as 更新者 FROM テレ '" & _
"where 顧客コード = " & Me.顧客コード
DoCmd.SetWarnings False
DoCmd.RunSQL strSQL
DoCmd.SetWarnings True
Exit Sub
End If
End If
Next Ctr
End Sub
Private Sub Form_BeforeUpdate(Cancel As Integer)
History_tel
End Sub
Private Sub Form_AfterUpdate()
Forms("メイン").Form.SF_テレ履歴.Requery
End Sub
No.2ベストアンサー
- 回答日時:
こんにちは
> 「A」について変更を行うと、10ユーザー全ての履歴を取ってきてしまうのです。
顧客の指定が抜けているものと思われます
下記SQL文に置き換えて使用してみてください
'~~~~~~~~~~~~~~~~~~~~
strSQL = "INSERT INTO テレ_履歴 ( 更新者 ) " & _
"SELECT テレ.*, '" & CurrentUser & "' AS 更新者 " & _
"From テレ " & _
"WHERE (((テレ.顧客コード)=" & Me.[顧客コード].Value & "));"
'~~~~~~~~~~~~~~~~~~~~
フォーム構造ですが、メインフォーム「テレ_sb」の中にサブフォーム「SF_テレ履歴」があるんですよね?
でしたら、サブフォームのプロパティの中に「リンク子フィールド」と「リンク親フィールド」があると思います。
その値が”顧客コード”になっているのが望ましいと思います
No.1
- 回答日時:
おつかれさまです
何点か気付いた点を記します
>strSQL = "insert into テレ履歴 select * , '" & CurrentUser & "' as 更新者 FROM テレ '" & _
>"where 顧客コード = " & Me.顧客コード
このSQL文ですが、"~ FROM テレ '"の"テレ"の後ろに書いてある"'"はいりません
>つまり、table:テレ(フォーム:テレ_sb)に10ユーザーの情報が入っているとすると、「A」について変更を行うと、10ユーザー全ての履歴を取ってきてしまうのです。
フォーム構造ですが、メインフォームとサブフォームは関連付けされているのでしょうか?
今回の掲題だと「顧客コード」にて、関連付けされていることが望ましいですね
また考えれることが、「テレ」テーブルの内容をすべて「テレ履歴」テーブルに書き込むということが発生していると思われます。
SQL文作成後にブレイクをはって、SQL文の内容をイミディエイトウィンドウにて確認してみるのが、宜しいかと思います。
(1)"DoCmd.SetWarnings False"にてブレイクをはる
(2)イミディエイトウィンドウにて、「print strsql」とかきENTER
(3)表示されたSQL文をクエリのSQLウィンドウにコピーし、内容が正しく実行するか確認する
ちなみに正常動作の確認は行いました。
問題なく動作すると思いますよ(^^)/
この回答への補足
お答え有難うございますm(__)m
残念ながら、だめでした。(T_T)
SQL文の"~ FROM テレ '"の"テレ"の後ろに書いてある"'"を削除すると、「パラメータの入力」を聞いてきます。(1)-(3)の作業は、初めてしてみました。何とか作業はできたのですが、こちらでも同様でした。
「フォーム構造のメインフォームとサブフォームは関連付け」についてですが、これは、リレーションシップのことでしょうか?(メインフォームの元となるテーブル「元データ」とサブフォームの元となるテーブル「テレ」は、顧客コードでリレーションシップしてますが・・・、それ以外のことならばできていないと思います。)
でも、なぜなんでしょう(T_T)あーー助けてください。m(__)m何か他に確認する所はないでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) マクロで最終行から上に検索を逆にしたい 1 2022/05/17 18:27
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) エクセル VBAについて教えてください 2 2023/04/26 13:25
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Visual Basic(VBA) フォルダの場所を可変にしたいです(マクロ) 4 2023/05/11 10:00
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Googleformで回答した履歴って...
-
Hサイトを見てるのってばれる...
-
iPhoneの電話の履歴は、発信着...
-
PASMOやSuicaは、所属している...
-
Suicaで買い物をした場合、履歴...
-
同じwifiを使っている家族に履...
-
学校のパソコンの使っているん...
-
Adobe Acrobat Reader のマイコ...
-
学校から配布されたPCってどん...
-
SUICAの履歴を消す方法を教えて...
-
アダルトサイトの履歴閲覧について
-
ラブホの履歴
-
photoshop の体験版
-
えっちな検索履歴を消したいで...
-
Googleでアカウントなしで使用...
-
学校のパソコンで閲覧履歴を消...
-
今、春休みで、夜にアニメを調...
-
今までにLINEでID検索したIDっ...
-
SafariのプライベートモードはW...
-
クロネコヤマト お問い合わせ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PASMOやSuicaは、所属している...
-
Hサイトを見てるのってばれる...
-
Googleformで回答した履歴って...
-
学校のパソコンで閲覧履歴を消...
-
同じwifiを使っている家族に履...
-
学校のパソコンの使っているん...
-
今、春休みで、夜にアニメを調...
-
PASMOやSuicaの履歴を消すこと...
-
Suicaで買い物をした場合、履歴...
-
visitedで訪問したリンクの色を...
-
履歴と覆歴と復歴の違いを教え...
-
SafariのプライベートモードはW...
-
photoshop の体験版
-
アダルトサイトの履歴閲覧について
-
クロネコヤマト お問い合わせ...
-
Tinderをやって、iPhoneのサブ...
-
SUICAの履歴を消す方法を教えて...
-
ラブホの履歴
-
Googleドライブのクイックアク...
-
閲覧履歴をプリントアウト出来...
おすすめ情報