いろいろ試してやってみたのですが、VBA等がド素人の為に、応用がききません。
すみませんが、どなたか教えてください!
フォーム【社員データ(実績入力)】にテキストボックスで作った非連結の計算式があります。
「合計提案件数」コントロールソース=nz([参加賞])+nz([F賞])+nz([E賞])+nz([D賞])+nz([C賞])+nz([B賞])+nz([A賞])+nz([ア参加賞])+nz([ア提案賞])+nz([ア努力賞])+nz([アイデア賞])
それをテーブル【T社員データ】の「合計提案件数」(数値型)という場所にデータを反映させたいです。
いろいろやってみたのですが、エラーばっかりです(><)
ちなみに、このフォームは、【T社員データ】をクエリにして、職場検索をかけ、抜粋した職場のメンバーのみを、フォームで表示するようにしています。
質問内容をご理解いただけましたでしょうか。
すみませんが、宜しくお願い致します。
No.6ベストアンサー
- 回答日時:
1.全件(全社員、全職場)一括でやるのか
2.フォームで表示している社員だけ計算して、職場ごとも選択的に計算させるのか、職場ごとは一括でもいいのか
3.そもそも頻度は?日次、週次、月次、四半期、年次?
等々、掘り下げていくと何にドライブさせるかによるっていう感じです。
よく分かりませんが更新クエリ(Update文)を掛けるときはWhrere条件もあった方がいいかもしれませんね。
更新したい社員だけを選ぶクエリーと、合計を出すクエリ等々、やりたいことの部分的なクエリーをまずは別々に作って、SQLビューでどういう文になるか見て、序々に組み合わせていくってしていけばなんとか思うようなSQL文が書けるのではないかと思いますよ。
がんばってください。
No.4の方法をとらせてもらいました。
今回は、"アクセスはこういうもの"という事が大変勉強になりました。ありがとうございました。
インターネットを見れる環境になく、今までお礼が遅れてしまったことをお詫び申し上げます。
また、宜しくお願い致します。
No.5
- 回答日時:
Private Sub cmd79更新_Click()
Dim stSQL as String
strSQL = "UPDATE T社員データ SET 合計提案件数 =" & txt合計提案件数
DoCmd.RunSQL strSQL
End Sub
で、やってみてください。txt合計提案件数は、フォームに非連結で表示されてる合計数ですよ。
お礼が遅くなりすみませんでした。
休み中、インターネットを見ることが出来なかったので、VBAによる算出はあきらめ、コントロールに計算式を入れてやる方法をとりました。
少し時間はかかりましたがなんとか算出することができました。
そして、No.5の方法もやってみたのですが、やはりダメでした。自分なりに本等で勉強してみます。
取り急ぎお礼まで。
ありがとうございました。
No.4
- 回答日時:
> それらの個人実績から職場毎の合計をさらにフォームで出したい
→クエリで出せばいいのでは。個人実績クエリ、職場毎合計クエリとか。「合計」ってできますよ。
ますますテーブルに書き込む必要はなさそうです。
No.3
- 回答日時:
strSQL = "UPDATE T社員データ SET 合計提案件数 =" & 「合計提案件数」コントロールソース
DoCmd.RunSQL strSQL
でできませんか?自宅なので検証はしてませんけど。
この回答への補足
あらかじめ設定しておいたボタンの「イベントのクリック時」に設定しました。
が、コンパイルエラー「変数が定義されていません」というエラーが出てしまいました。
PAPAさんに言われたとおりにやったものが、以下の通りです。
全く同様にしたつもりですが...
なにか違うのでしょうか??
Private Sub cmd79更新_Click()
strSQL = "UPDATE T社員データ SET 合計提案件数 =" & "=nz([参加賞])+nz([F賞])+nz([E賞])+nz([D賞])+nz([C賞])+nz([B賞])+nz([A賞])+nz([ア参加賞])+nz([ア提案賞])+nz([ア努力賞])+nz([アイデア賞])"
DoCmd.RunSQL strSQL
End Sub
No.1
- 回答日時:
タイトルなどから仕様を想像するに、おそらくそのフォームで参加賞やらF賞のデータを入力して、その合計が合計数としてテキストボックスに表示されているんですよね??
で
おそらく他のテーブルに参加賞やらF賞のデータが入っているんではないかと想像するのですが。もしその値が必要ならそれらをその都度引っ張ってくればよいだけかと。
計算で出てくるデータは極力テーブルには入れないというのが基本です。
この回答への補足
そうです、その通りです!
そうなんですか、そのような方法が基本なんですね...
ただ、それらの個人実績から職場毎の合計をさらにフォームで出したいのです。
だとすると、職場ごとのフォームで別途、合計値を非連結で作成したほうがいいということでしょうか?
でも、勉強になります、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データがあれば○○なければのSQL
-
ACCESSのクエリ、SQLに変数を使...
-
VBAでテーブル名とカラム名を動...
-
アクセスで定数を利用したい。
-
ACCESS VBAでテーブル内の特定...
-
重複した複数のレコードを1レ...
-
ACCESS DCOUNTの抽出条件について
-
別のaccessファイルからデータ...
-
SQLServer→Access インポート
-
Access2010のレポートで出来る...
-
「ご処理進めて頂きますようお...
-
エクセルで、日付を入力すると...
-
Excelシート上のマクロを登録し...
-
エクセルVBAで、MsgBox やInput...
-
CloseとDisposeの違い
-
switch の範囲指定
-
DoEventsがやはり分からない
-
アクセスVBAのMe!と[ ]
-
VBA エンターキーでイベントに...
-
VBAでループ内で使う変数名を可...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データがあれば○○なければのSQL
-
ACCESS DCOUNTの抽出条件について
-
ACCESS VBAでテーブル内の特定...
-
Access vbaで重複レコードの削...
-
【access】複数のフィールドの...
-
SQLServer→Access インポート
-
ACCESSで実行時エラー3008
-
Accessで縦と横を入れ替えたい
-
抽出条件でデータ型が一致しま...
-
Access から Excelのシートをイ...
-
重複した複数のレコードを1レ...
-
VBAでテーブル名とカラム名を動...
-
別のaccessファイルからデータ...
-
ACCESSのクエリ、SQLに変数を使...
-
VB.NET2003でOraclの情報を取得...
-
こんなSQLの書き方はダメですか?
-
DAOでSQLServerに接続し、LeftJ...
-
アクセスで連続データをテーブ...
-
access追加クエリーでform入力...
-
Access BetweenとLikeの組み合...
おすすめ情報