No.7ベストアンサー
- 回答日時:
>同じフォームを何個か作って中身だけ替えたいのですが・・
>クエリで場合分けをしているので・・
場合分けの条件に合う各テーブルを基にクエリを各々作成してそのフォームに設定すれば良いんです。
フィールド名が同じなら同じフォームをコピーしてフォーム自体のプロパティの
レコードソースに作ったクエリを設定すれば出来ます。
プロパティのコントロールソースのビルダで=[クエリ名][フィールド名]で大丈夫なのでしょうか?
フィールド数×フォーム数が多いのでちょっと大変そうですがともかくやってみます。
ありがとうございましたm(_ _)mm(_ _)mm(_ _)m
No.6
- 回答日時:
>現在表示されているレコードの伝票番号に飛んでしまいました
前の記述はレコードを保存するだけの記述です。保存後フォーカスを移動する
だけです。次のレコードに移る場合は下記の記述になります。
Private Sub コマンド1_Click()
On Error GoTo Err_コマンド1_Click
Me![納品書金額] = Me![txt_納品書金額]
Me![納品書1本単価] = Me![TXT_納品書1本単価]
DoCmd.GoToRecord , , acNext
Exit_コマンド1_Click:
Exit Sub
Err_コマンド1_Click:
MsgBox Err.Description
Resume Exit_コマンド1_Click
End Sub
新規レコードの入力はまた別になります。
>でもMe![納品書1本単価]=Me![Txt_納品書1本単価]の部分を削除して・・
やはりTxt_納品書1本単価か納品書1本単価のフィールドに問題がありますね。
テーブルかフォームかどちらかを調べないとダメですね。
フォームのTxt_納品書1本単価フィールドが単に演算した結果のみ表示するフィ
ールドであり他になにか設定が無い限りテーブル側に問題があるのではないかと
考えられるのですが。
できましたぁ~(^O^)/(+感涙!)
本当にうれしいです。ありがとうございました。
そしてもうちょっとお世話になってもいいですか?
これと同じフォームを何個か作って中身だけ替えたいのですが
(クエリで場合分けをしているので項目は同じだけどデータ元が違う場合)
プロパティのコントロールソースをひとつひとつ変えていくしか方法はないのでしょうか?
項目名は同じなので「こっちではなくあっちのクエリから取ってきて」という
命令を一括でできると作業がはかどるのですが…。
迷惑かけついでに聞いちゃいます。よろしくお願いしますm(_ _)m
No.5
- 回答日時:
試しに簡単にDBを作って動かしましたがエラーは出ません。
下記の記述でテーブルに納品書金額も納品書1本単価もレコードは保存されます。
Private Sub 保存ボタン_Click()
On Error GoTo Err_保存ボタン_Click
Me![納品書金額] = Me![txt_納品書金額]
Me![納品書1本単価] = Me![TXT_納品書1本単価]
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
伝票No.SetFocus
Exit_保存ボタン_Click:
Exit Sub
Err_保存ボタン_Click:
MsgBox Err.Description
Resume Exit_保存ボタン_Click
End Sub
記述に間違えとくにMe![納品書1本単価]=Me![Txt_納品書1本単価]のところ。
後はテーブルの納品書1本単価のデータ型など確認してください。
この回答への補足
ご迷惑おかけします。
色々と原因を探ってはいるのですが未だ脱出できません。
でもMe![納品書1本単価]=Me![Txt_納品書1本単価]の部分を削除して
試してみるとなんとか保存はクリアできたのですが
次のタブが次のレコードの伝票番号にではなく、
現在表示されているレコードの伝票番号に飛んでしまいました。
あとMe![納品書1本単価]=Me![Txt_納品書1本単価]の部分の
「1」を半角にしたり色々書式をあわせてみたのですが
カーソルを別の行に移すと自動的に大文字に戻ってしまいます。
もうかなり八方塞がり状態で精神的にまいっております(*_*)
なにかお気づきの点がありましたら返信よろしくお願いします。
No.4
- 回答日時:
Me![伝票No].SetFocus
ではなく
伝票No.SetFocus でExit_保存ボタン_Click:の行の前に記述してみて下さい。
この回答への補足
訂正したものの、まだエラーが出ます。
かなり泣き入っておりますが諦めませんよ(: _ ;)
なにか気がついたことがあったら教えてください。
よろしくお願いします。
No.3
- 回答日時:
>次のレコードにタブが進みません。
通常タブ順に進んでボタンにフォーカスが移動した際にクリックやEnterキーを
押しても次に移動はしません。Tabキーでの移動になります。
EnterキーをクリックかEnterキー押下した際に行われるイベント内に移動する
記述を追加すればクリックかボタン押下で次のタブ順へと移動できます。
例えば
Me![テーブルのフィールド名] = Me![フォーム上の計算結果フィールド名]
に続けて
Me![テーブルのフィールド名] = Me![フォーム上の計算結果フィールド名]
コマンド2.SetFocus
とすればテーブルにフォーム上の計算結果を保存して次のコマンド2へ移動します。
Enterキーを押して保存したら次にどこのフィールドへ移動するか指定してくだ
さい。フィールド名に.SetFocusでフォーム上の好きなフィールドへ移動できます。
この回答への補足
Private Sub 保存ボタン_Click()
On Error GoTo Err_保存ボタン_Click
Me![納品書金額] = Me![txt_納品書金額]
Me![納品書1本単価] = Me![TXT_納品書1本単価]
Me![伝票No].SetFocus
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
Exit_保存ボタン_Click:
Exit Sub
Err_保存ボタン_Click:
MsgBox Err.Description
Resume Exit_保存ボタン_Click
こんな感じでやって見ましたが
なぜか「フィールドを更新できません」というエラーが出てきてしまいます。
そしてMe![納品書1本単価] = Me![TXT_納品書1本単価]の部分は
値が入らないままなのです。
一体何が…(>_<)
No.2
- 回答日時:
>この計算保存は1つのレコードに3つある場合「Me!…」を3回続けて書けば・・
計算して保存したいフィールドが3つあれば
Me![テーブルのフィールド名A] = Me![フォーム上の計算結果フィールド名1]
Me![テーブルのフィールド名B] = Me![フォーム上の計算結果フィールド名2]
Me![テーブルのフィールド名C] = Me![フォーム上の計算結果フィールド名3]
のように必要分追加して記述すてください。
>保存ボタンを用意した場合にEnterキーで保存・・
保存ボタンのイベントに上記の記述を追加しタブ順に進めてEnterキーで保存でき
ます。
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
こんな感じに追加して記述すればOKです。
この回答への補足
丁寧な回答、ありがとうございます。
なかなかいい感じに仕上がってきました。
ただここに来て1つ問題が発生しました。
計算をさせて保存ボタンを押した後に
次のレコードにタブが進みません。
これはどういうことなのでしょうか??
お手数ですが返信よろしくお願いしますm(_ _)m
No.1
- 回答日時:
フォーム上で計算した結果をテーブルに保存することはできます。
Private Sub コマンド1_Click()
Me![テーブルのフィールド名] = Me![フォーム上の計算結果フィールド名]
End Sub
これはボタンをクリックしたイベントにテーブルに保存する記述です。
フォーム上の計算させている名前はテーブルのフィールド名とは別のものにして
下さい。例えばテーブルが[計算結果]というフィールドであればフォームのフィ
ールド名は[計算結果1]の様に。
Me![テーブルのフィールド・・ の行の記述をフォームの閉じるボタンやレコード
の保存などのボタンのイベントに書き加えても使えます。
この回答への補足
ありがとうございますm(_ _)m
早速挑戦してみます。
質問なのですが、この計算保存は1つのレコードに3つある場合
「Me!…」を3回続けて書けばよいのでしょうか?
そして、保存ボタンを用意した場合にEnterキーで保存できれば最高なのですが。
お手数ですが返信よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Access クエリ 同一テーブル内 複数フィールドの同時集計のやり方について 1 2022/05/18 19:01
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- その他(Microsoft Office) Excelで時間計算(負) 8 2023/02/26 05:47
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- PHP 【PHP/MySQL】コード上で生成したクエリを基に集計クエリを作りたい 1 2022/07/28 15:06
- Excel(エクセル) エクセルでSUMIFS関数で条件範囲の部分が#valueになる。 4 2023/04/28 12:42
- Excel(エクセル) エクセルのSUM関数について 4 2023/04/18 10:37
- Excel(エクセル) Excelで在庫表(クエリ、ピボット) 2 2022/04/11 17:11
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
クエリのデータをテーブルに入れたい
Access(アクセス)
-
アクセス: フォーム上で計算した数字をテーブルに保存したい。
Access(アクセス)
-
Accessのテーブルのフィールドに式を入れる方法
Access(アクセス)
-
-
4
Accessのフォームで計算した結果をテーブルに表示したい
Access(アクセス)
-
5
フォームの計算がテーブルに反映するには?
その他(データベース)
-
6
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
7
前のレコードの値を自動で入れたい
PowerPoint(パワーポイント)
-
8
Acccessで2つのテーブルから1つのフォームをつくりたい
Access(アクセス)
-
9
Access 同じデータをたくさんのレコード(同一列)に一度に入力するには
Access(アクセス)
-
10
テキストボックスにクエリ結果を表示させたい
その他(データベース)
-
11
Accessで別テーブルの値をフォームに表示したい
その他(データベース)
-
12
accessで選択クエリで得た全レコードをテーブルに取り込む方法
その他(データベース)
-
13
アクセスのエラー「クエリには出力フィールドが1つ以上必要です。」
その他(Microsoft Office)
-
14
YES/NO型の値
Excel(エクセル)
-
15
Access レコードを追加できません。テーブル’○○’の結合キーがレコードセットにありません。
Access(アクセス)
-
16
access別のテーブルを参照してテキストボックスに値を表示、編集したい
Access(アクセス)
-
17
Accessでデータシートに同じデータがいくつもでてしまいます。
その他(データベース)
-
18
accessのレポートであとから他のテーブルのフィールドを追加する方法
Access(アクセス)
-
19
Accessの桁区切りについて教えてください。
Access(アクセス)
-
20
アクセスで追加した項目に全て同じ値を一発で入れたい
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスで追加した項目に全て...
-
Accessを開きなおすとテキスト...
-
テキストボックスにクエリ結果...
-
Access:値が求めたい値の2倍...
-
テーブルでメモ型になっている...
-
ACCESSのテーブル複数行...
-
Accessのテーブルのフィールド...
-
追加クエリで特定フィールドの...
-
Accessで、1つの項目に複数の...
-
Accessで、テーブルに入力した...
-
accessでの文字列の混ざった連...
-
更新クエリをリンクデータベー...
-
Accessのクエリでハイパーリン...
-
Access2002の重複クエリで大文...
-
Access クエリの演算フィールド...
-
Accessです。テーブルのフィー...
-
クエリの一つのフィールドのIIF...
-
途中で改行されたCSVをAccessに...
-
「[Microsoft][ODBC SQL Server...
-
AccessのテーブルにVBAでフィー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセスで追加した項目に全て...
-
Accessで、1つの項目に複数の...
-
テキストボックスにクエリ結果...
-
Accessを開きなおすとテキスト...
-
Accessのテーブルのフィールド...
-
テーブルでメモ型になっている...
-
Accessで、テーブルに入力した...
-
Access:値が求めたい値の2倍...
-
Accessのクエリでハイパーリン...
-
Access で 特定の文字の個数を...
-
更新クエリをリンクデータベー...
-
アクセスのクエリ 1文字以上を...
-
追加クエリで特定フィールドの...
-
accessでの文字列の混ざった連...
-
アクセス クエリのフィールド...
-
accessvba 複数条件でFilterを...
-
途中で改行されたCSVをAccessに...
-
access フォームを開くと「パ...
-
Access2002の重複クエリで大文...
-
【急】Access 4桁の数字の頭...
おすすめ情報