こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

「パラメータが少なすぎます。3を指定してください。」って???

Access2000で検索フォームを作っています。
フォームには、「下限」、「上限」と名前をつけたテキストボックスを2つ配置、
どちらも書式は数値型にしています。
このテキストボックスに入力した数字の範囲のレコードを抽出し、
結果を別のフォーム(「結果」)に出したいと考えてます。
そのため、以下のようなコードを書きました。

Private Sub 抽出_click()
On Error GoTo err_抽出_click
Set db = CurrentDb
Set rs = db.OpenRecordset("対象年齢", dbOpenDynaset)

rs.Filter = "対象年齢ID Between Me!下限 And Me!上限"
Set rs = rs.OpenRecordset

DoCmd.OpenForm "結果", , , , acFormReadOnly

rs.Close

exit_抽出_click:
Exit Sub

err_抽出_click:
MsgBox Err.Description
Resume exit_抽出_click

End Sub

「結果」フォームは対象年齢テーブルを基にしています。
これを実行すると、「パラメータが少なすぎます。3を指定してください。」という
メッセージが出てしまうのですが、

Private Sub 抽出_click()
On Error GoTo err_抽出_click

DoCmd.OpenForm "結果", , , "[対象年齢ID] Between [Forms]![検索]![下限] And [Forms]![検索]![上限]", acFormReadOnly

exit_抽出_click:
Exit Sub

err_抽出_click:
MsgBox Err.Description
Resume exit_抽出_click

End Sub

だと実行できます。
条件がこれ1つならば、下を使うのですが、
実際には、データ型の異なる複数の条件のAND検索を行うため、
上のようなものにしたいと考えています。
一体どうすれば、動くようになるのでしょうか?
よろしくお願いします。

投稿日時 - 2001-12-15 08:11:06

QNo.185453

すぐに回答ほしいです

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

Filterの値が"対象年齢ID Between Me!下限 And Me!上限" だと
対象年齢ID が'Me!下限'と'Me!上限'という文字列の間となってしまいます。
Filterの値を"対象年齢ID Between " & Me!下限 & " And " & Me!上限
としたらどうでしょうか?

投稿日時 - 2001-12-15 13:07:18

お礼

ありがとうございます!
無事に動きました。
VBAの基本的なことも分からず、プログラムを組むことになってしまい、
右往左往しているところです。
また、なにかありましたら、よろしくお願いします。

投稿日時 - 2001-12-16 02:47:34

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問