• 締切済み

ジャンルの分類での方法について

現在ジャンル大ID、ジャンル中ID、ジャンル小IDに分けて情報をデータベースに格納しています。それをユーザーに選んでもらうようにするのですが、(ちょうどOKwebのカテゴリー分けのように)OKウェイブのようにコンボボックスを3つにしてそこから大分類、中分類、小分類というようなぐわい選ぶ方式はどのようにして作ればいいのでしょうか。なるべく一番複雑な部分なので簡略にプログラムも作りたいと思っています。どうかサンプル的なソースなどを教えて頂けないでしょうか?(汗) どうかお願いします。(汗)

  • aeic
  • お礼率10% (60/582)
  • CGI
  • 回答数1
  • ありがとう数6

みんなの回答

  • rokujiro
  • ベストアンサー率53% (17/32)
回答No.1

大中小分類を行う為には私の考えつく方法は2種類あります。 まず、このページで行っている方法はJAVAを使用していると思います。 この方法ではJAVAに対応しているブラウザでしか使用できません...... もう一つの方法は見た目は不細工かも知れませんがCGIでおこなう方法です。 CGIは表示中の画面でリアルタイムな操作は出来ません。 (要求した命令をサーバーが演算し画面を表示させるだけですので.....) しかし、逆に言えば要求された内容に対しての回答は出来ると言うことです。 例として 大分類 1 2 3 中分類1 あ い う 中分類2 か き く ..... 小分類あ a b c ..... 大分類1が選択された場合は次の画面で中分類1の内容を表示させれば良い訳です。 質問の内容をデータファイルで作成してうまく作成すればかなりレパートリーは増えていきます。 頑張ってみて下さい。

関連するQ&A

  • Accessで分類毎の連番を既定値に表示したい

    Access2007で業務用のデータベースを構築しております。 Excelは良く利用するのですが、Accessでは初めてになります。 ご教示のほど、よろしくお願いします。 加工食品の原料のデータベースを構築しております。 原料の分類ごとに通し番号を付与し、それをフォーム上で既定値として表示させたいと考えております。 現状は「T_原料リスト」があり、フィールドに「分類ID」・「原料No」・「原料ID」・「原料名」・・・となってます。 別途「T_分類マスタ」があり、リレーションで「分類ID」と結合しています。 実現したいのは、フォームで「分類ID」をコンボボックスから選択すると、その分類の「原料No」の最大値を既定値として表示させることです。また、「分類ID」と「原料No」を結合し「原料ID」にしたいと考えております。 例えば、分類IDで「10(糖類)」を選ぶと、原料Noの最大値が「121」と表示され、原料IDが「10121」と決まる、といった具合です。 原料IDはイレギュラーに「99999」を入力したい状況もあるかもしれませんので、手入力でも良いかなと思ってます。 私なりに調べましたところ、フォームの「原料No」のプロパティシートの既定値に =Dmax("原料No","T_原料リスト","[分類No]=&[Forms]![F_原料リスト].[分類No]")+1 と入力すれば良いはずだと思いやってみたのですが、エラー表示になってしまいます。 質問ですが、 (1)上記の式が間違っているのでしょうか? (2)もっと良い方法があればお教えいただきたいです。 (3)分類IDと原料Noを結合して、自動で「原料ID」を入力するにはどうすれば良いでしょうか? 以上です。何卒よろしくお願いします。

  • アクセスで大分類・中分類・小分類を作っています。

    アクセスで大分類・中分類・小分類を作っています。 コンボボックスを連動させて,作成したのですが? データー入力後,例えば中分類を変更しても,大分類や小分類がそのままで登録されてしまうのです。 それではダメですよね・・・ その部分がデータとしてあっていればいいのですが,違うければ弾いて欲しいやり方を ご教示していただきたいのです。。。 ちなみに! 大分類に SELECT DISTINCT 配置署所 FROM ボンベ管理クエリ; 中分類に SELECT DISTINCT 署所記号番号 FROM ボンベ管理クエリ WHERE 配置署所=[大分類]; 小分類に SELECT [ボンベID], [容器記号番号] FROM ボンベ管理クエリ WHERE 配置署所=[大分類] AND 署所記号番号=[中分類]; 中分類と小分類には,イベントとして Private Sub 小分類_Enter() Me.小分類.Requery End Sub を書き込んでいます。   ※ この質問をする場合のカテゴリ選択のようにしたいのです・・・・ ぜひどうかよろしくお願いします。

  • アクセスで大分類・中分類・小分類を作っています。

    年度末のお忙しいところご回答ありがとうございます。  今度は 帳票でアクセスで大分類・中分類・小分類を作っています。  コンボボックスを連動させて,作成したのですが?  データー入力後,例えば中分類を変更しても,大分類や小分類がそのままで登録されてしまうのです。 それではダメですよね・・・ その部分がデータとしてあっていればいいのですが,違うければ弾いて欲しいやり方を ご教示していただきたいのです。。。 ちなみに! 大分類に SELECT DISTINCT 配置署所 FROM ボンベ管理クエリ; 中分類に SELECT DISTINCT 署所記号番号 FROM ボンベ管理クエリ WHERE 配置署所=[大分類]; 小分類に SELECT [ボンベID], [容器記号番号] FROM ボンベ管理クエリ WHERE 配置署所=[大分類] AND 署所記号番号=[中分類]; 中分類と小分類には,イベントとして Private Sub 小分類_Enter() Me.小分類.Requery End Sub を書き込んでいます。   ※ この質問をする場合のカテゴリ選択のようにしたいのです・・・・ ぜひどうかよろしくお願いします

  • 【Access】コンボボックスの値の変更方法

    フォームにコンボボックスを配置し、下記の動作をさせたいと思ったのですが、1は出来たものの2が出来ませんでした(値集合ソースの中身は表示されるものの、選択してもコンボボックスに反映されませんでした)。 1. フォームオープン・・・データベースのcmb1の値より、対応する文字をコンボボックスに表示する。 2. コンボボックスの値の変更・・・プルダウンから値集合ソースに表示されている任意の値を選択し、コンボボックスに設定する。 その為、どうすれば値を変更できるようになるかアドバイスいただける方がいらっしゃいましたら、ご教示の程よろしくお願いします。 なお、初期状態から下記を変更しております。 【テーブル】 テーブル名:tbl フィールド名:ID,cmb1 値:1,2 【フォーム】 フォーム名:form1(コンボボックスを一つ配置) フォームのレコードソース:SELECT Choose(tbl.cmb1,"A","B","C") AS nm_cmb FROM tbl WHERE (((tbl.ID)=1)); コンボボックス 列数:2 列幅:0cm;3cm コントロールソース:nm_cmb 値集合タイプ:値リスト 値集合ソース:1;A;2;B;3;C 連結列:2 上記の状態で起動時のコンボボックスの中身は"B"と表示されるものの、コンボボックスのプルダウンメニューを表示して値を変更しようとしても出来ない事が確認できると思います。 以上、よろしくお願いします。

  • Access97:サブフォームを切り替え表示したい

    アクセスで仕事で用いられる専門用語の和英辞書データベースを作っております。 その辞書は用語の持つ意味や使われ方などから分類をしています。 分類一覧テーブルは分類ID,分類からなり、用語一覧テーブルは用語IDと用語からなります。 これらをつなぐのが和英辞書テーブルで、辞書ID,分類ID,用語IDからなり、 分類ID,用語IDはそれぞれ分類一覧テーブル,用語一覧テーブルのそれとリレーションシップを 組んでいます。 メインフォーム(既定のビュー=単票フォーム)には分類フィールドを作り、コンボボックスにします。 分類を選択したときまたはその横に「表示」ボタンを設置しておいてそのボタンをクリックしたときに 選択された分類に属する用語一覧がサブフォーム(既定のビュー=帳票フォーム)にリロードされてるように切り替えて表示させたいと考えています。 メインフォーム元:分類一覧テーブル,サブフォーム元:用語一覧テーブルにしたフォームは作成できました。 メインフォームのレコードを切りかえるとサブフォームも切り替わりますが、 コンボボックスの選択でサブフォームを切りかえ(たように見せ)る上記のようなフォームに このフォームから編集することはできるでしょうか? 無理なら新規にフォームを作りなおすとしてできるでしょうか? 自分の発想で2通りやってみましたが、いずれも失敗でした。 (詳しく書いたら文字数が800を超えたので省略します) テーブルの構成やリレーションを多少変えてもいいしフォームのレコードソースにクエリービルダを使ったりVBを組んでもいいので、メインフォームのコンボボックスの選択値によってサブフォームの表示を切り替える方法について教えて下さい。

  • SQLサーバーからひっぱるACCESSコンボボックスの上限について

    SQL SERVER2000とACCESS2000でデータベースシステムを運用しています。 アクセス上のあるコンボボックスのプロパティに 値集合ソースとして SELECT USR_BCD, CTM_CD, NAME_E FROM VT_CUSTOMER のようなSQL文を書いて使っています。 ところがこのようにコンボボックスを利用すると コンボボックスには10000件しか格納されません。 実際のデータは20000件以上あります。 どのようにすればこの上限値を突破できるのでしょうか? お知恵を拝借させてください。 宜しくお願いいたします。

  • Access2003とAccess2007の違い

    Access独習者です。 入門書で「物品貸出状況フォーム」を作成しました。 フォーム画面「物品貸出状況一覧表」の下に作ったコンボボックス289「大分類」とコンボボックス291「小分類」で 貸出状況を調べる物品を絞り込み一覧表に取り込みます。 コンボボックス「大分類」「小分類」の値集合ソースはそれぞれ「T_大分類」と「T_小分類」です。 Access2003では下記のコードとコンボボックス291「小分類」の値集合ソースのクエリビルダに組み込んだ 抽出条件「大分類番号[コンボ289]」で絞り込んだ物品が一覧表に表示されたのですが、Access2007では コンボボックス289「大分類」を変更後コンボボックス291「小分類」が更新されません。 Access2003とAccess2007でなにか違いがあるのでしょうか。 お聞きするのに提示すべきコードなどそろっていないかもしれないのですが、ご助言いただければ助かります。 よろしくお願いいたします。 Private Sub コンボ289_AfterUpdate() Me!コンボ291.Requery End Sub Private Sub コンボ291_AfterUpdate() Me.Filter = "小分類番号=" & コンボ291 Me.FilterOn = True End Sub

  • 【Access】サブフォームのコンボボックス連携

    ACCESSで社員の資格情報を入力するシステムを作成したのですが 以下の問題を解決できず困っています。 どうすればいいか お力を貸して頂けないでしょうか? ■問題:メインフォームで別レコードに移動した際 サブフォーム内の連携コンボボックスを更新されない □コンボボックス2の表示項目 1.分類別No 2.資格名ID 3.資格名 3のみを表示していますが、 1つ目のコンボボックス1の数値で 全コンボボックス2の資格名が出てしまいます。 ■フォーム構成 メインフォーム内に以下を設置 1.移動ボタン 2.帳簿サブフォーム □サブフォーム構成 レコード1 コンボボックス1 コンボボックス2 レコード2 コンボボックス1 コンボボックス2 ~~ 最終レコード コンボボックス1 コンボボックス2 ■コントロールソース コンボボックス1:大分類ID コンボボックス2:資格名ID ■テーブル構成 資格名  資格名ID(主キー)  大分類ID  分類別ナンバー(大分類ごとの登録順ナンバー)  資格名   資格大分類  大分類ID(主キー  大分類名 (IT系・運転系など) ■コンボボックス2の値集合ソース(表示項目:資格名) SELECT 資格名.資格名, 資格名.分類別No, 資格名.資格名ID FROM 資格大分類 INNER JOIN 資格名 ON 資格大分類.資格大分類ID = 資格名.資格大分類ID WHERE (((資格名.資格大分類ID)=[Forms]![メインフォーム]![サブフォーム]![コンボボックス1])) ORDER BY 資格名.分類別No; ------------------------------------ サブフォームに記載し効果のなかったVBAコード ’再クエリ Private Sub Form_Current() Dim cntrl As Control If Not IsNull(Me![コンボボックス1]) Then For Each cntrl In Form.Controls If cntrl.ControlType = acComboBox Then cntrl.Requery End If Next cntrl End If End Sub ’ソース更新 Private Sub Form_Current() With Forms!メインフォーム名!サブフォーム名!コンボボックス2 .RowSource = .RowSource End With End Sub ■参考サイト 'サブフォーム内での2つのコンボボックスの連動について 'http://goo.gl/nfvxW '~ '>   コンボボックスAの更新後処理イベントに '> Me!コンボボックスB.Requery '> 'Me.コンボボックスB.RowSource = Me.コンボボックスB.RowSource '数値でコンボボックス選択 'http://goo.gl/ovZ3C 'リストボックスの行を選択するときは、「Selected(n)」を使います 'http://goo.gl/RbsWX 'サブフォームの指定 ' =Forms!フォーム名!サブフォームコントロール名.Form.テキストボックス名 'http://goo.gl/vKxtj

  • コンボボックス(?)を3つ連動させたモノを、Web、Excelで作る方法は?

    『OKWeb』の質問をする際に、『カテゴリーを選択する』で大分類、中分類、小分類の選択ができるようになっていて、大分類の選択にヒモ付けされた中分類(中分類→小分類も同じ)が選択できるようになっています。 このように3つを連動させて選択させるのは、どのようにしたら作れるのでしょうか? ネットで調べても方法が見つかりませんでした。 (1) Webで上記を作る場合(ホームページビルダーは持っていますが、出来そうにありません) (2) Excelで作る場合(コンボボックスというのを使うのだと思いますが・・・ ちなみにExcel2000です。) ※ちなみにパソコンはあまり得手ではありません。。。

  • Accessのコンボボックスを使ったデータ入力

    Accessは初心者です。宜しくお願いします。 コンボボックスを使ったデータ入力で不具合が生じました。 以下のデーターベースを使用します。 ①テーブル:T_食品   フィールド:食品コード、分類コード、食品名 ②テーブル:T_食品分類  フィールド:分類コード、分類名 ③テーブル:T_材料  フィールド:コード、食品コード、分量 ④クエリ:Q_材料入力用  フィールド:コード(T_材料)、食品コード(T_材料)、分類コード[T_食品]、食品名(T_食品)、分量(T_材料) ※食品コード、分類コードはリレーションシップしてあります。 料理のレシピを入力するために、レコードソースがQ_材料入力用の”材料入力”の帳票フォームを作成しました。 理想としては、食品分類の”分類名”をコンボボックスで選択後、該当する食品の”食品名”をコンボボックスで選択します。そして”分量”を入力する形でした。 ”分類名”のコンボボックスは、T_食品分類をコントロールソースで設定を行い、[更新後処理]は以下の通りにしました。 Me!食品名.Requery ”食品名”のコンボボックスは、T_食品をコントロールソースして、以下の値集合ソースにしました。 SELECT T_食品.食品名, T_食品.分類名 FROM T_食品 WHERE (((T_食品.分類コード)=[Forms]![材料入力]![分類名])); 以上の設定でコンボボックスは成功しましたが、入力を行うたびに、T_食品内に入力した食品のデータが追加される現象が出ました。 何が原因だったのか、対策方法をご教授お願いします。

専門家に質問してみよう