過去ログ

                                Page     401
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼リストボックスで検索  あや 03/10/2(木) 15:55
   ┗Re:リストボックスで検索  イケガミ 03/10/2(木) 19:31
      ┗Re:リストボックスで検索  あや 03/10/3(金) 8:28
         ┗Re:リストボックスで検索  あや 03/10/7(火) 16:38
            ┗Re:リストボックスで検索  イケガミ 03/10/7(火) 22:25
               ┗Re:リストボックスで検索  あや 03/10/8(水) 11:42
                  ┗Re:リストボックスで検索  イケガミ 03/10/8(水) 17:04
                     ┗Re:リストボックスで検索  あや 03/10/9(木) 9:12
                        ┗Re:リストボックスで検索  イケガミ 03/10/9(木) 13:19
                           ┗解決しました!  あや 03/10/9(木) 19:07

 ───────────────────────────────────────
 ■題名 : リストボックスで検索
 ■名前 : あや
 ■日付 : 03/10/2(木) 15:55
 -------------------------------------------------------------------------
   検索で探しましたが見つかりませんでしたので質問させて頂きます。

リストボックスで選択し検索しています。

ただ、何も選択せずに検索のボタンを押すとエラーになってしまいます。
それを回避するために、「選択していません」のようなメッセージを出して
エラーを回避したいのですが、どうしたらよいのでしょうか?

宜しくお願いいたします。

 ───────────────────────────────────────  ■題名 : Re:リストボックスで検索  ■名前 : イケガミ  ■日付 : 03/10/2(木) 19:31  -------------------------------------------------------------------------
   >ただ、何も選択せずに検索のボタンを押すとエラーになってしまいます。

If IsNull(Me!リストボックス名) Then
  MsgBox "選択してください!"
  Exit Sub
End If

のようにしてみてください。

 ───────────────────────────────────────  ■題名 : Re:リストボックスで検索  ■名前 : あや  ■日付 : 03/10/3(金) 8:28  -------------------------------------------------------------------------
   ありがとうございました。
出先でこの質問箱を確認していますので、
戻り次第試してみて、
結果をお知らせします。

取り急ぎお礼まで

 ───────────────────────────────────────  ■題名 : Re:リストボックスで検索  ■名前 : あや  ■日付 : 03/10/7(火) 16:38  -------------------------------------------------------------------------
   試してみたのですが、教えていただいたVBAを入れる箇所が悪いらしく
クエリーが消えてしまいます。
↓のどこに入れたら良いのでしょうか?
お手数をおかけしますが宜しくお願いします。


Private Sub コマンド2_Click()

Dim db As Database
Dim QQQ As QueryDef

Set db = CurrentDb

Dim ctl As Control
Dim AAA As String
Dim sql As String


DoCmd.DeleteObject acQuery, "Q_検索"


Set ctl = Me!リスト0
  For Each varItm In ctl.ItemsSelected
    AAA = AAA & ",'" & ctl.ItemData(varItm) & "'"
  Next varItm
  
AAA = Mid(AAA, 2)

sql = " SELECT Q_data.削除, Q_data.名前, Q_data.郵便番号, Q_data.住所1, Q_data.住所2, Q_data.電話, Q_data.東京, Q_data.大阪, Q_data.北海道, FROM Q_data WHERE (((Q_data.住所1) In (" & AAA & ")));"


Set QQQ = db.CreateQueryDef("Q_検索", sql)

db.Close

DoCmd.OpenForm "f_ラベル"

End Sub

 ───────────────────────────────────────  ■題名 : Re:リストボックスで検索  ■名前 : イケガミ  ■日付 : 03/10/7(火) 22:25  -------------------------------------------------------------------------
   >Set ctl = Me!リスト0
>  For Each varItm In ctl.ItemsSelected
>    AAA = AAA & ",'" & ctl.ItemData(varItm) & "'"
>  Next varItm

複数選択を使ってるんですね。。。

AAA の長さを見ればいいのでは?

If Len(AAA) = 0 Then
  MsgBox "ないよ。"

みたいに。
#複数選択プロパティを使っている場合、Value プロパティには
 Null が帰ってきたと思いますので。。

 ───────────────────────────────────────  ■題名 : Re:リストボックスで検索  ■名前 : あや  ■日付 : 03/10/8(水) 11:42  -------------------------------------------------------------------------
   イケガミさん、ありがとうございました。
解決しました!

すみません、やっていて思ったのですが、
選択しなかった場合、全データを表示する
ということもできるのでしょうか?
私はvba初心者なので、本を片手に
例を見ながらやっているので
壁にぶつかりまくっています。
お手数をおかけしますが、宜しくお願いします。

 ───────────────────────────────────────  ■題名 : Re:リストボックスで検索  ■名前 : イケガミ  ■日付 : 03/10/8(水) 17:04  -------------------------------------------------------------------------
   >選択しなかった場合、全データを表示する
>ということもできるのでしょうか?

えっと。。
リストボックスの値集合ソースはどうなっているのでしょうか?

それによって、方法もかわってくると思います。

 ───────────────────────────────────────  ■題名 : Re:リストボックスで検索  ■名前 : あや  ■日付 : 03/10/9(木) 9:12  -------------------------------------------------------------------------
   イケガミさん
ありがとうございます。

>えっと。。
>リストボックスの値集合ソースはどうなっているのでしょうか?

SELECT DISTINCT t_data.住所1
FROM t_data;

です。

宜しくお願いします。

 ───────────────────────────────────────  ■題名 : Re:リストボックスで検索  ■名前 : イケガミ  ■日付 : 03/10/9(木) 13:19  -------------------------------------------------------------------------
   難しく考える必要はなかったですね。。

sql = " SELECT Q_data.削除, Q_data.名前, Q_data.郵便番号, " _
  & "Q_data.住所1, Q_data.住所2, Q_data.電話, Q_data.東京, " _
  & "Q_data.大阪, Q_data.北海道, FROM Q_data "
  
If Len(AAA) > 0 Then
  sql = sql & "WHERE (((Q_data.住所1) In (" & AAA & ")));"
End If

では?

 ───────────────────────────────────────  ■題名 : 解決しました!  ■名前 : あや  ■日付 : 03/10/9(木) 19:07  -------------------------------------------------------------------------
   イケガミさん


思っていたように動作しました。凄く嬉しいです!

この度は、ご親切に教えて下さりありがとうございます。
今後とも宜しくお願いいたします。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 401