- ベストアンサー
演算結果をテーブルに格納
いつもお世話になっております。 Access2000で、演算した結果をテーブルに格納するにはどうしたらいいのでしょうか? 例えば、ある商品の合計金額をSum([金額])で計算させて、それを後々使いたいのでテーブルに格納しておく…というようなことをしたいのです。 フォームから入力したデータを演算させることまでしかわからないので^^; できればサルでも解かるくらい解かりやすく説明していただけるとありがたいです。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
フォームで使用しているクエリを追加クエリに変更するとフォームが使えなくなります。 フォームから演算値をテーブルに保存するにはフォームに作ったレコード保存ボタンかフォームを閉じるボタンなどのプロシジャに記述を追加すればできます。 ボタンのプロパティを開きクリック時イベントに レコード保存ボタンの場合は Private Sub コマンド1_Click() On Error GoTo Err_コマンド1_Click Me![テーブルの格納したいフィールド名] = Me![フォームの演算した結果のフィールド名] ←この部分を追加する DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70 Exit_コマンド1_Click: Exit Sub Err_コマンド1_Click: MsgBox Err.Description Resume Exit_コマンド1_Click End Sub フォームを閉じるボタンの場合は Private Sub コマンド2_Click() On Error GoTo Err_コマンド2_Click Me![テーブルの格納したいフィールド名] = Me![フォームの演算した結果のフィールド名] ←この部分を追加する DoCmd.Close Exit_コマンド2_Click: Exit Sub Err_コマンド2_Click: MsgBox Err.Description Resume Exit_コマンド2_Click End Sub フォームのフィールド名とテーブルの格納したいフィールド名が同じだとエラーになりますので気を付けてください。
その他の回答 (1)
- Ryokucha
- ベストアンサー率25% (115/450)
2000ではないのですが仕組みは同じはずなので回答してみます。 演算はクエリーでやっているのですよね? (1) そのクエリーをデザインで開くと、 (2) メニューバーの中に「クエリー」というのがあると思うのですが、それを押すと「選択」クエリーになっていると思います。 (3) それを「テーブル作成」クエリーに選択しなおすと、作成するテーブル名を聞いてきますので、適当な名前を付けます。 (4) それでそのクエリーを保存して、開くと結果は先ほど指定したテーブルとして作成されるはず! どうでしょう?
お礼
ありがとうございました。 残念ながらクエリでの実現は無理だったんで…フォーム上でコマンドボタンのイベントにVBAですべきかなぁ…って考え中です^^;
お礼
わかりやすい説明、ありがとうございました。 緊急だったため、結局VBでSQLをinsertする方法で対処しました。 SQLをきるよりはるかに簡単ですね…勉強になりましたm(__)m