another answer on hereがこの問題に対処しましたが、それは役に立ちませんでした。参照しようとしているクエリを確認したところ、どのフィールドでも問題は発生しません。私は、オブジェクトや宣言をどのように宣言して設定したかで遊んだが、それもうまくいかなかった。VBAでAccessでレコードセットを開こうとすると「パラメータが少なすぎます」
Dim dbsCurrent As DAO.Database
Dim rst As DAO.Recordset
Set dbsCurrent = CurrentDb
Set qdf = CurrentDb.QueryDefs("qry_FilmZip")
Set rst = qdf.OpenRecordset 'The error points to this line
rad_full = rst!radius_full
MsgBox ("rad_full:" + rad_full)
アップデート:私は.OpenRecordSet方法にこのようなクエリの名前を与えてみました:Set rst = qdf.OpenRecordset("qry_FilmZip")
を...しかし、今では私に新しいエラー与える:を。誰が何が起こっているのか知っていますか?エラーは同じ行を指しています。
2番目のエラーを解決する方法を見つけました。それは私が
For Each prm In qdf.Parameters
prm.Value = Eval(prm.Name)
Next prm
をしなければならなかったことが判明...しかし、私はこれは本当に何をしているのか理解していません。誰かが私を啓発できますか?
SQL:
SELECT
tbl_FilmZipInfo.ID,
tbl_FilmZipInfo.item,
tbl_FilmZipInfo.qty_per_unit,
tbl_FilmZipInfo.unit_of_measure,
tbl_FilmZipInfo.radius_core,
tbl_FilmZipInfo.radius_full,
tbl_FilmZipInfo.Lf_value_for_zipper,
tbl_FilmZipInfo.S_value_for_zipper,
tbl_FilmZipInfo.film_or_zip,
tbl_FilmZipInfo.Comments,
tbl_FilmZipInfo.physical_description
FROM
tbl_FilmZipInfo
WHERE
(((tbl_FilmZipInfo.item)=[Forms]![frm_FilmZip]![Text314]));
をqdf.OpenRecordset() '@Tomが指摘するように。 – Gustav
'パラメータが少なすぎます。'というクエリーでは、受信しなかったパラメータが必要です。私はあなたがSQLを投稿することをお勧めします... – marlan
@marlanはSQLを追加しました – user7389351