No.6ベストアンサー
- 回答日時:
乗りかけた船ですので回答しますが、タブコントロールは使ったことがありません。
確かにサブフォームを貼り付けることはできましたが、参照方法がわかりません。
たぶん "me.ページ1.[サブフォーム名].form.filter"になるのかな?と思い
やってみたのですが、ヒントに出ません。
そんなことより、タブコントロールでやるのであれば、サブフォームを12枚作った方が簡単じゃないですか?
「ア行のサブフォーム」...「全てのサブフォーム」を作って
それぞれのタブに貼り付ける。
ありがとうございました。そうですよね。おっしゃるとおりです。でも、「ア行」「カ行」・・・のサブフォームをどうすれば作れるのか悩んでました。とりあえず、選択クエリで何とかア行だけの表示が出来たので、きっと後も大丈夫だと思います。
本当にありがとうございました。基礎が出来てないものでいろいろご迷惑をおかけしました。また質問するかもしれませんが、そのときはこれに懲りずにまたよろしくお願いします。
No.7
- 回答日時:
mk114さんのご質問と、その後のsghさんとのやり取りを拝見して、なさりたいことはもしかしてこんなことでは、と思ったものですから・・・。
ふりがなごとにタブを分けてしまうと、住所などのその他の項目でのまとまった抽出ができなくなるのではと思い、以下の方法を考えてみたのですがいかがでしょうか。
(いま手元にはAccess97しかありませんので、2000での確認はしていませんが、多分大丈夫だと思います。)
とりあえず名簿のテーブルのフィールド名が、振り仮名→『Kana』、住所→『Juusho』として進めます。
まず名簿のテーブルを元に、表形式のフォームを作ってみてください。(とりあえずフォームウィザードでもオートフォームででもかまいません。)
このフォームのフォームヘッダーにテキストボックス(コントロールソースは非連結でよい)を二つ配置して、それぞれの名前を『かな抽出』と『住所抽出』とでもしてください。(ついでにこれらの漢字変換モードを‘ひらがな’(Kanaにカタカナで入力されているなら‘カタカナ’)にしておくとあとで楽です。)
それぞれの変更時イベントに次のようにVBAでプロシージャを記述してください。
(コピー&ペーストで貼り付けてもOKです。ただし、フィールド名のところは、修正してください。それから、イベントの変更時が[イベント プロシージャ]になっていることを確認してください。)
Private Sub かな抽出_Change()
Me.Filter = "Kana Like '" & Me!かな抽出.Text & "*' and Juusho Like '*" & Me!住所抽出 & "*'"
Me.FilterOn = True
End Sub
Private Sub 住所抽出_Change()
Me.Filter = "Kana Like '" & Me!かな抽出 & "*' and Juusho Like '*" & Me!住所抽出.Text & "*'"
Me.FilterOn = True
End Sub
フォームビューにして、『かな抽出』にふりがなの先頭の何文字かを、『住所抽出』に住所の一部(県名でも、町名でも、何でも良い)を入力してみてください。
もしもこの方法でご希望のこととができそうでしたら、HELPでも見て勉強してみてください。
HELPでは良くわからないようでしたら、簡単な解説はいたしますので、また同じカテゴリーで質問を立ててみてください。
すごいです!!出来ました。私のレベルでは考えつかなかった、思っていた以上の条件抽出が出来るようになりました。締め切った後にもかかわらず、わざわざ教えていただきありがとうございました。
本当に感謝感激・・・です!大げさではなく本当にありがとうございました。
また質問した際には、よろしくお願いいたします。
No.5
- 回答日時:
サブフォームの中にさらにタブコントロールが入っているという意味でとらえて
いいのでしょうか?
--以下ヘルプより引用--
>タブコントロールとは
>タブ コントロールを使うと、複数のページを単一のセットとして表すことが
>できます。多数のコントロールを操作する場合でそれらが 2 つ以上の種類に
>分類できる場合は、タブ コントロールを使うと便利です。たとえば、[社員]
>フォームでタブ コントロールを使用し、一般情報と個人情報に分けることが
>できます。
--引用終了--
>タブコントロールのプロパティは変更しなくていいのですか?
たぶん、タブコントロールの使い方を間違えていると思います。
私が説明したのは、コマンドボタン(メインフォーム側)とサブフォームを使った
例です。
この回答への補足
ごめんなさい。私の言い方が悪かったです。サンプルデータベースを中途半端にコピーしたのも悪かったのかなぁと思い、始めからデザインビューで自分なりに作ってみました。でもうまくいきません。なんて説明したらいいのかわからないので、私が行った手順を書きます。
(1)フォームをデザインビューで開き、詳細にタブコントロールを設定。
(2)タブコントロールの中にサブフォームを作る。
(3)サブフォームのプロパティを開きデータのソースオブジェクトに対象となる名簿テーブルを設定。
(4)ア行を表示したいタブコントロールのプロパティを開き、後は教えていただいたとおりイベントプロシジャーを書き換える。
以上、手順です。どこが悪いのでしょうか?
たびたび申し訳ありませんが、ご指導お願いします。
No.4
- 回答日時:
>テンプレートの住所録のVisual Basicを参照したところ...
すいません、テンプレートの住所録って使ったことがありません。
どこにあるのかもわかりませんでした。(ACCESS2000)
>T_名簿をサブフォームとして付けました。
つまり、データが表示される部分は、サブフォームなので#3で回答した
書きと違ってきます。
・「あ行」ボタンの名前が "コマンド1"
・サブフォームの名前が "T_名簿"
・T_名簿のフリガナを振ってある列名が "フリガナ"
として説明します。もし名前が違っていたら読み替えてください。
1."コマンド1"のプロパティーを表示
2.イベントタブの"クリック時"を選択し右に出る"..."をクリック
3.イベントプロシジャーを選択
4.以下のように表示される
Private Sub コマンド1_Click()
End Sub
5.以下のように書き換える
Private Sub コマンド1_Click()
Me.T_名簿.Form.Filter = "フリガナ Like '[ア-オ]*'"
Me.T_名簿.Form.FilterOn = True
End Sub
がんばってください。
この回答への補足
たびたびすみません。テンプレート改めサンプルデータベースの住所録の間違いでした。。。で、ご回答いただいた件ですが、タブコントロールのプロパティは変更しなくていいのですか?思った通りにやっぱり出来ないのです・・・。質問が悪くてごめんなさい。
よろしくお願いします。
No.3
- 回答日時:
表形式のフォームヘッダ等にボタンを配置して、各ボタンを「あ行」「か行」...とします。
ボタンのクリック時のイベントプロシージャに、「あ行」なら
Me.Filter = "フリガナ Like '[ア-オ]*'"
Me.FilterOn = True
と記述することで、ア行の人だけが表示されるようになります。
この回答への補足
ありがとうございます。質問をした後に、自分なりにもう一度やり方を模索していたところ、一番やり方が近いように思ったので、もう少し教えていただけますか?
フォームの詳細に、「すべて」「あ」「か」「さ」・・・「その他」と、12のページを作りました。それに、T_名簿をサブフォームとして付けました。実は、ここまではテンプレートの住所録をコピーして応用したのですが・・・。
サブフォームのデータは表示されるのですが、ページをクリックしてもア行だけとかの表示にならないのです。もちろん教えていただいたとおりイベントプロシージャには入力してありますが・・・。テンプレートの住所録のVisual Basicを参照したところで素人のわたしにはさっぱりわからないもので・・・。
すみませんがよろしくお願いします。
No.2
- 回答日時:
まず、早くする方法としては、検索する項目にINDEXをつけます。
そうすることにより、早くなります。但し、デメリットとして、レコード作成時には、遅くなります。しかし、500人程度と、最近は高スペックマシンが普及してるので問題ないと思います。ですから、フリガナにINDEXを付加してください。INDEXの付与は、テーブルデザインで、【表示】-【インデックス】で設定できます。ありがとうございました。今回は違うやり方を模索中です。でも、何種類かのデータベースを作っている最中なので、参考にさせていただきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESSでVBAから選択クエリの抽...
-
ACCESS2003のグループ化のエラ...
-
AccessでIDを入力したら他の項...
-
アクセス2007 フォームでフィ...
-
ACCESS フォームで抽出したデー...
-
AccessでログインIDを抽出条件...
-
AccessのフォームをExcelに出力
-
サブフォームを利用したクエリ...
-
Accessのパラメータクエリ作成...
-
access クエリでIIF文で抽出条...
-
ACCESSで、EXCELのような、sumi...
-
クエリ実行結果0件の場合のフ...
-
Accessのコンボボックスでの検...
-
メインフォームとサブフォーム...
-
Access サブフォームでの選択行...
-
サブフォームが見えなくなる。
-
エクセルで、抽出したデータだ...
-
Access 複数フォームを...
-
【AccessVBA】レコードセットOp...
-
アクセスでコードを入れると名...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSでVBAから選択クエリの抽...
-
AccessでIDを入力したら他の項...
-
クエリ実行結果0件の場合のフ...
-
ACCESSで、EXCELのような、sumi...
-
ACCESS2003のグループ化のエラ...
-
ACCESS2007 マクロ クエリのパ...
-
アクセスのフォームに連番を表...
-
Access 2段階のクエリの作り方
-
access クエリでIIF文で抽出条...
-
サブフォームを利用したクエリ...
-
Accessでフィルタの実行アクシ...
-
Accessクエリの抽出条件にフォ...
-
ACCESS クエリのデザインビュ...
-
フォームからクエリの抽出期間...
-
ACCESS フォームで抽出したデー...
-
クエリーの結果をフォームに表...
-
アクセスのパラメータクエリを...
-
ACCESSで、フォームで抽出した...
-
ACCESSのフォームでボタンを押...
-
AccessのフォームをExcelに出力
おすすめ情報