
accessはほぼ初心者です・・
メインの入力テーブル、県名のテーブル、地域名のテーブルを作り
フォームで県名を選んだら隣のコンボボックスに地域名を表示するようにしました
苦労の結果、ようやく名前が出るようになったのですが、テーブルに保存されません
正確に言えば、例えば福岡県を選んで博多と選択すると
博多と天神など福岡県にぶら下がっているものは覚えるけど、他の地域は覚えてない状況です
他の県を選択すると、博多等は消えてやはりその県の結果にぶら下がっているものしか覚えません
またその際、テーブルを見ると県名でなく県名のテーブルで地域コードで記録されています(福岡なら2など)
この時点で拾ってくる情報が間違っていると思っているのですが、列数や連結列等何度も見なおしていますがよくわかりません
これだけの情報で状況が理解しにくいとは想いますが、何か見直すポイント等を思いつかないかと思い投稿させてもらいました
よろしくお願いします
No.3ベストアンサー
- 回答日時:
こちらなどが参考になるでしょう。
コンボボックスの連動
http://ww3.tiki.ne.jp/~kaya/Ac_tips_sample01P1.h …
3ページ目の帳票フォームの場合まで読んでください。
> またその際、テーブルを見ると県名でなく県名のテーブルで地域コードで記録されています(福岡なら2など)
コードを記録するのが普通の方法です。
件名を表示したければ、クエリなどで対応するようにします。
上記を参考にして、なお上手くいかない場合は
県名と地域名のコンボボックスのプロパティなどを
詳しく記述してください。
この回答への補足
コードを記録するのが普通・・・目から鱗です^^;
現在県名はそのまま、地域がコードで記録出来ているので両方コードで記録するようにいじってみます
ちょっとあがいてみます。。
教えていただいた方法とは違うのですが
結果的にテーブルに地域名が保存されるようになりました\(^o^)/
よくわからないままなったというのが本音ですが。。
SQLのステートメントの順番を並び替えたら(たぶん)保存されるようになったと思います
皆様の回答は大変勉強になったのですが、コードを記録するのが普通というのを教えてくださったこの回答をBAにしたいとおもいます
ありがとうございました
No.4
- 回答日時:
地域名のテーブル内容、フォームの形式で実現方法は変わってくると思います。
地域名のテーブルの構成が
都道府県ID, 地域ID, 地域名
だとした場合
1)都道府県IDと地域IDで主キー
都道府県ID, 地域ID, 地域名
1 1 札幌
1 2 旭川
1 3 帯広
2 1 青森
2 2 八戸
2)地域IDが主キー
都道府県ID, 地域ID, 地域名
1 1 札幌
1 2 旭川
1 3 帯広
2 4 青森
2 5 八戸
「コンボ県」と「コンボ地域」があったとして、
「コンボ県」の連結値が 都道府県ID と仮定します。
・検索用に作ったとか、連結していない場合
(上記1)2)区別なく以下で実現できると思います)
「コンボ地域」値集合ソースに
SELECT 地域ID, 都道府県ID, 地域名 FROM 地域名テーブル
WHERE IIF(IsNull([コンボ県]),True,都道府県ID=[コンボ県]);
列数は 3 で、連結値が 地域ID となるようにします。(上記では連結列 1)
列幅を 0cm;0cm;3cm とすると地域名だけが表示されます。
以下のイベントで処理を記述します。
Private Sub コンボ県_AfterUpdate()
Me.コンボ地域 = Null
Me.コンボ地域.SetFocus
End Sub
Private Sub コンボ地域_Enter()
Me.コンボ地域.Requery
End Sub
Private Sub コンボ地域_GotFocus()
Me.コンボ地域.Dropdown
End Sub
Private Sub コンボ地域_AfterUpdate()
If (Not IsNull(Me.コンボ地域)) Then
If (IsNull(Me.コンボ県)) Then
Me.コンボ県 = Me.コンボ地域.Column(1)
Me.コンボ地域.Requery
End If
End If
End Sub
「コンボ県」が変更されたら、「コンボ地域」を未選択にし、フォーカスを強制的に「コンボ地域」へ移動します。
「コンボ地域」ではフォーカスが得られる時に再クエリしておいて、ドロップダウン表示(不要なら記述しない)に。
「コンボ地域」が変更された時、「コンボ県」が選択されていなかったら設定&自分の再クエリ
「コンボ県」が選択されていない場合、「コンボ地域」では全て表示しましょう、という動きとなってます。
以下は、「コンボ県」「コンボ地域」が連結されていた場合で、表示形式により実現の仕方が変わってきます。
「コンボ県」のコントロールソースは、「都道府県ID」
「コンボ地域」のコントロールソースは、「地域ID」 とした前提となっています。
・フォーム単票形式では上記1)2)区別なく以下で実現できると思います
上記イベントでの記述に以下を追加します。
Private Sub Form_Current()
Me.コンボ地域.Requery
End Sub
Private Sub Form_Undo(Cancel As Integer)
Me.コンボ県 = Me.コンボ県.OldValue
Me.コンボ地域.Requery
End Sub
「レコード移動時」に「コンボ地域」を再クエリします。
キャンセルされたら、「コンボ県」を元の値に戻して「コンボ地域」を再クエリ
・フォーム帳票形式では、「コンボ地域」部分にコントロールを重ねることをします
1)の場合、以下を参照してみてください
(コンボボックスにテキストボックスを重ねる)
帳票フォームの複数コンボボックスで絞り込み
http://hatenachips.blog34.fc2.com/blog-entry-73. …
2)の場合、以下を参照してみてください
(コンボボックスにコンボボックスを重ねる)
コンボボックスの一覧を入力時のみ制限する方法~帳票形式編~
http://www.f3.dion.ne.jp/~element/msaccess/AcTip …
※ 上記において、他テーブルに格納していく値は、
「都道府県ID」「地域ID」を前提としていましたが、実際にはどうなのでしょうか。
(何か違うものを格納したいような感じにも見受けられましたが)
この回答への補足
>「都道府県ID」「地域ID」を前提としていましたが、実際にはどうなのでしょうか。
実際に県名を地域名をテーブルにダイレクトに記録したかったのですが、下のアンサーででも出てるようにコードを記録するのが一般的みたいですね^^;
上記も参考にしてちょっとやってみようかと思います
No.2
- 回答日時:
失礼しました。
コンポボックスは必要です。>博多と天神など福岡県にぶら下がっているものは覚えるけど、他の地域は覚えてない状況です
以前この件で悩みました。
フォームを開いたとき最初の県名に対して地域名が貼りつき、
次に県名を変えても貼りついた地域名は変更されない
もっと良い方法があると思いますが
苦肉の策です。県名を変える都度一旦フォームを閉じて、再び開く仕掛けで対処しています。
以下納品書フォーム(あなたが作成されたフォームでよいと思います)をもとに説明します。
フォームには[県名]と「地域名」のコンポボックスがありますね
これに 終了のラベルボックスを追加
県名を変えるとフォームを一旦閉じるので県名を控えておく「メニュー」フォームを追加します。
「メニュー」に 県名のテキストボックスを配置します。
VBAは大丈夫ですね
メニューフォームに次のようにコーディングします。
Private Sub Form_Activate()
If 県名 > 0 Then DoCmd.OpenForm "納品書"
End Sub
納品書フォームのコーディング
Private Sub Form_Load()
県名 = Forms!メニュー!県名
End Sub
Private Sub 県名_Change()
Forms!メニュー!県名 = 県名
DoCmd.Close
End Sub
Private Sub 終了_Click()
Forms!メニュー!県名 = 0
DoCmd.Close
End Sub
この件2000年頃(ACCESS2000)に気づきましたが、ACCESS2010になっても同じ現象です。
きっと何かちょっとしたことで解決すると思いますが…
(MICROSOFTが12年もほっておくはずがない)

この回答への補足
一旦閉じてまた開くのですか^^;
これはちょっと・・入力者からクレームがきそうなのでやめておきます
ちなみに手動で開いて閉じてをやってみたんですが、やはり覚えてないみたいです・・最も2番目のレコードを最初に開いたわけではないですが^^;
どうも次のレコードに移動した瞬間消えてるきがします。。
話は脱線しますが
マイクロソフトは10年何もやってない可能性もありますよねw
IMEの変換能力ときたら昔から何も変わってないですし・・
No.1
- 回答日時:
?このフォームの目的は何ですか
?ここではコンポボックスは必要ない
?テーブルの設計に無理があるようです
県名テーブルと地域名(市町村名)テーブルはリレーション設定されていますか
リレーションシップの図を示していただくと問題点が見えてきます。
例を添付します。
T_県名の都道府県IDとT_地域の市区町村IDはオートナンバー型で主キーに設定します
T_地域の都道府県IDは長整数型の数値に設定します
※図よりT_県名とT_地域は1対Nの関係にあることが読み取れますね
※これでT_県名を開くとフォームがなくとも県名と地域が登録できます
フォームの設計は[作成]-[その他のフォーム]-[フォームウィザード]と入ってください
あとはナビしてくれます。

この回答への補足
回答有り難うございます
>?このフォームの目的は何ですか
入力用フォームです
テーブルB(県名)とテーブルC(地域)から引っ張ってきた情報をテーブルAに反映させたいのです
>?ここではコンポボックスは必要ない
これがよくわからないのですが
県名を選択した後、地域名が多数出ないようにするには絞り込みの必要がありますが、コンボボックスはいらないということでしょうか?
>?テーブルの設計に無理があるようです
テーブルAの県名と地域名が反映されるようにしているだけです
コンボを使わないと素直に入りますw
コンボの設定が間違っているというとこまではわかるのですが。。
リレーションも例の様にやってみたのですが
自分が元から作っているやつはうまくいきませんが
新規で作った分は少なくともデータは残るようになりました
絞り込みをやると同じ様に消えてしまいますが。。。
ちょっとなんとかならないかあがいてみます
有り難うございました
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- SQL Server DBのテーブルの設計ができず困っています。 2 2023/06/29 16:43
- 転職 下記のような募集は、良い会社でしょうか?どう思いますか?入ってみたら良くない事が無いでしょうか? 4 2023/03/03 16:40
- Access(アクセス) Accessにインポートした複数のテーブルを表示させる方法が分かりません。 1 2023/01/30 20:22
- その他(行政) 地方創生、県庁職員、または詳しい方 2 2023/04/18 07:14
- 九州・沖縄 博多弁について ・福岡県以外の方から見て、博多弁でいいな〜って思うセリフだったり、言葉ありますか? 9 2022/10/24 12:16
- 東海 浜松市の地域猫に出会えるスポット 2 2022/10/01 16:29
- MySQL PhpMyAdminで作成して実行せよ。 東京23区を、皇居を中心とした4つのエリア(南東, 南西, 1 2023/06/11 11:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access 複数条件検索の設定が上...
-
アクセスのコンボボックスの重...
-
Access コンボボックスの値を...
-
Access パラメータークエリ VBA...
-
ControlTypeの切り替えはデザイ...
-
コンボボックスの値が変更され...
-
コンボとセットの違い
-
麻原彰晃について 空中浮揚は勿...
-
「ぱーりない」「パーリナイ」...
-
ラテン語で「闇」を意味する単...
-
眠剤について教えてください。...
-
入り口と出口の間には、何があ...
-
コンパって何の略ですか?
-
大パーティーでのすごし方
-
村上ファンドの娘さんが、父親...
-
梶井基次郎の「闇の絵巻」という...
-
アオミドロに転生したら嫌です...
-
男性の方に質問です。 女性の言...
-
異世界転生してそこでコンビニ...
-
転生アニメの食事問題。 日本人...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access コンボボックスの値を...
-
コンボとセットの違い
-
Access 複数条件検索の設定が上...
-
コンボボックスの値が変更され...
-
アクセスのコンボボックスの重...
-
Access パラメータークエリ VBA...
-
アクセス コンボボックス VBA
-
access vba コンボボックス 読...
-
VBAで検索した結果をコンボボッ...
-
↓Twitterで流行ってるこれって...
-
ACCESSコンポボックス
-
ControlTypeの切り替えはデザイ...
-
「コンボ」の意味教えてください
-
MP3が聞けるオーディオコンボ
-
しょーもない質問ですが…
-
accessの連結コンボについて
-
ラテン語で「闇」を意味する単...
-
「ぱーりない」「パーリナイ」...
-
梶井基次郎の「闇の絵巻」という...
-
タイムリープ経験者いますか。...
おすすめ情報