
Access初心者です。
ほかの類似の質問を検索して試してみたのですが、
どうしても同じようにできません。
もう1週間も同じところでつまづいています。
どなたか、初心者にもわかるように教えていただければ幸いです。
以下のようなテーブルがあるとします。
[都道府県] [市区町村]
東京都 新宿区
東京都 港区
東京都 渋谷区
神奈川県 横浜市
神奈川県 川崎市
神奈川県 藤沢市
埼玉県 さいたま市
埼玉県 熊谷市
埼玉県 三郷市
フォーム上で、 [都道府県]のコンボボックスで東京都を選んだ場合、
[市区町村]のコンボボックスには「東京都」の市区町村名が
選択できるようにしたいのですが、
一番最初のところで行き詰っています。
コンボボックスウィザードにしたがって
[都道府県]のコンボボックスを作成すると、
[東京都]
[東京都]
[東京都]
[神奈川県]
[神奈川県]
[神奈川県]
…
というリストが出てきてしまいます。
過去の質問を検索し、プロパティの値集合ソースで、
SELECT[都道府県]…FROM[テーブル名]の後に、
GROUP BY[都道府県]と書き加えたのですが、
こうするとリストが出てこなくなります。
いったいどうしたらよいのでしょうか。
ほとほと困っています。
どうかご教示ください。お願いいたします。
No.6ベストアンサー
- 回答日時:
ごめんなさい。
暑さで脳の中が煮えくり返り、大間違いをしでかしていました。
更新後処理ですから、
Private Sub cmb都道府県_AfterUpdate()
Me!cmb市区町村.Requery
End Sub
です。
cmb都道府県_BeforeUpdate(Cancel As Integer)
ではありませんでした。
それから、
>FROM句の構文エラーです
これは、テーブル名と値集合ソースの中のテーブル名に
違いが存在する可能性があります。
念のために、cmb都道府県とmb市区町村の値集合ソースの
実際のデータをコピーして示してもらえますか。
結構重要なところなので最後までつきあいます。
http://oshiete1.watch.impress.co.jp/qa5995365.html
このぐらいの長さなら大丈夫です。
最新のご回答にもうお礼をつけられなくなってしまったので、
こちらに改めてお礼を書かせていただきます。
piroin654さま、本当に本当にありがとうございました。
顔も知らない素人に辛抱強くおつきあいいただき、
一番心強かったのが「最後までつきあいます」のお言葉でした。
何度お礼を申し上げても足りません…本当にありがとうございました。
単純なる入力の間違いで何度もご面倒をおかけしたこと、
申し訳なく恥ずかしく思っております。
今までExcelのマクロも使ったことがなく
イベントプロシジャも初めて書きましたが、
何度も教えていただき一つずつ書き込んでいるうちに
なんとなく構文の意味が分かってきて、
もっとAccessを勉強したいと思うようになりました。
ここ1週間Accessなんて大嫌いだー!と思っていたのに(←逆恨み)
piroin654さまのおかげです。
Access,おもしろいです。もっと勉強します。
短い(でも濃い!)時間でしたが、ありがとうございました!
心から感謝しています。本当にありがとうございました。
No.7
- 回答日時:
それと、Mo5の(3)の
列数 1
列幅 2cm
No5の(4)の
列数 2
列幅 0cm;2cm
は重要なので必ず設定してください。
この回答への補足
あああ!で、できました!!!
cmb市区町村の最後の「cmb都道府県」に「[」が抜けていました(恥)
気づいて入力したら!できました!!!
本当に本当にありがとうございます!!!
piroin654さま、ご面倒をおかけし誠に申し訳ございません。
お暑い中お付き合いいただき、本当に感謝しております。
そして、おかげさまで一歩前進しました!
cmb都道府県が、グループ化できました!!!
ちゃんと3都県がリスト化されました(泣)
本当にありがとうございます!
ここに貼り付けるようにと仰られたとおりにしようと思って、
コピー&ペーストしたら…あれ、どこか違う、と思って、
再度手で入力したら、ちゃんとできました(恥)
「FROM句の構文エラーです」も出ず、ちゃんと動きました。
単純な入力間違いだったのですね…お恥ずかしいです。
ですが、cmb市区町村のほうはまだ駄目です…
最初のcmb都道府県と同じで、白い1行のリストが出てきてしまいます。
cmb都道府県は、
SELECT T住所.都道府県 FROM T住所 GROUP BY T住所.都道府県;
cmb市区町村は、
SELECT T住所.都道府県,T住所.市区町村 FROM T住所 WHERE(((T住所.都道府県)=[Forms]![F住所]!cmb都道府県]));
列数、列幅はそれぞれご指示どおりになっています。
まだお付き合いくださるとのこと、
なんてお礼を申し上げていいのかわかりませんが、
本当にありがとうございます。
お時間がある時で結構ですので、どうぞよろしくお願いいたします。
No.5
- 回答日時:
最初から説明します。
簡単に確認のため以下のようにしてみてください。
(1)
まず新しいフォームを作成してください。
名前をF住所とします。
(2)
フォームにコンボボックスを二つ設定します。
コンボボックスの名前をそれぞれ、
cmb都道府県
cmb市区町村
とします。
(3) cmb都道府県の設定:
値集合ソース:
SELECT T住所.都道府県
FROM T住所
GROUP BY T住所.都道府県;
列数 1
列幅 2cm
その他は既定
(4) cmb市区町村の設定:
値集合ソース:
SELECT T住所.都道府県, T住所.市区町村
FROM T住所
WHERE (((T住所.都道府県)=[Forms]![F住所]![cmb都道府県]));
列数 2
列幅 0cm;2cm
その他既定
(5) cmb都道府県の設定
cmb都道府県のプロパティの更新後処理の右端を
クリックし、ビルダの選択を表示し、コードビルダ
をクリックします。コード表が表示され、
Private Sub cmb都道府県_BeforeUpdate(Cancel As Integer)
End Sub
と、表示されます。そこで
Private Sub cmb都道府県_BeforeUpdate(Cancel As Integer)
Me!cmb市区町村.Requery
End Sub
のように、
Me!cmb市区町村.Requery
を中に入れて保存して閉じます。
(6)ついでに応用
F住所にテキストボックスを一つ設定します。
そのコントロールソースに、
=[cmb市区町村].Column(1)
とします。これによりテキストボックスに
cmb市区町村で選択した名前が表示されます。
単に、=[cmb市区町村] とすると県の名前が
表示されます。cmb市区町村の値集合ソースでは
都道府県と市区町村が選ばれていますが、
コンボボックスの設定で都道府県は非表示
になっています。したがって単に、=[cmb市区町村]
とすると県の名前が表示される、ということです。
=[cmb市区町村].Column(0)
とすると、県の名前が表示されます。
piroin654さま、たびたびお手をわずらわせ、本当に申し訳ありません。
また、お礼が遅くなってしまい、重ね重ね申し訳ありませんでした。
とてもわかりやすいご説明、ありがとうございます。
なのに…できないんです!申し訳ありません!
お察しだと思いますが、テーブルとして挙げたのはあくまでも例ですので、
piroin654さまのNo.5の記述のとおり、
新たに「T住所」のテーブルと「F住所」のフォームを別に作って
昨日から何回も作ってみました。でもできないんです(泣)
全部入力してフォームに戻り試してみようとすると、
「FROM句の構文エラーです」というのが出るのが一番多いです。
もう一つ不思議なのは、
No.5(5)の手順でコードビルダをクリックすると、
書いていただいたコードとは違い、
Private Sub cmb都道府県_AfterUpdate()
End Sub
と書かれています。
これを、ご指示のとおりBeforeUpdate~に書き直しても、
やはりリストは空欄になってしまいます。
あんなにご親切に教えていただいたのに、
1日経っても何もお返事しないのは失礼だと思い、
途中ですがお礼のみ申し上げに出てまいりました。
もう少し、頑張ってみます!
お時間を割いてくださいまして、本当にありがとうございました。
No.4
- 回答日時:
>「T住所」「都道府県」等には[ ]はいらないのですか?
とくに必要はありませんが、No3のソースを値集合ソースに
貼り付けるとAccessが勝手に[]をつけるかもしれません。
値集合ソースの設定はプロパティの右端をクリックすると
クエリビルダが表示されます。クエリを作る要領ででき
ます。設定後はそのまま閉じます。
閉じるときに設定の変更の保存をたずねるので「はい」
とし、フォームのデザインビューで保存ボタンを
押します。
また、このクエリビルダをSQLビューにして、No3のSQL文
を実際に合わせて訂正して貼り付けて、そのまま閉じ、
閉じるときに設定の変更の保存をたずねるので「はい」
とし、フォームのデザインビューで保存ボタンを
押します。
No.2
- 回答日時:
忘れ物がありました。
[都道府県]のコンボボックスの更新後処理で、
以下を設定してください。
コンボ0は[都道府県]のコンボボックスの名前です。
コンボ2は[市区町村]のコンボボックスの名前です。
実際に合わせて変更してください。
Private Sub コンボ0_BeforeUpdate(Cancel As Integer)
Me!コンボ2.Requery
End Sub
No.1
- 回答日時:
テーブルの名前を「T住所」とします。
[市区町村]のコンボボックスの値集合ソースを
以下のように設定します。
「フォーム名」はフォームの名前です。
「コンボ名」は[都道府県]のコンボボックスの名前です。
実際に合わせて変更してください。
SELECT T住所.都道府県, T住所.市区町村
FROM T住所
WHERE (((T住所.都道府県)=[Forms]![フォーム名]![コンボ名]));
[市区町村]のコンボボックスのプロパティで、
列数 2
列幅 0cm;2cm
連結列 1
のように設定してください。
piroin654さま、早速のお返事ありがとうございました。
ご教示のとおり入力してみましたが…できませんでした(泣)
都道府県のコンボボックスの値集合ソースは「GROUP BY~」を付け足した状態でいいのでしょうか?
「T住所」「都道府県」等には[ ]はいらないのですか?
お忙しいところ教えてくださったのに、力不足で申し訳ありません。
もう少し、教えていただいたやり方で試してみます。
お時間を割いていただき、本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- MySQL 下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 神奈川県の市区町村の一覧。ただ 3 2023/05/01 18:01
- 関東 ※東北の人からのにわか質問で不快に来たりムカついたらすいません、悪気はありません。 東京方面に住む人 8 2022/08/03 18:17
- その他(国内) 1番2番3番…と争う? 2 2022/12/06 19:52
- 転職 長く続けられる好条件の求人でしょうか? 3 2023/07/12 18:45
- その他(宿泊・観光) 北海道札幌市 神奈川県横浜市 愛知県名古屋市 大阪府大阪市 京都府京都市 兵庫県神戸市 福岡県福岡市 3 2023/02/12 10:22
- その他(国内) 北海道札幌市 神奈川県横浜市 愛知県名古屋市 大阪府大阪市 京都府京都市 兵庫県神戸市 福岡県福岡市 2 2023/01/27 22:00
- その他(宿泊・観光) 北海道札幌市 神奈川県横浜市 愛知県名古屋市 大阪府大阪市 京都府京都市 兵庫県神戸市 福岡市福岡市 3 2023/01/29 18:14
- その他(悩み相談・人生相談) 東京・神奈川・千葉・埼玉以外で車がなくても電車やバスで生活できる都道府県は? 3 2023/02/14 12:59
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESS リストボックスの字の色...
-
Accessのコンボボックスでリス...
-
帳票フォームでのあるコンボボ...
-
ACCESSクエリ抽出条件について
-
Accessのフォーム(コンボボッ...
-
アクセス:フォーム入力:【大...
-
更新クエリで変数は使えない?
-
Accessのコンボボックスの値が...
-
Access 帳票フォームのコンボボ...
-
Accessのクエリで抽出したデー...
-
.flex-direction プロパティは...
-
ACCESSでコンボボックスにSQLで...
-
アクセスで大分類・中分類・小...
-
同一値集合ソースの複数コンボ...
-
Accessのコンボボックスの”すべ...
-
accessでオートコンプリート機...
-
Accessフォーム 大分類→小分類...
-
エクセルで、抽出したデータだ...
-
Access 複数フォームを...
-
ACCSESS2013VBA フォームのレコ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessのコンボボックスでリス...
-
Accessのコンボボックスの値が...
-
accessでオートコンプリート機...
-
帳票フォームでのあるコンボボ...
-
ACCESS リストボックスの字の色...
-
ACCESSでコンボボックスにSQLで...
-
コンボボックスのボタンの大き...
-
Oracleで文字列型の時間を引き...
-
Accessフォーム 大分類→小分類...
-
Accessのコンボボックスのデフ...
-
Accessのクエリで抽出したデー...
-
同一値集合ソースの複数コンボ...
-
Access 帳票フォームのコンボボ...
-
SQLサーバーからひっぱるACCESS...
-
リストボックスの時はリンク先...
-
[Access2003]コンボボックスと...
-
アクセスでのコンボボックス複...
-
accessでのリストボックス選択...
-
ACCESSクエリ抽出条件について
-
アクセス コンボボックス絞り込...
おすすめ情報