ACCESSの勉強をはじめています。データ入力の便利な機能としてルックアップを使っています。ルックアップする商品が数十件以上になると、一覧の中から該当品を探すことが大変になります。商品をカテゴリー別に分類して、メニューコマンドのように階層化表示ができると便利だと思います。そんなことがACCESSでできるのかどうか、ご存知の方がいらしたらどうぞお教えください。いつも的確で、しかも迅速に答えていただけるので感謝しています。今回もどうぞよろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

ありゃあ、せっかく書いた回答が消えてもうたぁ(;o;)



ってことで、もっかい書きます。

とりあえず、商品分類のコンボボックスから選択すれば、その分類で絞り込まれた商品を表示する小ウインドウが開き、そっから選択すれば商品が入力できる、って感じのインターフェースなら作成可能です。

F伝票 :入力フォーム
  cb商品分類 :商品分類を表示するコンボボックス。非連結
  cb商品ID :商品の一覧を表示するコンボボックス。商品IDと連結

F商品一覧 :フォーム。商品分類で絞り込んだ商品を表示/選択する。作業ウインドウ固定。ポップアップ。
  lst商品一覧 :リストボックス。非連結。商品ID,商品名を表示
  OKボタン
  キャンセルボタン

とします。

んで、[cb商品分類]のAfterUpdateイベントに、[F商品一覧]を開くコードを書き、
[F商品一覧]のLoadイベントに、絞り込んだ内容を[lst商品一覧]に表示するコードを書き、
[OKボタン]のClickイベントに、[lst商品一覧]選択内容を[cb商品ID]に設定するようなコードを書けば完成です。

詳しいコード内容が知りたいとか、その他、なにかありましたら、お気軽に補足にて質問してください。(すぐには返事できないですが、必ず返事は書きます。)
その際、テーブルの名前、主要なフィールドの名前、作成中のフォームの名前とかを書いてもらえれば、それに添った形で回答できると思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。がんばって挑戦してみます。また、何かありましたらよろしくご教示ください.

お礼日時:2001/07/02 08:55

>メニューコマンドのように階層化表示


って、エクスプローラのメニューバーみたいなGUIのことをいってるんでしょうね。

それとはチョイはずしてますが、「フィルタ」は、よく使いました。
たとえば「あ・か・さ・た・な・・・・」というトグルボタンで、絞り込むとか、住所なら県名でフィルタかけたり・・・・速いし・・
ユーザインタフェースでしょうから、レスポンスが問題になると思います。具体的にカテゴリ数とか、階層数・データ数、あるいは、完全一致or前方一致、データが動的に変化するのか、バージョンアップ時だけ変更なのか、などを出して質問したほうがよいかも・・・
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q”思い通りに”スタート-プログラムを編集するには?

スタート-プログラムを編集したいと思っています。
現在、プログラムは3列も表示され、また階層も深いので
目的のアプリが見つかりにくい状況です。

利用しているのはクラシックスタートメニューです。

C:\Documents and Settings\"username"\スタート メニュー\プログラム
とは一致していませんし、表示される順番は何順であるかわかりません。

マイクロソフトのサポートページに掲載があるのですが、
http://support.microsoft.com/kb/880406/ja

ここで編集できるは一部のようで、
C:\Documents and Settings\All Users\スタート メニュー\プログラム
に登録されいているものは除外されているようです。

現状の不満は
・何順で表示されているのかわからない
・インストール時、フォルダ(階層化)されるものが多く、中には
不要なアンインストールなども含まれる。
しかもadobeなどは製品によって階層化されたりされなかったりで
探すのが手間。


現状、編集するには以下のようにしており、かなり面倒です。
・エクスプローラーで
C:\Documents and Settings\"username"\スタート メニュー\プログラム  および
C:\Documents and Settings\All Users\スタート メニュー\プログラム
を編集する。

・スタートのプロパティで
並び替えボタンを押す。


スタートメニューの効果的な整頓方法をご存じの方がいらっしゃいましたら
アドバイスいただけると助かります。

スタート-プログラムを編集したいと思っています。
現在、プログラムは3列も表示され、また階層も深いので
目的のアプリが見つかりにくい状況です。

利用しているのはクラシックスタートメニューです。

C:\Documents and Settings\"username"\スタート メニュー\プログラム
とは一致していませんし、表示される順番は何順であるかわかりません。

マイクロソフトのサポートページに掲載があるのですが、
http://support.microsoft.com/kb/880406/ja

ここで編集できるは一部のようで、
C:\Document...続きを読む

Aベストアンサー

参考に
http://www.ivh-jp.org/~disabled/usefulinfo/kzemi/kzemi22.html
http://asakax.hp.infoseek.co.jp/is3/k8.htm
http://www.itsaeki.jp/pctips/031.htm

Qaccessのルックアップを階層表示できないか2

解答して貰って一週間もたっていません。今使っているテキストが、テーブル中心に説明してあったため、フォームを使えば良いという解答に、ひらめきを感じたのですが、いざやろうとすると、具体的にどうすればよいのか迷ってしまいました。申し訳ありませんが、もう一度、説明していただけませんか。具体的にどうしたいかという資料を作りましたが,ここに添付する方法がわかりません。気まぐれな中年ですが、のめり込んでしまったら頭を離れません。よろしくお願いします。

Aベストアンサー

ルックアップとは一覧リストの事ですか。そうだとすると
・商品一覧を50音順に並べ替えてる。
 これについて、商品テーブルをSelectするクエリーを作成しソート条件を設定し、
 これを特定のフォームに連結すれば良いと思いますが。

・モニター別、CPU別、付属品別に表示させ、モニターの下に15インチ、17インチ
などと表示させ、エクスプローラーのようなイメージで目的の商品にたどり着きたいのです。
 1個のフォーム内に複数のサブフォームを配置し、各サブフォームに連結するテーブル・クエリー
 を作成し、サブフォームのクリックイベント等で、どのサブフォームを表示・非表示するかを
 設定すれば良いのでは?。

・あらかじめ設定した条件をリストさせそこから選べるようにしたいのです。
 一覧に表示するデータを格納するテーブルを新規に作成し、コンボボックスに連結しては
 どうでしょうか。

いずれにしても、モジュール処理は避けられない様に思います。

Qフルパスから指定階層目のフォルダ名 VBA

Access 2007のVBA (Access内モジュール)で、次の様な仕様の関数を作ろうとしていますが、プログラムから離れて10年超で、感が無くなってしまって冷や汗をかいています!!!!

どなたか助けてもらえませんか?


フォルダ名の指定階層数目の文字列を得る。

(文字列:フォルダ名相当)    abc\def\ghi\jkl\mno\pqr.xxx
(数値:フォルダ階層指定数)  3
(返値)               ghi

・階層数より指定数値が大きいことはない。
・なお、階層の最大値は15


固定の2階層目であれば、Left$(Mid$([FolderPath],InStr([FolderPath],"\")),InStr(Mid$([FolderPath],InStr([FolderPath],"\")+1),"\")) でOKそうですが、

初めての質問で戸惑っていますが、利用方法が間違っているようであればご指摘下さい。
よろしくお願いします。

Aベストアンサー

Split関数で、「¥」を区切り文字として配列にしてしまうのが良いと思います。

Dim aaa, bbb
aaa = "abc\def\ghi\jkl\mno\pqr.xxx"
bbb = Split(aaa, "\")
MsgBox bbb(2) '0から始まるので、3階層目は「2」

QAccessフォーム 大分類→小分類を選択したい

Access初心者です。
ほかの類似の質問を検索して試してみたのですが、
どうしても同じようにできません。
もう1週間も同じところでつまづいています。
どなたか、初心者にもわかるように教えていただければ幸いです。

以下のようなテーブルがあるとします。
[都道府県] [市区町村]
東京都  新宿区
東京都  港区
東京都  渋谷区
神奈川県  横浜市
神奈川県  川崎市
神奈川県  藤沢市
埼玉県  さいたま市
埼玉県  熊谷市
埼玉県  三郷市

フォーム上で、 [都道府県]のコンボボックスで東京都を選んだ場合、
[市区町村]のコンボボックスには「東京都」の市区町村名が
選択できるようにしたいのですが、
一番最初のところで行き詰っています。

コンボボックスウィザードにしたがって
[都道府県]のコンボボックスを作成すると、
[東京都]
[東京都]
[東京都]
[神奈川県]
[神奈川県]
[神奈川県]

というリストが出てきてしまいます。

過去の質問を検索し、プロパティの値集合ソースで、
SELECT[都道府県]…FROM[テーブル名]の後に、
GROUP BY[都道府県]と書き加えたのですが、
こうするとリストが出てこなくなります。

いったいどうしたらよいのでしょうか。
ほとほと困っています。
どうかご教示ください。お願いいたします。

Access初心者です。
ほかの類似の質問を検索して試してみたのですが、
どうしても同じようにできません。
もう1週間も同じところでつまづいています。
どなたか、初心者にもわかるように教えていただければ幸いです。

以下のようなテーブルがあるとします。
[都道府県] [市区町村]
東京都  新宿区
東京都  港区
東京都  渋谷区
神奈川県  横浜市
神奈川県  川崎市
神奈川県  藤沢市
埼玉県  さいたま市
埼玉県  熊谷市
埼玉県  三郷市

フォーム上で、 [都道府県]のコンボボックスで東京都を...続きを読む

Aベストアンサー

ごめんなさい。暑さで脳の中が煮えくり返り、
大間違いをしでかしていました。

更新後処理ですから、

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
このぐらいの長さなら大丈夫です。

Q深い階層にあるフォルダをキー操作で開きたい

深い階層にあるフォルダをエクスプローラーで辿っていくのは大変です。
デスクトップにショートカットを作っておくこともしたくありません。

特定のフォルダAをショートカットキーで開きたいのですが、可能でしょうか?
フォルダAを開くために、いったん何かのプログラムを起動させ、プログラムから開いてもらう。なんて方法でもOKです。


(深いところに隠してあるフォルダを自分だけがこっそりすばやく開きたい)

Aベストアンサー

Win7標準機能として「キーボード ショートカット」が備わっていますので利用してはどうでしょうか。
「キーボード ショートカットを作ってプログラムを開く」
http://windows.microsoft.com/ja-jp/windows/create-keyboard-shortcuts-open-programs#1TC=windows-7
を利用して
「エクスプローラでフォルダ(またはファイル)を開く」ようにすればいいです。
要点はショートカット作成する際に、先頭に explorer と追加します。
添付画像の上段。
ショートカット ファイルの名前は任意ですが mysecret のように設定します。
添付画像の中段。
作成した mysecret のプロパティで
ショートカットキー たとえば Alt + Ctrl + Z を割り当てます。
ショートカットキーはシステムで使用していないキーであれば、任意に設定できます。
添付画像の下段。
---
以上でキーボードから Alt + Ctrl + Z を押せば 目的のフォルダが開きます。
欠点は、他人が誤って Alt + Ctrl + Z を押しても開くことです。
長所はエクスプローラだけでなく、どのようなプログラムやスクリプトでも
キーボードショートカットで実行できることです。
Windows標準なので解りやすいことです。(他のアプリなどを使う必要がない)

Win7標準機能として「キーボード ショートカット」が備わっていますので利用してはどうでしょうか。
「キーボード ショートカットを作ってプログラムを開く」
http://windows.microsoft.com/ja-jp/windows/create-keyboard-shortcuts-open-programs#1TC=windows-7
を利用して
「エクスプローラでフォルダ(またはファイル)を開く」ようにすればいいです。
要点はショートカット作成する際に、先頭に explorer と追加します。
添付画像の上段。
ショートカット ファイルの名前は任意ですが mysecret のように設定...続きを読む

QAccess2007のルックアップフィールドについて

Access2007のルックアップフィールドについて

以下の2点について教えてください。

テーブルにルックアップフィールドを作成したあと、

(1)自動的に作成されたリレーションシップを削除しても、
 ルックアップ列が表示されるのはなぜですか?

(2)ルックアップ列の表示を解除したいのですが、どうすればいいですか?

Aベストアンサー

> (2)ルックアップ列の表示を解除したい

1)Accessの画面左端に表示される『ナビゲーション ウィンドウ』で、
 当該テーブルの右クリックメニュー内の「デザイン ビュー(D)」を
 クリックするなどして、デザインビューを開く
2)ルックアップ列を設定したフィールドを選択
3)左下方(ナビゲーション ウィンドウよりは右)に表示される領域で
 『ルックアップ』タブを選択
4)一番上に『表示コントロール』の設定項目があるので、そこの
 値を「テキストボックス」に設定
 (→それより下の項目は全て非表示化(テーブル保存後は削除))
5)テーブルを保存して閉じる

・・・以上で、当該フィールドはテキストボックスでの表示になり、
同フィールドに保存された数値が表示されるようになります。


> リレーションシップを削除しても、ルックアップ列が表示されるのは
> なぜですか?

記録した数値に対応したテキストを表示させるだけなら、実は上記の
『ルックアップ』タブに表示される各項目の幾つかを設定するだけで
可能で、リレーションシップの設定自体は必須ではありません。

ただ、適切なリレーションシップを設定することで、
 ・未登録の項目を勝手に入力されるのを防いだり(=参照整合性)
 ・無用化したレコード(ルックアップで表示される選択項目)が発生
  した場合に、それを削除するだけで、関連する全てのレコードを
  一括で削除したり(=連鎖削除)
といったことが可能になるため、同ウィザードではそれらの設定を同時に
行うように設計された、ということだと思います。

> (2)ルックアップ列の表示を解除したい

1)Accessの画面左端に表示される『ナビゲーション ウィンドウ』で、
 当該テーブルの右クリックメニュー内の「デザイン ビュー(D)」を
 クリックするなどして、デザインビューを開く
2)ルックアップ列を設定したフィールドを選択
3)左下方(ナビゲーション ウィンドウよりは右)に表示される領域で
 『ルックアップ』タブを選択
4)一番上に『表示コントロール』の設定項目があるので、そこの
 値を「テキストボックス」に設定
 (→それより下の項目は全て非表示化(テー...続きを読む

Qスタートメニューを開いたとこにある左側のショートカットを階層化できませんか?

WindowsXPのスタートメニューを開いて、左側の部分(よく使うプログラムの上?)にショートカットを登録してランチャー代わりに使っています。

登録件数が増えてきて縦長なので、そのショートカットを階層化したいと思っています。

これを実現できるソフトやレジストリ設定はないでしょうか?


過去の質問で勘違いされやすそうに感じるところがあるので補足なんですが、[すべてのプログラム]の中ではなくて[スタートメニュー]を開いてすぐ左にあるやつです。デフォルトだとInternetExplorerとメーラー?だけが登録されているところです。

Aベストアンサー

1)スタートボタンを右クリック→開く - All Usersを選択→ウィンドウの空き地を右クリック→新規作成でフォルダを選択→適当な名前を付けて、中に適当なショートカットを数個入れてウィンドウを閉じる。

2)スタートボタン→全てのプログラム→一番上の方に境界線があり、先ほど作ったフォルダがあることを確認→そのフォルダをIEとOEのある場所にドラッグ&ドロップ→しかし、フォルダのショートカットが置かれるだけで階層化はされない。どうしても階層化したければ、クラシックスタートメニューに変更する。そのまま階層化したフォルダが出来上がる。

Qaccess2000で条件によってルックアップ選択肢を変えたい

access入門者です。質問したいことが上手く表現できていないかもしれませんが、どうかアドバイスをお願いします。

1)ソフト
 access2000
2)項目
 (1)ID,(2)区分1,(3)区分2 の3つです。
3)やりたい事
 (1)区分1でルックアップで A,B,Cと選択肢を設定します。
 (2)区分2では 区分1がAなら(1),(2),(3) 区分2がBなら(3),(4),(5) 区分3がCなら、(1),(6),(7) がルックアップで選択できるようにしたい。

です。上記のやりたい事(2)のやり方についてアドバイスを頂ければと思います。よろしくお願いします。

Aベストアンサー

コンボボックス2つ使って・・・ということになりますか。


帳票フォームであれば以下が参考になると思います。
(地方と県の関係部分が)

帳票フォームの複数コンボボックスで絞り込み
http://hatenachips.blog34.fc2.com/blog-entry-73.html


また、単票フォームであれば、
上記内でコンボボックスに重ねているテキストボックスを削除した形にしてみてください。


難しそうなら、
現状のテーブルサンプルを、
また、ルックアップで選択した時の「値」には何を使おうとしているのか、
提示してもらえますか。

Qexec()で他ディレクトリのexeプログラムを実行したい

url2bmpという、指定したURLのスクリーンショットを作成できるコマンドライン対応のソフトを使用しています。これをPHPから実行させたく、exec()関数を使っています。PHPプログラムとexeプログラムは同じ階層にあり、コードは

exec("url2bmp.exe 以下、引数");

のようにしており、問題なく動作していました。
その後、url2bmp.exeを1階層下のフォルダに移し、コードも修正したのですが、動かなくなってしまいました。コードは以下の通りで

exec("kasou/url2bmp.exe 以下、引数");

ディレクトリ指定は間違っていないはずであり、原因は明らかにurl2bmp.exeがPHPプログラムと同じディレクトリにないことなのですが、これの対処法は存在しないのでしょうか?同じコードをコマンドプロンプトで実行するとうまくいくのに、exec()関数では動かないという点に納得がいきません。

Aベストアンサー

ディレクトリのセパレータは、OSによってちがいます。
大ざっぱにいえば、Windowsでなら \ で、UNIXなら /です。

ただし、WindowsのPHP上では、 パスを / でセパレートして記述してもよいように、PHP側の処理側で吸収されてます。

しかし、PHPのexec関数は、外部コマンドを呼び出すシステムコールですから、
PHPの管理外となり、OSのネイティブな機能を使うことになりますので
そのOSでの方言を考慮して、記述する必要があります。

たとえば、Windows(というかDOSというか)では、/ はセパレータでなく、コマンドの オプション指定と解釈され、
dir/w としたら、dirディレクトリのしたのwコマンドを実行するという意味ではなく、
dirコマンドに対して、w というオプションを指定したという意味になります。

QAccessでフィールド文字列内の特定のキーワードから分類・編集する方法

言葉で説明すると、長くて分かりにくいと
思いますので、図を作成してみました。

以下のテーブルがあったとした場合、

名前| 備考
--------------------
MMM |PC所有
WWW |携帯所有
XXX |パソコン所有
NNN |PHS所有


この様な形で編集・出力するクエリを
作成するには、どのようにすればよいでしょうか?

名前| 備考    | 分類コード
------------------------
MMM |PC所有 | 1
WWW |携帯所有 | 2
XXX |パソコン所有 | 1
NNN |PHS所有 | 3

ご存知の方がいらしたら、お教え願います。

Aベストアンサー

> フィールドの文字列に含まれるキーワードを参照し、
> 指定したキーワードが含まれていたら
> それぞれにあった変数を返す、という事は
> 可能でしょうか?

この「指定したキーワード」というのはいくつぐらいあるのでしょうか?
数個ならば、IIF 関数と InStr 関数を使ってやれば大丈夫だと思います。

数が多いのなら、式がかなり長くなってしまいますので、ユーザー定義関数を
作成してやった方がいいと思います。


人気Q&Aランキング

おすすめ情報