Microsoft Access 掲示板

抽出条件を満たさなくなってもレコードが除外されないでほしい

9 コメント
views
4 フォロー

お世話になります。

規定の文字数を超え、テキストボックスから文字がはみ出している可能性のあるレコードを抽出し、カット&ペーストで文字数調整を行うフォームを作成しています。

フォームには実際にはみ出しているか確認するために、レポートを印刷プレビューで表示するボタンと、Requryを行う再読み込みボタンがあります。

文字数調整を行った後、もう一度レポート表示ボタンを押すと変更後のレコードが反映されたレポートが表示されるようにしたいのですが、テキストボックスの更新後処理にどのような記述をすればよいでしょうか?
試しに更新後処理でRequeryを記述すると、抽出条件を満たさなくなると、変更した時点でレコードが除外されてしまい確認を行えなくなってしまいます。

説明が下手で申し訳ありませんがイメージ的には、変更した後に次レコードに移動してまた戻ってきた時のような状態にしたいです。レコードの更新の保存(Shift+Enter)を、更新後処理に記述したいということです。

Anko
作成: 2023/11/20 (月) 15:24:18
最終更新: 2023/11/20 (月) 15:43:19
通報 ...
1
りんご 2023/11/20 (月) 15:31:05 935bc@0e907

 文字数調整じゃなくて、テキストボックスの幅で調整しないの?

2

しません。

4
りんご 2023/11/20 (月) 15:49:07 935bc@0e907 >> 2

何か特別な理由があるならば、提示したほうが回答がつき易いですよ?

5
Anko 2023/11/20 (月) 15:58:32 修正 7fdfc@46fae >> 2

テキストボックスを広げて対応するのが普通なのですか?
レコードも文字長に合わせてテキストボックスを広げるといった方法はあまり聞きません。
レポートは最大サイズが決まっていますので、どこまでもテキストボックスを広げるわけにはいきません。
そして全ページのテキストボックスではみ出していないか調べる必要がありますし、レイアウト的にも不格好になります。

7

テキストボックス幅を広げて対応する理由をご教示下さい。

3

連結テキストボックスを更新しただけでは、レコードソースのテーブルに反映されません。
レコード保存を実行する必要があります。
レコード移動で実行されます。
レコード保存コマンドを実行すればレコード移動しなくても保存されます。

Docmd.RunCommand acCmdSaveRecord
6

正に実現したい機能でした。教えてくださりありがとうございました。😄

8
りんご 2023/11/21 (火) 09:24:43 935bc@0e907

>> 7
 ExcelやWordに例えるとわかります。
 文字列が途中で途切れたらセルの幅を広げたり、最大文字列に合わせて列の幅を広げたり、しませんか?
 印刷用紙に収まらないならば、レイアウトが崩れるならば、規定の文字数を最初からオーバーしないように入力項目・内容から再検討しませんか?
 データベースのレコードが文字数調整で更新・保存される事は普通ではありません。最初からそうならないように設計からやり直さないの?
 うーん、納得いかなければ、hatenaさんに意見を求めてみたらどうですか?

9
すずやん 2023/11/21 (火) 09:53:04

ご質問の文章を拝見すると、「規定の文字数」の規定の理由が明確に記載されてなかったので、回答が迷走している感じがします。

最初に「レポートは最大サイズが決まっていますので、どこまでもテキストボックスを広げるわけにはいきません。」という記載があれば、その後の回答がスムーズになったかと思います。
※そういう意味で「何か特別な理由があるならば提示したほうが回答がつき易いですよ?」と記載されているのかと思います。

使用される環境によって、出力帳票の仕様は様々かと思いますので、同しようもないときもありますね。大きな会社ですと、レイアウトを一箇所変えるのも申告書が必要だったり、工場側のすべてのプリンターで正常に表示されるか確認が必要になることもあるので、結構厄介なケースもあります。

ただ規定の理由が不明瞭な場合、修正コストを考えると「ちょっとテキストボックスを広げるだけ」のほうが圧倒的に簡単ですぐに修正できます。

なので、自分の望む方向の回答が欲しい場合は、なるべくすべての条件を記載されるのが良いかなと思います。