powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Слишком мало параметров. Требуется 2
25 сообщений из 35, страница 1 из 2
Слишком мало параметров. Требуется 2
    #32604958
zrumchik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dim dbProfession As DAO.Database
Dim rstProd As DAO.Recordset

Set dbProfession = CurrentDb
Set rstProd = dbProfession.OpenRecordset("ЭкспортРабМеста", dbOpenDynaset) (ошибка вот на этой строке )

где ЭкспортРабМеста это вот такой запрос:

SELECT DISTINCT Профессии.Профессия, Профессии.[№ ЕТКС], Профессии.Организация, Профессии.Подразделение
FROM Профессии
WHERE (((Профессии.Профессия)=[Forms]![Поиск]![ПолеСоСписком3]) AND ((Профессии.[№ ЕТКС])=[Forms]![Поиск]![ПолеСоСписком5])

Чего надо написать, чтоб выполнился запрос и его результат присвоился rstProd?
...
Рейтинг: 0 / 0
Слишком мало параметров. Требуется 2
    #32604962
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Dim dbProfession As DAO.Database
Dim rstProd As DAO.Recordset
dim q as dao.querydef
dim p as dao.parameter

Set dbProfession = CurrentDb
set q=dbProfession.querydefs("ЭкспортРабМеста")
for each p in q.parameters
p.value=eval(p.name)
next
Set rstProd = q.OpenRecordset(dbOpenDynaset)
...
Рейтинг: 0 / 0
Слишком мало параметров. Требуется 2
    #32604971
Фотография Лифчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А не открывается ли форма, которую Вы испрашаете - [Forms]![Поиск]![ПолеСоСписком3]) - подчиненной в какой-то другой форме, в момент запуска запроса?
...
Рейтинг: 0 / 0
Слишком мало параметров. Требуется 2
    #32605078
zrumchik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я из этой же формы обращаюсь к запросу, т.е. она уже открыта.
...
Рейтинг: 0 / 0
Слишком мало параметров. Требуется 2
    #32605103
S. Fedorenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
смотри здесь
...
Рейтинг: 0 / 0
Слишком мало параметров. Требуется 2
    #32605411
NikP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
До боли в сердце знакомое сообщение

1. Текст запроса надо прописывать в VBA
2. Ссылки на форме прописывать как переменные и вставлять эти переменные в запрос
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Dim dbProfession As DAO.Database
Dim rstProd As DAO.Recordset

a=[Forms]![Поиск]![ПолеСоСписком3]
b=[Forms]![Поиск]![ПолеСоСписком5]

Set dbProfession = CurrentDb
Set rstProd = dbProfession.OpenRecordset(ExpRabM, dbOpenDynaset) 

ExpRabM=SELECT DISTINCT Профессии.Профессия, Профессии.[№ ЕТКС], Профессии.Организация, Профессии.Подразделение
FROM Профессии
WHERE (((Профессии.Профессия)=a) AND ((Профессии.[№ ЕТКС])=b)

Ругается он именно на это. Но прошу проверить орфографию. Возможны ошибки. А принцип именно такой
...
Рейтинг: 0 / 0
Слишком мало параметров. Требуется 2
    #32605421
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
2 NikP:
Переменные вставлять в селект нельзя.

2 zrumchik:
Мой вариант подошел или нет?
...
Рейтинг: 0 / 0
Слишком мало параметров. Требуется 2
    #32605438
NikP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Саныч2 NikP:
Переменные вставлять в селект нельзя.

А как же вот это???
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Function Grup()
Dim a, usl As String

a = Screen.ActiveForm.Name
usl = "Between Forms![" & a & "]![Дата1] And Forms![" & a & "]![Дата2]"

Grup = "SELECT tab.ID_Марки, tab.Марка " & _
"FROM (SELECT [3_ Марки].ID_Марки, [3_ Марки].Марка " & _
"FROM [3_ Марки] INNER JOIN (2_Ассортимент2 INNER JOIN 000 ON [2_Ассортимент2].ID_Товар2 = [000].Ассортимент) ON [3_ Марки].ID_Марки = [2_Ассортимент2].Марки " & _
"GROUP BY [3_ Марки].ID_Марки, [3_ Марки].Марка, [000].Дата " & _
"HAVING ((([000].Дата) " & usl & ")) " & _
"ORDER BY [3_ Марки].Марка, [000].Дата) AS tab " & _
"GROUP BY tab.ID_Марки, tab.Марка " & _
"ORDER BY tab.Марка"

End Function
...
Рейтинг: 0 / 0
Слишком мало параметров. Требуется 2
    #32605470
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
NikPА как же вот это???
А это совсем другое дело. Здесь селект не обращается к переменным.
...
Рейтинг: 0 / 0
Слишком мало параметров. Требуется 2
    #32605474
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Но тогда получается селект именно такого типа, как в исходном вопросе.
...
Рейтинг: 0 / 0
Слишком мало параметров. Требуется 2
    #32605490
NikP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир СанычНо тогда получается селект именно такого типа, как в исходном вопросе.
Ну я не знаю может выразился неправильно, но суть в том, что надо делать по такому же принципу, как в примере, тогда все будет работать
...
Рейтинг: 0 / 0
Слишком мало параметров. Требуется 2
    #32605493
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
NikPНу я не знаю может выразился неправильно, но суть в том, что надо делать по такому же принципу, как в примере, тогда все будет работать
По такому принципу, как в примере, получится селект того же типа, что и в вопросе, т.е. опять со ссылкой на форму через Forms!итд. Соответственно, опять возникнет точно такой же вопрос.
...
Рейтинг: 0 / 0
Слишком мало параметров. Требуется 2
    #32605523
NikP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Даю ссылку /topic/101851&hl=
Там это дело на столько разжевали, что дальше помоему некуда
...
Рейтинг: 0 / 0
Слишком мало параметров. Требуется 2
    #32605536
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
NikPДаю ссылку /topic/101851&hl=
Там это дело на столько разжевали, что дальше помоему некуда
Совершенно верно. Именно так, как сказано в топике по ссылке, можно убедиться, что оба селекта совершенно однотипные.
...
Рейтинг: 0 / 0
Слишком мало параметров. Требуется 2
    #32605555
NikP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Саныч NikPДаю ссылку /topic/101851&hl=
Там это дело на столько разжевали, что дальше помоему некуда
Совершенно верно. Именно так, как сказано в топике по ссылке, можно убедиться, что оба селекта совершенно однотипные.

Я чего-то не пойму я в первом ответе правильно написал или нет?
В смысле сам селект
...
Рейтинг: 0 / 0
Слишком мало параметров. Требуется 2
    #32605564
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
В первом ответе - это вот это:
WHERE (((Профессии.Профессия)=a) AND ((Профессии.[№ ЕТКС])=b)
?

Неправильно, потому что a и b - это переменные. Селект их не увидит.
...
Рейтинг: 0 / 0
Слишком мало параметров. Требуется 2
    #32605579
NikP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир СанычВ первом ответе - это вот это:
WHERE (((Профессии.Профессия)=a) AND ((Профессии.[№ ЕТКС])=b)
?

Неправильно, потому что a и b - это переменные. Селект их не увидит.

А если вот так
Код: plaintext
1.
"WHERE (((Профессии.Профессия)=" & a & ") AND ((Профессии.[№ ЕТКС])=" & b & ")"
...
Рейтинг: 0 / 0
Слишком мало параметров. Требуется 2
    #32605590
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Так лучше. Но a и b не должны иметь вид Forms!итд, а то возникнет та же проблема, что в вопросе.
...
Рейтинг: 0 / 0
Слишком мало параметров. Требуется 2
    #32605626
NikP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир СанычТак лучше. Но a и b не должны иметь вид Forms!итд, а то возникнет та же проблема, что в вопросе.
Саныч, ну я же приписку сделал, что с орфографией напортачил
В этом примере все работает и селект MySQL принимается рекордсетом без единого вопроса
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
Function MySql() As String
    Dim slct As String, Grp As String, Ord As String
    Dim dum As Integer
   'начало вставки
    Dim qry As DAO.QueryDef
    Dim reg As Long
    reg = Forms![000_Объемы]![Список8]
    Set qry = CurrentDb.QueryDefs("001_Регион")
    qry.SQL = "SELECT [000_V].Область, [000_V].Дата AS Дата_, Sum([000_V].Продано_кг) AS " & _
              "[Sum-Продано_кг] FROM 000_V GROUP BY [000_V].Область, [000_V].Дата " & _
              "HAVING ((([000_V].Область)=" & reg & "));"    
   'конец вставки
dum = Forms![000_Объемы]![Дата]
    
    Select Case dum
    Case  1 
        slct = "Format([Дата], ""dd/mm/yy"")"
        Grp = "Year([Дата])*365+Month([Дата])*31+Day([Дата]) "
        Ord = "Format([Дата],""dd/mm/yy"") "
    Case  2 
        slct = "CByte((([Дата] - #12/31/2000#) - CByte(([Дата] - #12/31/2000#) / 364 - 0.4999) * 364) / 7 + 0.6)"
        Grp = "CByte(([Дата]-#12/31/2000#)/7+0.6) "
        Ord = "CByte((([Дата]-#12/31/2000#)-CByte(([Дата]-#12/31/2000#)/364-0.4999)*364)/7+0.6) "
    Case  3 
        slct = "Format([Дата], ""mmmm  yy"")"
        Grp = "Year([Дата])*12+Month([Дата]) "
        Ord = "Format([Дата],""mmmm  yy"") "
    Case  4 
        slct = "Format([Дата], ""q  yy"")"
        Grp = "Year([Дата])*4+CByte(Month([Дата])/3+0.2) "
        Ord = "Format([Дата],""q  yy"") "
    Case  5 
        slct = "Format([Дата], ""yyyy"")"
        Grp = "Year([Дата]) "
        Ord = "Format([Дата],""yyyy"") "
    End Select
    
    MySql = "SELECT " & slct & _
        ", Sum([001_Регион].[Sum-Продано_кг]) As Тоннаж " & vbCrLf & _
        "FROM 00_Дата " & vbCrLf & _
        "LEFT JOIN 001_Регион " & vbCrLf & _
        "ON [00_Дата].[Дата] = [001_Регион].[Дата_] " & vbCrLf & _
        "GROUP BY " & Ord & "," & Grp & vbCrLf & _
        "ORDER BY " & Grp

End Function
...
Рейтинг: 0 / 0
Слишком мало параметров. Требуется 2
    #32605656
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
О, вот тут все в порядке.
...
Рейтинг: 0 / 0
Слишком мало параметров. Требуется 2
    #32605663
NikP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир СанычО, вот тут все в порядке.
Ну я же говорил, что даю сам принцип и указываю из-за чего ошибка, а дальше как говориться немного напильником. Больше так делать не буду каюсь. Думал время съэкономлю. Оказалось, что потратил намного больше
...
Рейтинг: 0 / 0
Слишком мало параметров. Требуется 2
    #32605668
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
NikPНу я же говорил, что даю сам принцип и указываю из-за чего ошибка,
Сам принцип в первом примере и в последнем - разный. А из-за чего ошибка - сказано не было.
...
Рейтинг: 0 / 0
Слишком мало параметров. Требуется 2
    #32605672
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не хочу казаться занудой, но повторюсь. Сей вопрос надо хзанести в ФАК!!!
...
Рейтинг: 0 / 0
Слишком мало параметров. Требуется 2
    #32605683
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
ТемныйНе хочу казаться занудой, но повторюсь. Сей вопрос надо хзанести в ФАК!!!
Согласен. Но:
1. О том, как заносить переменные в стринг селекта, фак есть.
2. О том, как подставлять значения параметров, лежит недоделанный фак by Sfagnum.
...
Рейтинг: 0 / 0
Слишком мало параметров. Требуется 2
    #32605691
NikP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Саныч NikPНу я же говорил, что даю сам принцип и указываю из-за чего ошибка,
Сам принцип в первом примере и в последнем - разный. А из-за чего ошибка - сказано не было.

Проблема в том, что селект не видит именно две ссылки на формы, если их прописать так, как указано в последнем примере reg = Forms![000_Объемы]![Список8], то все будет работать.
...
Рейтинг: 0 / 0
25 сообщений из 35, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Слишком мало параметров. Требуется 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]