Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Слишком мало параметров. Требуется 2 / 25 сообщений из 35, страница 1 из 2
14.07.2004, 23:59:17
    #32604958
zrumchik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком мало параметров. Требуется 2
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
15.07.2004, 00:04:20
    #32604962
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком мало параметров. Требуется 2
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
15.07.2004, 00:23:47
    #32604971
Лифчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком мало параметров. Требуется 2
А не открывается ли форма, которую Вы испрашаете - [Forms]![Поиск]![ПолеСоСписком3]) - подчиненной в какой-то другой форме, в момент запуска запроса?
...
Рейтинг: 0 / 0
15.07.2004, 08:27:54
    #32605078
zrumchik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком мало параметров. Требуется 2
Я из этой же формы обращаюсь к запросу, т.е. она уже открыта.
...
Рейтинг: 0 / 0
15.07.2004, 08:58:54
    #32605103
S. Fedorenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком мало параметров. Требуется 2
смотри здесь
...
Рейтинг: 0 / 0
15.07.2004, 11:15:43
    #32605411
NikP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком мало параметров. Требуется 2
До боли в сердце знакомое сообщение

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
15.07.2004, 11:17:55
    #32605421
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком мало параметров. Требуется 2
2 NikP:
Переменные вставлять в селект нельзя.

2 zrumchik:
Мой вариант подошел или нет?
...
Рейтинг: 0 / 0
15.07.2004, 11:21:45
    #32605438
NikP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком мало параметров. Требуется 2
Владимир Саныч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
15.07.2004, 11:30:24
    #32605470
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком мало параметров. Требуется 2
NikPА как же вот это???
А это совсем другое дело. Здесь селект не обращается к переменным.
...
Рейтинг: 0 / 0
15.07.2004, 11:31:21
    #32605474
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком мало параметров. Требуется 2
Но тогда получается селект именно такого типа, как в исходном вопросе.
...
Рейтинг: 0 / 0
15.07.2004, 11:33:48
    #32605490
NikP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком мало параметров. Требуется 2
Владимир СанычНо тогда получается селект именно такого типа, как в исходном вопросе.
Ну я не знаю может выразился неправильно, но суть в том, что надо делать по такому же принципу, как в примере, тогда все будет работать
...
Рейтинг: 0 / 0
15.07.2004, 11:35:48
    #32605493
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком мало параметров. Требуется 2
NikPНу я не знаю может выразился неправильно, но суть в том, что надо делать по такому же принципу, как в примере, тогда все будет работать
По такому принципу, как в примере, получится селект того же типа, что и в вопросе, т.е. опять со ссылкой на форму через Forms!итд. Соответственно, опять возникнет точно такой же вопрос.
...
Рейтинг: 0 / 0
15.07.2004, 11:44:39
    #32605523
NikP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком мало параметров. Требуется 2
Даю ссылку /topic/101851&hl=
Там это дело на столько разжевали, что дальше помоему некуда
...
Рейтинг: 0 / 0
15.07.2004, 11:48:09
    #32605536
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком мало параметров. Требуется 2
NikPДаю ссылку /topic/101851&hl=
Там это дело на столько разжевали, что дальше помоему некуда
Совершенно верно. Именно так, как сказано в топике по ссылке, можно убедиться, что оба селекта совершенно однотипные.
...
Рейтинг: 0 / 0
15.07.2004, 11:54:44
    #32605555
NikP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком мало параметров. Требуется 2
Владимир Саныч NikPДаю ссылку /topic/101851&hl=
Там это дело на столько разжевали, что дальше помоему некуда
Совершенно верно. Именно так, как сказано в топике по ссылке, можно убедиться, что оба селекта совершенно однотипные.

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

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

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

А если вот так
Код: plaintext
1.
"WHERE (((Профессии.Профессия)=" & a & ") AND ((Профессии.[№ ЕТКС])=" & b & ")"
...
Рейтинг: 0 / 0
15.07.2004, 12:03:20
    #32605590
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком мало параметров. Требуется 2
Так лучше. Но a и b не должны иметь вид Forms!итд, а то возникнет та же проблема, что в вопросе.
...
Рейтинг: 0 / 0
15.07.2004, 12:14:08
    #32605626
NikP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком мало параметров. Требуется 2
Владимир СанычТак лучше. Но 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
15.07.2004, 12:21:37
    #32605656
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком мало параметров. Требуется 2
О, вот тут все в порядке.
...
Рейтинг: 0 / 0
15.07.2004, 12:24:30
    #32605663
NikP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком мало параметров. Требуется 2
Владимир СанычО, вот тут все в порядке.
Ну я же говорил, что даю сам принцип и указываю из-за чего ошибка, а дальше как говориться немного напильником. Больше так делать не буду каюсь. Думал время съэкономлю. Оказалось, что потратил намного больше
...
Рейтинг: 0 / 0
15.07.2004, 12:26:07
    #32605668
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком мало параметров. Требуется 2
NikPНу я же говорил, что даю сам принцип и указываю из-за чего ошибка,
Сам принцип в первом примере и в последнем - разный. А из-за чего ошибка - сказано не было.
...
Рейтинг: 0 / 0
15.07.2004, 12:27:41
    #32605672
Темный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком мало параметров. Требуется 2
Не хочу казаться занудой, но повторюсь. Сей вопрос надо хзанести в ФАК!!!
...
Рейтинг: 0 / 0
15.07.2004, 12:31:16
    #32605683
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком мало параметров. Требуется 2
ТемныйНе хочу казаться занудой, но повторюсь. Сей вопрос надо хзанести в ФАК!!!
Согласен. Но:
1. О том, как заносить переменные в стринг селекта, фак есть.
2. О том, как подставлять значения параметров, лежит недоделанный фак by Sfagnum.
...
Рейтинг: 0 / 0
15.07.2004, 12:34:03
    #32605691
NikP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слишком мало параметров. Требуется 2
Владимир Саныч NikPНу я же говорил, что даю сам принцип и указываю из-за чего ошибка,
Сам принцип в первом примере и в последнем - разный. А из-за чего ошибка - сказано не было.

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


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