アクセスで大分類・中分類・小分類作成方法と連動させる方法について

このQ&Aのポイント
  • アクセスで大分類・中分類・小分類を作成する方法と、コンボボックスを連動させる方法について教えてください。
  • データの入力後に中分類を変更しても、大分類や小分類がそのままで登録されてしまう問題が発生しています。どのようにすれば、データが正しく登録されるようになるのでしょうか?
  • また、大分類には「SELECT DISTINCT 配置署所 FROM ボンベ管理クエリ;」というSQL文を使用し、中分類には「SELECT DISTINCT 署所記号番号 FROM ボンベ管理クエリ WHERE 配置署所=[大分類];」というSQL文を使用しています。小分類には「SELECT [ボンベID], [容器記号番号] FROM ボンベ管理クエリ WHERE 配置署所=[大分類] AND 署所記号番号=[中分類];」というSQL文を使用しています。さらに、中分類と小分類にはイベントを追加しています。
回答を見る
  • ベストアンサー

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

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

質問者が選んだベストアンサー

  • ベストアンサー
  • chieffish
  • ベストアンサー率44% (1149/2554)
回答No.1

アクセスやめてFilemakerにすると簡単にできますよ。

endo5412
質問者

お礼

参考にします

関連するQ&A

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

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

  • ACCESS まとめて表示するクエリについて

    商品の売上データ・仕入データが個別にあります。 商品には大中小の分類があり、各分類は2ケタのコードです。つまり、 (1) 大分類/中分類/小分類/仕入金額 01/02/05/1,000 という構成のデータと (2) 大分類/中分類/小分類/売上金額 01/02/05/1,250 という構成のデータとがあるわけです。この2つをExcelデータで持ってて、データが大量なのでAccessに取り込み、最終的には 大分類/中分類/小分類/仕入金額/売上金額 01/02/05/1,000/1,250 というように、仕入金額と売上金額を一纏めにして表示したいのです。 ここで、上記(1)を仕入テーブル、(2)を売上テーブルとし、 SELECT 大分類,中分類,小分類,仕入金額,売上金額 FROM 仕入,売上 WHERE 仕入.大分類=売上.大分類 AND 仕入.中分類=売上.中分類 AND 仕入.小分類=売上.小分類 とクエリを作ってみたら、各テーブルのデータが数千件になっただけで、物凄くクエリの動きが遅くなりました。 大中小分類の一致を、WHEREでなくINNER JOINで記述してみても、遅くなります。 最初のテーブル作成からして、間違ってるでしょうか?いい案はないでしょうか?

  • 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で家計簿

    いま下記URLをもとに家計簿を作成しております。 http://cropcrusher.web.infoseek.co.jp/shufuden/windowsfolder/accessx/acs.html#acs00 しかし「変数を抽出条件に用いるクエリ」の部分がうまくいかずこまっています。 以下作成ソース 【Form】 Option Compare Database Private Sub Calendar_GotFocus() Me.Calendar.Visible = True Me.Calendar.Value = Date End Sub Private Sub Calendar_Click() Me.年 = Year(Me.Calendar.Value) Me.月 = Month(Me.Calendar.Value) Me.日 = Day(Me.Calendar.Value) End Sub Private Sub 小分類名_Click() Forms!支出入力フォーム!小分類名.RowSource = "大分類毎小分類" End Sub Private Sub 大分類名_Change() Dim Cls1 As String Cls1 = "" Cls1 = Forms!支出入力フォーム!大分類名.Value Call 大分類で小分類(Cls1) End Sub 【モジュール】 Option Compare Database Function 大分類で小分類(Cls1) Dim dbs As Database, qdf As QueryDef, strSQL As String Set qdf = Nothing DoCmd.Close acQuery, "大分類毎小分類" DoCmd.DeleteObject acQuery, "大分類毎小分類" Set dbs = CurrentDb strSQL = "SELECT 小分類名 FROM 分類関連マスタ WHERE 大分類名" & "=" & Chr$(34) & Cls1 & Chr$(34) & ";" Set qdf = dbs.CreateQueryDef("大分類毎小分類", strSQL) End Function クエリは毎回作成されているのですが、 Private Sub 小分類名_Click() Forms!支出入力フォーム!小分類名.RowSource = "大分類毎小分類" End Sub の部分がうまくいっていないのか、クリックしてもコンボボックスになにも表示されません。長々と申し訳ありません。 もしよろしければどなたか教えてください、宜しくお願いします。

  • 再起SQL が無限ループします。

    再起SQL が無限ループします。 このようなテーブルのデータがあったときに、 1番上の1レコードを選択して、 中分類か小分類が同じデータを取得したいんです。 大分類 中分類 小分類 -------------------- 4444 |aaaa |0001 4444 |bbbb |0001 4444 |cccc |0002 4444 |dddd |0002 4444 |aaaa |0003 6666 |ffff |0003 ↓このように取得したい 大分類 中分類 小分類 -------------------- 4444 |aaaa |0001 4444 |bbbb |0001 4444 |aaaa |0003 6666 |ffff |0003 再帰SQLのwithを使ってみたのですが、 無限ループしてしまいます。 with rec (大分類,中分類,小分類) as (select * from 商品テーブル where rowid=1 union all select * from 商品テーブル h, rec r where(h.中分類=r.中分類 or h.小分類=r.小分類) and not (h.中分類=r.中分類 and h.小分類=r.小分類) ) select * from rec; union all以下のselect条件をxorで取ればいいと 思うのですが、それができていないようです。 withでやる必要はないので、他の方法でも いいのですが、S/Pは使えない事情があります。 アドバイスをお願いします。

  • Access97のクエリーでのDISTINCTROW について

    Access97のクエリーでのDISTINCTROWの解読の仕方がわからず困っています。 SELECT DISTINCTROW テーブル1.番号, テーブル1.D名, テーブル1.E名, FROM テーブル1 WHERE (((テーブル1.番号) In (SELECT [番号] FROM [テーブル1] As Tmp GROUP BY [番号] HAVING Count(*)>1 ))) ORDER BY テーブル1.番号; このSQL文はどういう条件のデータを選択する意味なのでしょうか。 教えてください。

  • 高速化のためのインデックスの張り方

    テーブルtbl(c1,c2,c3)に対して、 select c1, c2, count(distinct c3) from tbl where group by c1,c2; というクエリの高速化をしたいのですが、どのようなインデックスを張れば良いでしょうか。(あるいは、もっと良いクエリの書き方はありますか?)

    • ベストアンサー
    • MySQL
  • サブクエリとDISTINCTGROUPBYの併用は不可??

    SQLで副で問い合わせたときグループバイやDISTINCTがエラーになってしまいます。 何故なのか検討がつきません。 同じデータを持つ様々なデータベースでやってますがどれもエラーになります。 オラクルやMYSQLやpostgreSQLです。 SELECT * FROM TableName WHERE 担当 IN (SELECT 担当 FROM TableName WHERE 売上品 = '竹輪') AND 担当 IN (SELECT 担当 FROM TableName WHERE 売上品 = '胡瓜') AND 売上品 IN ('竹輪','胡瓜') ; これは普通に出来ます。 これに対して… SELECT distinct 担当, 商品, 売上品 from…かGroup By 担当, 商品とやっても何故かエラーが出ます… 何か間違ってますでしょうか?

  • ACCESSを活用して商品変動を捉えたい(3再再)

    こちらの件ですが、 http://okwave.jp/qa/q8781488.html 最終的に以下で行こうと思っています。 テーブル名:スイッチング SQL構文 SELECT;   DBLookup("SELECT 受注日 FROM スイッチング WHERE 会員番号=" & [会員番号] & " AND 受注日 < #" & [受注日] & "# ORDER BY 受注日 DESC") AS 前回受注日,   DateDiff("d",前回受注日,受注日) AS 切り替え,   * FROM スイッチング WHERE (((DBLookup("SELECT COUNT(受注日) FROM スイッチング WHERE 会員番号=" & [会員番号]))>1)) ORDER BY スイッチング.会員番号, スイッチング.受注日; しかしながら、クエリ実行を押すと、以下メッセージが流れ動作しません。 何が不足しているのでしょうか。 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ !SELECT ステートメントが間違っている予約語や引数を含んでいるか、 区切り記号が正しくありません。

  • ACCESS2000 ユニオンクエリーで、同一データについて

    こんにちは。 ACCESS2000で、超初心者から初心者に脱皮中です。 倉庫管理の仕事をしています。 各地の倉庫から在庫データを提出してもらい、データ管理を行っています。 データの内容は 倉庫番号, 品番, 品名, 区分, 数量 です。 一括管理のために、各倉庫のデータをユニオンクエリーでつなぎます。 SELECT 倉庫番号, 品番, 品名, 区分, 数量 FROM 倉庫1 UNION SELECT 倉庫番号, 品番, 品名, 区分, 数量 FROM 倉庫2 … UNION SELECT 倉庫番号, 品番, 品名, 区分, 数量 FROM 倉庫7; この中に、たまたますべてのデータが同一のデータが存在しました。 倉庫7,A00,食器洗剤,破損品,1 倉庫7,A00,食器洗剤,破損品,1 要するに、同じ倉庫に同じものが、同じ状態で同じ数量あったということです。 ユニオンクエリーの結果は、この片方しか表示してくれないのです。 同一データであっても並べて表示し、あとでクロス集計等をしたときに、数量2 と表示したいのですが、知恵をお貸しください。 ちなみにすべてのテーブルに、主キー等は設定していません。