Я нашел another answer on here, который обратился к нему, но это мне не помогло. Я проверил запрос, который я пытаюсь использовать, и я не вижу проблемы с каким-либо полем. Я также играл с тем, как я объявил и установил объекты и прочее, но это тоже не сработало.«Слишком мало ошибок параметров» при попытке открыть набор записей в Access с VBA
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)
Update: Я попытался дать метод .OpenRecordSet имя запроса, как это: Set rst = qdf.OpenRecordset("qry_FilmZip")
... но теперь это дает мне новую ошибку: Run-time error 3421: Data type conversion error
. Кто-нибудь знает, что происходит? Ошибка указывает на ту же строку.
Я узнал, как решить вторую ошибку. Оказывается, я должен был сделать
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]));
Это 'Set сначала = qdf.OpenRecordset() 'как указывает @Tom. – Gustav
Ошибка «Слишком мало параметров» указывает, что запрос ожидает того параметра, который он не получил. Я предлагаю вам отправить SQL, вот где ожидается параметр ... – marlan
@marlan добавил SQL – user7389351