OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

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

  • すぐに回答を!
  • 質問No.185453
  • 閲覧数3273
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 100% (3/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検索を行うため、
上のようなものにしたいと考えています。
一体どうすれば、動くようになるのでしょうか?
よろしくお願いします。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1
レベル12

ベストアンサー率 44% (361/807)

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

お礼率 100% (3/3)

ありがとうございます!
無事に動きました。
VBAの基本的なことも分からず、プログラムを組むことになってしまい、
右往左往しているところです。
また、なにかありましたら、よろしくお願いします。
投稿日時 - 2001-12-16 02:47:34
-PR-
-PR-
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ