powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Каких параметров ему не хватает?
31 сообщений из 31, показаны все 2 страниц
Каких параметров ему не хватает?
    #32626676
Strukov Max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DoCmd.OpenForm "1", acNormal, "", "", acAdd, acNormal

Forms![1]!1 = Forms![2]!6

Forms![1]!2 = Forms![2]!4
Kod = Forms![1]!Код
DoCmd.Close acForm, "1"
CurrentDb.Execute "INSERT INTO [Объекты аренды] ( [Арендуемый объект], [Код договора] ) SELECT [Запрос].Счетчик, " & Kod & " FROM [Запрос]"
DoCmd.OpenForm "1", acNormal, "", "", , acNormal

При выполнении этого, Access пишет - Слишком мало параметров. Требуется 9.

Каких параметров?
Почему 9?
...
Рейтинг: 0 / 0
Каких параметров ему не хватает?
    #32626697
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Каких параметров ему не хватает?
    #32626909
Strukov Max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделал я все как говорится в
http://www.sql.ru/forum/actualthread.aspx?tid=50046#349284

запрос нормально работает из конструктора, но отказывается работать из программы.

В чем проблемма???
...
Рейтинг: 0 / 0
Каких параметров ему не хватает?
    #32626934
lsnk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может не соответствие типов? Попробую & Str(Kod) &
...
Рейтинг: 0 / 0
Каких параметров ему не хватает?
    #32626938
Strukov Max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробовал - то же самое :-((
...
Рейтинг: 0 / 0
Каких параметров ему не хватает?
    #32626954
lsnk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я все же проверил бы всетаки все типы данных. И приведи строку полученную от Debug.print
...
Рейтинг: 0 / 0
Каких параметров ему не хватает?
    #32627035
Strukov Max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот что дает debug.print

INSERT INTO [Объекты аренды] ( [Арендуемый объект], [Код договора] ) SELECT [Запрос для выбору по критериям].Счетчик, -1953300196 As A FROM [Запрос для выбору по критериям];
...
Рейтинг: 0 / 0
Каких параметров ему не хватает?
    #32627044
Roma R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А [Запрос для выбору по критериям] можно увидеть?
...
Рейтинг: 0 / 0
Каких параметров ему не хватает?
    #32627049
Strukov Max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SELECT DISTINCTROW [Объекты Запрос].Счетчик, [Объекты Запрос].[Наименование по БТИ], [Объекты Запрос].[Место расположения], [Объекты Запрос].[Технич Хар-ки (Общ S м2 объекта/объем м3)], [Объекты Запрос].[Серия св-ва], [Объекты Запрос].[№ св-ва], [Объекты Запрос].Признак, [Объекты Запрос].[Производственные(1)/непроизводственные(0)], [Объекты Запрос].[Используется (1)/Не используется (0)], [Объекты Запрос].Балансодержатель, [Объекты Запрос].Примечание, [Объекты Запрос].Объединение, Sum([Бухгалтерские данные].[Стоимость балансовая]) AS [Sum-Стоимость балансовая], Sum([Бухгалтерские данные].[Стоимость остаточная]) AS [Sum-Стоимость остаточная], Sum([Бухгалтерские данные].[Амортизация в месяц]) AS [Sum-Амортизация в месяц], IIf(([Sum-Стоимость остаточная]-([Sum-Амортизация в месяц]*DateDiff("m","01.07.2003",Date())))<=0,0,([Sum-Стоимость остаточная]-([Sum-Амортизация в месяц]*DateDiff("m","01.07.2003",Date())))) AS [Остаточная на сегодня], ИнвДляКод.Инв№№
FROM (ВыборОбъединБалансодер INNER JOIN (([Код связи] INNER JOIN [Объекты Запрос] ON [Код связи].[Код Объекта недвижимости] = [Объекты Запрос].[Код Объекта недвижимости]) INNER JOIN ИнвДляКод ON [Код связи].[Код Объекта недвижимости] = ИнвДляКод.[Код Объекта недвижимости]) ON ВыборОбъединБалансодер.Счетчик = [Объекты Запрос].Счетчик) INNER JOIN [Бухгалтерские данные] ON [Код связи].[Код Объекта недвижимости] = [Бухгалтерские данные].[Код Объекта недвижимости]
GROUP BY [Объекты Запрос].Счетчик, [Объекты Запрос].[Наименование по БТИ], [Объекты Запрос].[Место расположения], [Объекты Запрос].[Технич Хар-ки (Общ S м2 объекта/объем м3)], [Объекты Запрос].[Серия св-ва], [Объекты Запрос].[№ св-ва], [Объекты Запрос].Признак, [Объекты Запрос].[Производственные(1)/непроизводственные(0)], [Объекты Запрос].[Используется (1)/Не используется (0)], [Объекты Запрос].Балансодержатель, [Объекты Запрос].Примечание, [Объекты Запрос].Объединение, ИнвДляКод.Инв№№
HAVING (((Sum([Бухгалтерские данные].[Стоимость балансовая])) Between [Forms]![КритерииВыбора]![Поле22] And [Forms]![КритерииВыбора]![Поле24]) AND ((Sum([Бухгалтерские данные].[Стоимость остаточная])) Between [Forms]![КритерииВыбора]![Поле26] And [Forms]![КритерииВыбора]![Поле28]) AND ((Switch([Forms]![КритерииВыбора]![Группа30]=3,[Признак]="жилое" Or [Признак]="здан" Or [Признак]="сооруж",[Forms]![КритерииВыбора]![Группа30]=2,[Признак]="здан" Or [Признак]="сооруж",[Forms]![КритерииВыбора]![Группа30]=1,[Признак]="жилое"))<>False) AND ((IIf([Forms]![КритерииВыбора]![Группа4]=2,[Производственные(1)/непроизводственные(0)]=0 Or [Производственные(1)/непроизводственные(0)]=1,[Производственные(1)/непроизводственные(0)]=[Forms]![КритерииВыбора]![Группа4]))<>False) AND ((IIf([Forms]![КритерииВыбора]![Группа13]=2,[Используется (1)/Не используется (0)]=0 Or [Используется (1)/Не используется (0)]=1,[Используется (1)/Не используется (0)]=[Forms]![КритерииВыбора]![Группа13]))<>False)) OR (((Sum([Бухгалтерские данные].[Стоимость балансовая])) Is Null) AND ((Sum([Бухгалтерские данные].[Стоимость остаточная])) Is Null) AND ((Switch([Forms]![КритерииВыбора]![Группа30]=3,[Признак]="жилое" Or [Признак]="здан" Or [Признак]="сооруж",[Forms]![КритерииВыбора]![Группа30]=2,[Признак]="здан" Or [Признак]="сооруж",[Forms]![КритерииВыбора]![Группа30]=1,[Признак]="жилое"))<>False) AND ((IIf([Forms]![КритерииВыбора]![Группа4]=2,[Производственные(1)/непроизводственные(0)]=0 Or [Производственные(1)/непроизводственные(0)]=1,[Производственные(1)/непроизводственные(0)]=[Forms]![КритерииВыбора]![Группа4]))<>False) AND ((IIf([Forms]![КритерииВыбора]![Группа13]=2,[Используется (1)/Не используется (0)]=0 Or [Используется (1)/Не используется (0)]=1,[Используется (1)/Не используется (0)]=[Forms]![КритерииВыбора]![Группа13]))<>False))
ORDER BY [Объекты Запрос].Счетчик;
...
Рейтинг: 0 / 0
Каких параметров ему не хватает?
    #32627081
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
М-да, и долго доходил до написания таких запросов?
...
Рейтинг: 0 / 0
Каких параметров ему не хватает?
    #32627090
lsnk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сдается мне что он не видит [Forms]![КритерииВыбора]![Поле22] и тд. Формы открыты при запуске инсерта?
...
Рейтинг: 0 / 0
Каких параметров ему не хватает?
    #32627121
Фотография Daf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если запрос сохраненный, то работать не будет. У тебя текст состоит из 3778 знаков, а в сохраненном запросе можно использовать 1024 знака (набери в Helpe "Спецификация", сам увидишь)
...
Рейтинг: 0 / 0
Каких параметров ему не хватает?
    #32627132
Strukov Max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все запросы работают. ОДНОЗНАЧНО!!!

формы на основе этого запроса работают!!!
...
Рейтинг: 0 / 0
Каких параметров ему не хватает?
    #32627135
Strukov Max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Формы открыты!
...
Рейтинг: 0 / 0
Каких параметров ему не хватает?
    #32627138
Strukov Max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так, начинаем сначала.

Есть таблица "объекты", где каждый объект имеет индекс "Счетчик"
Далее есть таблица "Договоры аренды", где каждый договор имеет индекс "Код"
Есть таблица "Объекты аренды" где имеется 2 столбца "Счетчик" и "Код".

Запросом отбираем значения из таблицы "Объекты" по определенному критерию

Нам необходимо сформировать договор аренды и добавить в таблицу Объекты аренды все объекты аренды с кодом договора.

т.е. одновременно надо внести 1 строку в таблицу "Договоры аренды" и N строк - равных количеству строк запроса в таблицу Объекты договора" (+в каждую стоку индекс договора аренды)

Ух!!!
...
Рейтинг: 0 / 0
Каких параметров ему не хватает?
    #32627238
ищ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у тебя Запрос ссылается на поля формы
при графическом запуске он берет эти параметры,
а при пригораммном запуске, нужно передавать эти параметры
вот примерчик запуска запроса на ADO.
для DAO поищи приеры здесь на форуме

Dim cmd As ADODB.Command
Dim prm As ADODB.Parameter
Set cmd = New ADODB.Command
Set cmd.ActiveConnection = CurrentProject.Connection
cmd.CommandText = "[Запрос1]"
cmd.CommandType = adCmdTable
For Each prm In cmd.Parameters
prm.Value = Eval(prm.Name)
Next prm
cmd.Execute
...
Рейтинг: 0 / 0
Каких параметров ему не хватает?
    #32627243
ищ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Даф
в спецификации написано
Число знаков в инструкции SQL - приблизительно 64 000
...
Рейтинг: 0 / 0
Каких параметров ему не хватает?
    #32627329
Фотография Daf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, моя ошибка. Число символов в ЯЧЕЙКЕ запроса = 1024.
Сори за туфту...
...
Рейтинг: 0 / 0
Каких параметров ему не хватает?
    #32627352
Roma R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй так
Dim db As Database, qdf As QueryDef
Set db = CurrentDb()

Set qdf = db.QueryDefs("INSERT INTO [Объекты аренды] ( [Арендуемый объект], [Код договора] ) SELECT [Запрос].Счетчик, " & Kod & " FROM [Запрос]")
qdf.Parameters("[Forms]![КритерииВыбора]![Поле26] ") = [Forms]![КритерииВыбора]![Поле26]
qdf.Parameters([Forms]![КритерииВыбора]![Поле22] )= [Forms]![КритерииВыбора]![Поле22] 'И так все параметры
....
qdf.Execute dbFailOnError
qdf.Close
...
Рейтинг: 0 / 0
Каких параметров ему не хватает?
    #32627371
Фотография SergeySV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А че Eval не хотите ему предложить?
...
Рейтинг: 0 / 0
Каких параметров ему не хватает?
    #32627473
Strukov Max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 RomaR чето не то а вот че?
...
Рейтинг: 0 / 0
Каких параметров ему не хватает?
    #32627487
Roma R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И че пишет на сей раз?
...
Рейтинг: 0 / 0
Каких параметров ему не хватает?
    #32627509
Strukov Max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Элемент не обнаружен в данном семействе
...
Рейтинг: 0 / 0
Каких параметров ему не хватает?
    #32627520
Roma R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Покажи код, который ввел, и скажи на какой строке ругается
...
Рейтинг: 0 / 0
Каких параметров ему не хватает?
    #32627533
Strukov Max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Public Function NoviyDogovorArendySpiskom()
On Error GoTo НовыйДоговорАренды_Err
Dim strSQL As String
Dim Kod As String
Dim db As Database, qdf As QueryDef
Set db = CurrentDb()




If (Forms![Ввод договора перечнем]!ПолеСоСписком4 <> 0 And Forms![Ввод договора перечнем]!ПолеСоСписком6 <> 0) Then
DoCmd.Close acForm, "Договоры аренды"
DoCmd.OpenForm "Договоры аренды", acNormal, "", "", acAdd, acNormal
' Арендатор
Forms![Договоры аренды]!Арендатор = Forms![Ввод договора перечнем]!ПолеСоСписком6
' Арендодатель
Forms![Договоры аренды]!Арендодатель = Forms![Ввод договора перечнем]!ПолеСоСписком4

Kod = Forms![Договоры аренды]!Код
DoCmd.Close acForm, "Договоры аренды"
Set qdf = db.QueryDefs("INSERT INTO [Объекты аренды] ( [Арендуемый объект], [Код договора] ) SELECT [Запрос для выбору по критериям].Счетчик, " & Kod & " FROM [Запрос для выбору по критериям]")
qdf.Parameters([Forms]![КритерииВыбора]![Поле26]) = [Forms]![КритерииВыбора]![Поле26]
qdf.Parameters([Forms]![КритерииВыбора]![Поле24]) = [Forms]![КритерииВыбора]![Поле24]
qdf.Parameters([Forms]![КритерииВыбора]![Поле22]) = [Forms]![КритерииВыбора]![Поле22]
qdf.Parameters([Forms]![КритерииВыбора]![Поле28]) = [Forms]![КритерииВыбора]![Поле28]
qdf.Parameters([Forms]![КритерииВыбора]![Группа30]) = [Forms]![КритерииВыбора]![Группа30]
qdf.Parameters([Forms]![КритерииВыбора]![Группа4]) = [Forms]![КритерииВыбора]![Группа4]
qdf.Parameters([Forms]![КритерииВыбора]![Группа13]) = [Forms]![КритерииВыбора]![Группа13]
qdf.Parameters([Forms]![КритерииВыбора]![ПолеСоСписком0]) = [Forms]![КритерииВыбора]![ПолеСоСписком0]
qdf.Parameters([Forms]![КритерииВыбора]![ПолеСоСписком2]) = [Forms]![КритерииВыбора]![ПолеСоСписком2]

qdf.Execute dbFailOnError
qdf.Close





'strSQL = "INSERT INTO [Объекты аренды] ( [Арендуемый объект], [Код договора] ) SELECT [Запрос для выбору по критериям].Счетчик, " & Str(Nz(Kod)) & " As A FROM [Запрос для выбору по критериям];"

'Debug.Print strSQL

'CurrentDb.Execute strSQL
'DoCmd.OpenQuery "Добавление", acNormal, acEdit


DoCmd.OpenForm "Договоры аренды", acNormal, "", "", , acNormal

End If


НовыйДоговорАренды_Exit:
Exit Function

НовыйДоговорАренды_Err:
MsgBox Error$
Resume НовыйДоговорАренды_Exit

End Function
ругается на Set qdf = db.QueryDefs("INSERT INTO [Объекты аренды] ( [Арендуемый объект], [Код договора] ) SELECT [Запрос для выбору по критериям].Счетчик, " & Kod & " FROM [Запрос для выбору по критериям]")
...
Рейтинг: 0 / 0
Каких параметров ему не хватает?
    #32627542
Roma R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверь, подключена ли библиотека DAO и надо брать имя параметра в кавычки
qdf.Parameters("[Forms]![КритерииВыбора]![Поле26]") = [Forms]![КритерииВыбора]![Поле26]
...
Рейтинг: 0 / 0
Каких параметров ему не хватает?
    #32627748
Strukov Max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нифига не выходит, Данила-мастер, каменный цветок...
Пойдем другим путем...
...
Рейтинг: 0 / 0
Каких параметров ему не хватает?
    #32627787
Roma R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выложи базу (оставь только нужные таблицы , форму и запросы), посмотрим
...
Рейтинг: 0 / 0
Каких параметров ему не хватает?
    #32627865
Strukov Max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
База сильно тяжелая.
Я сделал через задницу, но хитро...
Сохранил результаты запроса (в котором параметров не хватало) в таблицу с помощью
DoCmd.SetWarnings False
DoCmd.OpenQuery "Äîáàâëåíèå", acViewNormal, acEdit
DoCmd.SetWarnings True

а потом уже выполнил запрос на добавление из таблицы

strSQL = "INSERT INTO [Îáúåêòû àðåíäû] ( [Àðåíäóåìûé îáúåêò], [Êîä äîãîâîðà] ) SELECT [Âûáîðêà].[ÊîäÎáúåêòà], " & Str(Kod) & " FROM [Âûáîðêà];"
CurrentDb.Execute strSQL
...
Рейтинг: 0 / 0
Каких параметров ему не хватает?
    #32627879
Фотография Unicco
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HKLM\SYSTEM\ControlSet00X\Control\Nls\CodePage\1252:
c_1252.nls -> c_1251.nls
(для всех имеющихся Х)
...
Рейтинг: 0 / 0
Каких параметров ему не хватает?
    #32627906
Strukov Max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DoCmd.SetWarnings False
DoCmd.OpenQuery "Добавление", acViewNormal, acEdit
DoCmd.SetWarnings True
...
Рейтинг: 0 / 0
31 сообщений из 31, показаны все 2 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Каких параметров ему не хватает?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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