都道府県穴埋めゲーム

メインメニューのレイアウトで、情報入力ボタンと印刷ボタンを設定してあります。
情報入力ボタンをクリックすると「担当・顧客選択メニュー」に移ります。

「担当・顧客選択メニュー」の構成は
担当営業の選択 → コンボボックス
顧客情報(概要) → サブフォーム(担当営業コードで連結)
となっており、担当営業を選択すると担当顧客がサブフォームに表示される
様になっています。

サブフォーム上の顧客番号をダブルクリックすると
「顧客情報入力フォーム」の同一顧客番号の情報へと移動し、顧客情報の
追加や編集がでいる様になっています。

今まで、直接「顧客情報入力フォーム」をあけると、画面下のレコード移動ボタンが
1/XXXXとなり、全顧客数と表示されている顧客が何番目の顧客であるかが
表示されていました。

今回、「担当・顧客選択メニュー」から上記の方法で「顧客情報入力フォーム」を
開けるとレコード移動ボタンの表示が1/1となり、その右にフィルタ適用と表示
されます。これの理屈は理解できるのですが、レコード移動ボタンを押すと
2/2となり、真白なブランクフォームが表示されてしまいます。

また、「担当・顧客選択メニュー」からダブルクリックで「顧客情報入力フォーム」へ
移動すると、同一顧客番号で移動しているはずが顧客番号がブランクの画面が
表示されてしまいます。「戻る」ボタンで再度同じ事をやると、今度はちゃんと
表示されます。

これがなぜそうなってしまうのか全くわかりません。
フィルタがかかっている状態で2/2となるのはなぜなのか、
ダブルクリックで同一顧客番号へ移動するはずが顧客番号なしのブランクフォームが
表示されるのはなぜなのか?

お心当たりのある方、改善策のヒントを頂ければと思っております。

宜しくお願い致します。

A 回答 (2件)

用語が一定で表記されていないので読解にとまどいます。


(顧客情報=サブフォーム=子フォーム?、顧客番号=顧客CD?)


2/2の表示が出て、「顧客情報入力フォーム」がすべて
ブランクになるということは、「顧客情報入力フォーム」の
レコードソースの新規レコードに移動したということです。
試しに入力してテーブルにどのように反映されるか確認
してみてはどうですか。入力しなければ何も反映されません。
(入力してもフォームの鉛筆マークが出ていれば一旦
レコードを前にもどしてレコードの保存を確定してください。)

どうしてもフィルターをかけたレコードのみを表示し、
新規レコードに移動可能にしたくないのであれば、
「顧客情報入力フォーム」のプロパティで
移動ボタンを「いいえ」にしてください。


補足の、

>但し、子フォームの訪問情報には顧客コードと過去に入力した
>履歴情報が親フォームで指定した顧客番号とは関係なく
>表示されています。

は子フォーム(サブフォームのこと?)のレコードソースの
設定がうまくいっていないのでは、と思いますが。
レコードソースのSQL文をよく確認してみてください。
抽出条件など。

この回答への補足

何度もご説明いただき、ありがとうございます。
用語の取扱に関しては、確かに統一しておりませんでした。
ご理解しづらい部分がありました事、お詫び致します。

サブフォームの訪問情報の部分に関しまして、再度作成
してみました。今度はメインフォームの顧客CDと一致した
データが表示されました。ご指導ありがとうございます。

しかし、タブで進めると確かにブランクフォームにたどりついて
しまい、新規入力の様な画面になってしまいます。
新規ボタンを作成し、この表示にさせるのであればわかるのですが
タブで進めた結果、この表示になってしまうという事に関しては
まだ改善しなければいけないと思っています。

例えば各ページの最後のテキストボックスに移動したらタブの動きを
止める、とか、メインフィールドの顧客CDへ移動させる、とか・・・・
どうしてもブランクフォームを出したくないので、自分なりに色々
考えながら苦しんでおります。

何かヒントの様なものがございましたら、またご指導下さい。
宜しくお願い致します。

色々とありがとうございました。

補足日時:2010/12/10 15:29
    • good
    • 0

いつから & いつまでは、ご質問のようにならなかったのでしょう?


以前のファイルは有りませんか。
実際に見てみないことには何ともいえませんが、たとえば
クリック時イベントで開くときに
Filter を設定しているとか
WHERE (Criteria)の設定とか
あるいは
メイン・サブフォーム間で親フォームのレコードしか
子フォームに出ないようにしているとか
・・・
ではないでしょうか?
自信ありません (-_-;)

開発中は(も)世代管理を行って数世代前まで戻れるように
しておいたほうが良いと思います。
データベース自動バックアップ関数 (FSO)
http://www.moug.net/tech/acvba/0070012.htm

この回答への補足

ありがとうございます。以前のファイルは保存しています。
そのファイルですと、「担当・顧客選択メニュー」から
顧客番号をダブルクリックでブランクフォームが表示される事は
ないのですが、レコード移動ボタンには2/2が現われて
しまいます。
フィルタ適用表示も現れます。
親フォームのプロパティを調べますと、

フィルタ → 顧客CD=XXXXXXXX
読み込み時にフィルタを適用 → いいえ
データ入力用 → はい
削除の許可 → はい
更新の許可 → はい
フィルタの使用 → はい

となっていました。
試しに「フィルタの許可」をいいえにして確認しましたら
フィルタ適用の表示は無くなりましたが
2/2への移動は可能な状態でした。

2/2へ移動した際には親フォームの顧客番号をはじめ
情報が表示されるフィールド全てがブランクとなります。
但し、子フォームの訪問情報には顧客コードと過去に入力した
履歴情報が親フォームで指定した顧客番号とは関係なく
表示されています。
もしかしたら訪問情報の顧客番号と親フォームの顧客番号の
連結の設定がいけないと考えられますでしょうか?
他のF-ルドは全てブランクになっています。

補足日時:2010/12/09 11:26
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す