Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1432 / 2272 ツリー ←次へ | 前へ→

【7166】コンボボックスを使用した抽出 mayu 06/1/27(金) 14:27 質問[未読]
【7178】Re:コンボボックスを使用した抽出 中西 健 06/1/28(土) 0:21 回答[未読]
【7185】Re:コンボボックスを使用した抽出 mayu 06/1/30(月) 11:46 発言[未読]
【7190】Re:コンボボックスを使用した抽出 中西 健 06/1/30(月) 22:20 回答[未読]
【7195】Re:コンボボックスを使用した抽出 mayu 06/1/31(火) 15:16 発言[未読]
【7196】Re:コンボボックスを使用した抽出 中西 健 06/1/31(火) 16:43 回答[未読]
【7201】Re:コンボボックスを使用した抽出 mayu 06/2/1(水) 11:09 発言[未読]
【7202】Re:コンボボックスを使用した抽出 中西 健 06/2/1(水) 11:15 回答[未読]
【7204】Re:コンボボックスを使用した抽出 mayu 06/2/1(水) 13:14 お礼[未読]

【7166】コンボボックスを使用した抽出
質問  mayu  - 06/1/27(金) 14:27 -

引用なし
パスワード
   超初心者なのですが よろしくお願い致します。

T_住所A T_住所B と二つの住所録があります。
これを二つに分けている理由は レポートでの印刷時の
表示内容が違うからです(データ内容の重複はありません。)
これらを 一つにまとめるために q_一覧(ユニオンクエリ)があります。
q_一覧を元に F_一覧(名前、住所、電話番号)があります

現在これらを検索するために
検索1 あかさたな
検索2 aiueo が設定されています
(あ行のu だと『う』 か行のiだと『き』が検索)
これにもう一つ 分類 A、B、Cを加えたいと思います
F_住所A、F_住所B により入力したデータが 
上記で書いたそれぞれのテーブルに保存され、q_一覧 ができているわけですが
フォームにABCのチェックボックスを設け、チェックが入っている
もののみを表示したいのです
(F_一覧でAを選んだときAにチェックが入っているもののみ表示)

なぜ、今ボタンではなく、コンボボックスかというと
これからも検索項目が増えた場合への配慮です
お力をおかしくださいませ。

【7178】Re:コンボボックスを使用した抽出
回答  中西 健  - 06/1/28(土) 0:21 -

引用なし
パスワード
    mayuさんこんばんは。
 状況がつかみきれていませんが、VBAを使うとこんな感じですかね。

 Private Sub コンボボックス0_AfterUpdate
  Filter = コンボボックス0
  FilterOn = True
 End Sub

 検索1,検索2はどんな風に実現されているのですか。

【7185】Re:コンボボックスを使用した抽出
発言  mayu  - 06/1/30(月) 11:46 -

引用なし
パスワード
   お返事ありがとうございます。
確認が遅れてすみません。

> 検索1,検索2はどんな風に実現されているのですか。

現在しようしている、50音検索はボタンで表記しており、

検索1 は

Private Sub fra検索1_AfterUpdate()

Dim strCTR As String

Me!fra検索2.Value = 0
Me!fra検索2.Visible = True

Select Case fra検索1
Case 1: strCTR = "[ア−オ]"
Case 2: strCTR = "[カ−ゴ]"
Case 3: strCTR = "[サ−ゾ]"
Case 4: strCTR = "[タ−ド]"
Case 5: strCTR = "[ナ−ノ]"
Case 6: strCTR = "[ハ−ボ]"
Case 7: strCTR = "[マ−モ]"
Case 8:  strCTR = "[ヤ−ヨ]"
Case 9: strCTR = "[ラ−ロ]"
Case 10: strCTR = "[ワ]"

Case Elese
Me.FilterOn = False
 Me!fra検索2.Visible = True
 Me!fra検索2.Value = 0
 Me!opt22.Visible = True: Me!opt24.Visible = True
Exit Sub
End Select

If Me!fra検索1.Value = 10 Then
Me!fra検索2.Visible = False

ElseIf Me!fra検索1.Value = 8 Then
  Me!opt22.Visible = False: Me!opt24.Visible = False
Else
  Me!opt22.Visible = True: Me!opt24.Visible = True
End If

Me.Filter = "フリガナ Like'" & strCTR & "*'"
 Me.FilterOn = True
End Sub

検索2は

Private Sub fra検索2_AfterUpdate()
Dim Siin, Boin, kanaCode As Long
Dim StrCriteria As String
If Me!fra検索1.Value = 0 Or Me!fra検索1.Value = 55 Then
 Me!fra検索2 = 0
 Exit Sub
 End If
 
 Boin = Me!fra検索1.Value
 Siin = Me!fra検索2.Value
 
 kanaCode = 176 + (Boin - 1) * 5 + Siin
 
 kanaCode = kanaCode + (kanaCode = 214)   'ユ=213
 kanaCode = kanaCode + (kanaCode = 216) * 2 'ヨ=214
 
 kanaCode = kanaCode + (kanaCode > 216) * 2 'ラ=217
 
 StrCriteria = Chr$(kanaCode)
 
 Me.Filter = "Left([フリガナ],1)Like'" & StrCriteria & "'"
 Me.FilterOn = True
 
End Sub

となっております。

アクセスに関して初心者ですので、これも他のHPより
紹介されていた物を利用したものです
http://www.kyoutoku.co.jp/msaccess.htm
他にいい方法があれば・・・とも考えているのですが・・・

これはさておき、今やりたいのはコンボボックスです
ドロップダウンボタンを押したら 分類がでてきて一つを選ぶ形式ですよね?
テキストボックスの横に▼がついたような形のやつです(^^;
どうでしょうか・・・?

【7190】Re:コンボボックスを使用した抽出
回答  中西 健  - 06/1/30(月) 22:20 -

引用なし
パスワード
    mayuさんこんばんは。
 やっぱりこんな感じでしょう。
 「コンボボックス0」はコンボボックスの名前です。
 値集合タイプは値リストで
 値集合ソースはA;B;Cです
 A,B,Cはyes/no型のフィールド名と仮定しています。

 Private Sub コンボボックス0_AfterUpdate
  Filter = コンボボックス0
  FilterOn = True
 End Sub

【7195】Re:コンボボックスを使用した抽出
発言  mayu  - 06/1/31(火) 15:16 -

引用なし
パスワード
   こんにちわ

> 値集合タイプは値リストで

  値集合タイプは値リストに設定しました。

> 値集合ソースはA;B;Cです

  この集合ソースの設定の仕方がわかりません。
  ドロップダウンリスト状態になっており
  指定できるのは 3つです

  T_住所A
  T_住所B 
  q_一覧・・・上記二つのテーブルを一つにするためのもの
  
ちなみに、q_一覧を利用して作ったF_一覧に 
今作成している コンボボックスをつけています

> A,B,Cはyes/no型のフィールド名と仮定しています。

 はい F_住所A、F_住所Bには yes/no型のABCを作っています

> Private Sub コンボボックス0_AfterUpdate
>  Filter = コンボボックス0
>  FilterOn = True
> End Sub

  上記コードを入れたところ コンパイルエラーというものがでました
  一行目の Private sub・・・の部分に黄色く線が入りました
  コードは更新後処理に入力しました
  コンボボックスの中には 集合ソースで選択したもの
  (上記で紹介した T_住所A、T_住所B、q_一覧のどれか)が
  表示されます。

よろしくお願いします。
  

【7196】Re:コンボボックスを使用した抽出
回答  中西 健  - 06/1/31(火) 16:43 -

引用なし
パスワード
   コンボボックスの名前を「コンボボックス0」にしてください。
値集合ソースはA;B;Cと入力すればよいです。

【7201】Re:コンボボックスを使用した抽出
発言  mayu  - 06/2/1(水) 11:09 -

引用なし
パスワード
   こんにちわ

一度はうまくいきました
まず練習用にと データをコピーしたもので作成したところ
うまく作動しました。
よし、次は本番と思って作ってみたところ動いてくれません(^^;

リストから選んだときに パラメータがでます
これは ABCどれを選んでも同じ結果でした。
パラメータがでたとき空白のままOKを押すとエラーは閉じます
キャンセルを押したとき カレントデータがありません。
というエラーがで、そのなかのデバックというのをおすと
コードがでてきて、filter=コンボボックス0 に
黄色い線が入ります。

ここで気づいたのですが、コピーで作成していたときは
filter=コンボボックス0 ゼロの部分が全角でした
これは半角でうっても 全角に自動的に変換されていました
しかし 本体では 全角で打っても半角に自動的に変換されます

何か関係があるのでしょうか・・・?

【7202】Re:コンボボックスを使用した抽出
回答  中西 健  - 06/2/1(水) 11:15 -

引用なし
パスワード
   ABCをクエリのフィールドに付け加えなければなりません。

【7204】Re:コンボボックスを使用した抽出
お礼  mayu  - 06/2/1(水) 13:14 -

引用なし
パスワード
   無事作成することができました。
コピーで作成したときには思いついたことが
本番になって ボックスを作ることのみに集中し
基礎を忘れていました・・・(^^;
思い込みとは恐ろしい物ですね^^;

ありがとうございました m(_ _"m)ペコリ

1432 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078229
(SS)C-BOARD v3.8 is Free