お世話になります。
現在郵便を送るための住所欄につきまして、普段は登録している企業を選択したら情報を引っ張ってくるのですが、たまに1回だけ送るような企業が存在します。
わざわざ企業登録フォームから登録するのも手間だし不要なので、直接住所欄に記入したいのですが…。そんなことは可能でしょうか。
タイトルのように普段は連結テキストボックス(またはこんぼぼっくす)を
非連結ボックスに変身させたいというわがままな要望になります。
「今回限り」みたいな別フォーム(ポップアップ)を作って、簡易登録させて
追加クエリで、、とかになりますでしょうか。
「現在郵便を送るための住所欄」があるフォームのレコードソースは何でしょうか。
テーブル名 郵送履歴
フィールド名 郵送履歴ID、発送日、企業CD
というような感じでしょうか。
「普段は登録している企業を選択したら情報を引っ張ってくる」とは具体的にどのように実現してますか。
(コンボボックス、オートルックアップクエリ、VBA・・・)
フォームは単票フォームですか。
現在は郵送履歴は残していませんでしたが、残したいと思っていたので
先程記載した現状のフィールドに「発送日」も追加予定です。
ご確認ありがとうございます。「F送付」のレコードソースはクエリになっています。
住所等の情報は「T会社情報」にあり、「Q送付」にひっぱっています。
Q送付のフィールド名は 送付ID、郵便番号、住所1、住所2、会社ID、会社名、部署名、氏名ID、氏名、送付資料1、送付資料2・・
といった感じです。
「普段は登録している企業を選択したら情報を引っ張ってくる」についてですが、
「F送付」の「cbo氏名ID」にて氏名を選択すると以下VBAが動きます。
フォームは帳票です。
アイデアがあるとうれしいです。ご検討ありがとうございます。
フォームは帳票にしていますが、よく考えたら単票でもいいです。
都合の良い方で宜しくお願い致します。
不足している情報は勝手に推測して、テーブルは下記と仮定します。
T送付履歴
送付ID、発送日、会社ID、送付資料1、送付資料2、・・・
T会社情報
会社ID、会社名、部署名、郵便番号、住所1、住所2、・・・
先頭のフィールドが主キー
T送付履歴 に下記のフィールドを追加します。
仮(Yes/No型)、仮会社名、仮部署名、仮郵便番号、仮住所1、仮住所2
上記のテーブルからクエリを作成してフォームのレコードソースとします。
フォームは単票フォームとします。
会社名、部署名、郵便番号、住所1、住所2 のフィールドはテキストボックスとしてフォーム上に配置します。
「編集ロック」は「はい」にしておきます。(マスターが不用意に更新されないようにするため)
また、フィールドの追加やウィザードで配置したテキストボックスの名前はフィールド名と同じになっているので、それぞれの名前を、
txt会社名、txt部署名、txt郵便番号、txt住所1、txt住所2 というように変更しておきます。
あと「仮」フィールドもフォーム上に配置します。Yes/No型なので、チェックボックスになります。
フォームのモジュールに下記のイベントプロシージャを作成します。
これで、仮チェックボックスにチェックを入れると、会社名、住所等を入力できるようになり、
仮会社名、仮住所1 ・・・に格納されます。
レポートでは、例えば会社名のテキストボックスのコントロールソースは、下記のように設定します。
=IIf([仮]=True,[仮会社名],[会社名])
以上、一例です。
ありがとうございます!
テキストボックスを切り替えることができるのですね!!すごい。
理解できたつもりですが、作成してみてわからないところがでてきたら改めて質問させていただきたいと思っています。
申し訳ありませんが、その際は宜しくお願い致します。
また、色々考えている内に本件について追加の欲望もでてきたので、その件も行き詰ったら質問させていただきたいと思っております。すみません。
早速の質問恐れ入ります。
まず、企業名はコンボボックスだったため以下設定にしてみました。(正しいでしょうか…?)
そして、チェックをつけたりはずしたりした時の挙動がよくわからなかったので
実行のタイミングをチェックボックス更新にしてみました…問題ありますでしょうか。
そして今困っている点です。チェックボックスを切り替えたとき、
不要な情報を消したいのですが、色々エラーが出てうまくいきません。。
まだ作成途中なので、これらの設定では今後不具合が出てくるのかもしれませんが
とりあえずチェックボックスの切替で悩んでいる状況です。
可能なら、実際のファイルを見せてもらった方が速いです。
コードだけでは全体像がつかめないし、出ている情報だけからサンプルを作成して動作確認するのもちょっと困難なので。
右カラムの下の方にあるファイル送信フォームから現状のファイルを送信てもらえませんか。
テーブルデータは個人情報も入っていると思いますので、削除しておいてください。
ご検討ありがとうございます。
そうですよね。申し訳ありません。
実際のファイルを送ることができないので、時間ができたら簡単なものを作ってみたいと思います。その前に、本件に関する別件で質問です。
(この件もファイルを送らないと伝わりづらかったら申し訳ありません、その場合は改めます)
上記コードの1つ目の件で、登録された企業はコンボボックスとテキストボックスを切り替えて表示しているのですが、未登録企業チェックを入れたときコンボボックスにロックをかけますが、表示されてしまうので紛らわしい状態です。(タブストップも適用される)
コンボボックスを非表示にすることはできますか?
表示/非表示の切り替えは、Visibleプロパティで可能です。
AccessVBAの基本8~可視・使用可能プロパティの変更