powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Error: Не удается найти объект в семействе, соответ-щий треб-му имени или порядковому номеру
25 сообщений из 37, страница 1 из 2
Error: Не удается найти объект в семействе, соответ-щий треб-му имени или порядковому номеру
    #32457770
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выдается ошибка (Не удается найти объект в семействе, соответ-щий треб-му имени или порядковому номеру) на строку:

cmd.Parameters("dateBefore") = [Forms]![ZHO]![s]

Правильно ли так писать?
...
Рейтинг: 0 / 0
Error: Не удается найти объект в семействе, соответ-щий треб-му имени или порядковому номеру
    #32457847
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
писать так правильно. Если ругается, значит действительно нет параметра с таким именем. Посмотри в Watch что там реально содержится. Возможно не dateBefore а @dateBefore
...
Рейтинг: 0 / 0
Error: Не удается найти объект в семействе, соответ-щий треб-му имени или порядковому номеру
    #32459367
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
данный параметр объявлен в запросе
Select...(Явка.Дата)>=[dateBefore] And (Явка.Дата)<=[dateAfter]...
А в VB ему присваивается значение из поля формы
Так почему ж не удается найти...в семействе
...
Рейтинг: 0 / 0
Error: Не удается найти объект в семействе, соответ-щий треб-му имени или порядковому номеру
    #32459369
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А почему cmd? Там cmd описано как QueryDef? Можно увидеть всю программу?
...
Рейтинг: 0 / 0
Error: Не удается найти объект в семействе, соответ-щий треб-му имени или порядковому номеру
    #32459371
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прикольно, несмотря на то, что параметры мне известны попробывала так написать:
cmd.Parameters.Item(0) = [Forms]![ZHO]![s]
При выполнении, база безповоротно виснит
...
Рейтинг: 0 / 0
Error: Не удается найти объект в семействе, соответ-щий треб-му имени или порядковому номеру
    #32459374
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
QueryDef через DAO, а я через ADO мудрю
Часть исходного текста (если нужна другая часть, могу и ее):
Set cmd = New ADODB.Command
Set cmd.ActiveConnection = CurrentProject.Connection
cmd.CommandText = "qrySumma" ' это запрос, в кот исп эти пар-ры
cmd.CommandType = adCmdTable
cmd.Parameters.Refresh
cmd.Parameters("dateBefore") = [Forms]![ZHO]![1]
cmd.Parameters("dateAfter") = [Forms]![ZHO]![2]

Set rst2 = New ADODB.Recordset
rst2.ActiveConnection = CurrentProject.Connection
rst2.CursorType = adOpenKeyset
rst2.LockType = adLockOptimistic
Set rst2.Source = cmd
rst2.Open
rst2.MoveFirst
...
Рейтинг: 0 / 0
Error: Не удается найти объект в семействе, соответ-щий треб-му имени или порядковому номеру
    #32459390
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вставь перед строкой с Set rst2
f
Код: plaintext
1.
2.
for each parameter in cmd.parameters
      msgbox parameter.Name
next parameter

и посмотри что будет выдаваться на экран.
...
Рейтинг: 0 / 0
Error: Не удается найти объект в семействе, соответ-щий треб-му имени или порядковому номеру
    #32459920
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вставила перед Set rst2

For Each prm In cmd.Parameters
MsgBox prm.Name
Next prm

Когда ставишь точку после prm в списке отсутсвует Name, поэтому выдается ошибка, что Method or data member not found. Почему Name нет в списке?
...
Рейтинг: 0 / 0
Error: Не удается найти объект в семействе, соответ-щий треб-му имени или порядковому номеру
    #32459935
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну,либо добавь
dim prm as ADODB.Parameter,
либо так
Код: plaintext
1.
2.
for i= 0  to  cmd.parameters.count- 1 
      msgbox cmd.parameteres(i).Name
next i
...
Рейтинг: 0 / 0
Error: Не удается найти объект в семействе, соответ-щий треб-му имени или порядковому номеру
    #32459946
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
объявление prm есть
Dim prm As ADODB.Parameters
так что причина не в этом
а если др способ попробывать - та же ошибка выдается
...
Рейтинг: 0 / 0
Error: Не удается найти объект в семействе, соответ-щий треб-му имени или порядковому номеру
    #32459950
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наконец-то получила сообщение, оказывается всего-то надо было написать так:

MsgBox (cmd.Parameters(i).Name)
т е заключить в скобки.

Сообщения выдаются такие:
перечисляются мои параметры, кот как раз стоят в кач условия в запросе, а потом сообщение о том, что один из параметор не имеет занчение по умолчанию, а именно dateBefore, ну наверное имеется в виду, что и dateAfter тоже.
Я должна в VB присвоить им значение по умолчанию?
Что-то я не понимаю какое?
...
Рейтинг: 0 / 0
Error: Не удается найти объект в семействе, соответ-щий треб-му имени или порядковому номеру
    #32459952
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ура, я обнаружила, что параметр имеет имя [dateBefore], а не dateBefore, все исправила, однако появилась др ошибка, пока не знаю какая, т к при выполнении база начинает висеть, пока не понятно почему, т к особых ухишрений там не делается...
...
Рейтинг: 0 / 0
Error: Не удается найти объект в семействе, соответ-щий треб-му имени или порядковому номеру
    #32459953
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня вопрос такой:
Как можно определить, из-за чего зависает база при выполнении кода на VB?
...
Рейтинг: 0 / 0
Error: Не удается найти объект в семействе, соответ-щий треб-му имени или порядковому номеру
    #32459955
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы бы хотя бы техт запроса привели. А то получается гадание на кофейной гуще. А телепаты все в отпуске :)
Да,вот еще что.Попробуйте вместо
cmd.CommandType = adCmdTable
написать
cmd.CommandType = adCmdStoredProc
...
Рейтинг: 0 / 0
Error: Не удается найти объект в семействе, соответ-щий треб-му имени или порядковому номеру
    #32459956
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой CommandType нужно выбрать, если qrySumma - сохраненный запрос с пар-ми, про кот так долго говорилось выше?????????????????????????

Set cmd = New ADODB.Command
Set cmd.ActiveConnection = CurrentProject.Connection
cmd.CommandText = "qrySumma"
cmd.CommandType = ?
cmd.Parameters("dateBefore") = [Forms]![ZHO]![1]
cmd.Parameters("dateAfter") = [Forms]![ZHO]![2]
Set rst2 = New ADODB.Recordset
rst2.ActiveConnection = CurrentProject.Connection
rst2.CursorType = adOpenKeyset
rst2.LockType = adLockOptimistic
Set rst2.Source = cmd
rst2.Open
Я поставила брейк поинт на строку rst2.Open и вот, что я обнаружила в Watch про rst2:
Операция не допускается, если объект закрыт
Что это может значить???
...
Рейтинг: 0 / 0
Error: Не удается найти объект в семействе, соответ-щий треб-му имени или порядковому номеру
    #32459957
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
здорово, пока я писала вопрос про тип, гляжу, а мне уже написали...спасибо за проницательность
...
Рейтинг: 0 / 0
Error: Не удается найти объект в семействе, соответ-щий треб-му имени или порядковому номеру
    #32459958
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Текст запроса:
Итогового, кот и вызывается в VB:
Код: plaintext
1.
2.
3.
4.
5.
SELECT Сотрудники.[Табельный № сотрудника], Должности!Оклад/Праздники!KolDneyZadano*CountYavok!KolYavok AS Summa
FROM Праздники, CountYavok, Сотрудники INNER JOIN Должности
ON Сотрудники.[Табельный № сотрудника] = Должности.[Табельный № сотрудника]
WHERE (((CountYavok.[Код сотрудника])=[Сотрудники]![Табельный № сотрудника]))
GROUP BY Сотрудники.[Табельный № сотрудника], Должности!Оклад/Праздники!KolDneyZadano*CountYavok!KolYavok;

Запрос CountYavok, откуда берется поле KolYavok:
Код: plaintext
1.
2.
3.
4.
5.
6.
SELECT Явка.[Код сотрудника], Count(Явка.Явка) AS KolYavok
FROM Сотрудники INNER JOIN Явка ON Сотрудники.[Табельный № сотрудника] = Явка.[Код сотрудника]
WHERE (((Явка.[Код сотрудника])=[Сотрудники]![Табельный № сотрудника])
AND ((Явка.Дата)>=dateBefore And (Явка.Дата)<=dateAfter))
GROUP BY Явка.[Код сотрудника]
HAVING (((Count(Явка.Явка))=True));
...
Рейтинг: 0 / 0
Error: Не удается найти объект в семействе, соответ-щий треб-му имени или порядковому номеру
    #32459960
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по поводу типа adCmdStoredProc, если поставить его, то сразу выдается, что таких параметров нет, если же оставить adCmdTable? то все в порядке по поводу нахождения параметров, однако в остальном - полный копец так и остался
...
Рейтинг: 0 / 0
Error: Не удается найти объект в семействе, соответ-щий треб-му имени или порядковому номеру
    #32459962
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Я слаб в ADO, но попробовал бы перед последней строчкой добавить cmd.ActiveConnection.Open
...
Рейтинг: 0 / 0
Error: Не удается найти объект в семействе, соответ-щий треб-му имени или порядковому номеру
    #32459963
irinka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
перед последней строкой - это перед rst2.Open?
Если да, то ошибка такова:
Операция не допускается, если объект открыт ...
хм....
...
Рейтинг: 0 / 0
Error: Не удается найти объект в семействе, соответ-щий треб-му имени или порядковому номеру
    #32459966
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Тогда пардон.
...
Рейтинг: 0 / 0
Error: Не удается найти объект в семействе, соответ-щий треб-му имени или порядковому номеру
    #32459974
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну что Вам сказать?
Кто Вас учил так писать запросы?
Во первых:
в запросе
Код: plaintext
1.
2.
3.
4.
5.
SELECT Явка.[Код сотрудника], Count(Явка.Явка) AS KolYavok
FROM Сотрудники INNER JOIN Явка ON Сотрудники.[Табельный № сотрудника] = Явка.[Код сотрудника]
WHERE (((Явка.[Код сотрудника])=[Сотрудники]![Табельный № сотрудника])
AND ((Явка.Дата)>=dateBefore And (Явка.Дата)<=dateAfter))
GROUP BY Явка.[Код сотрудника]
HAVING (((Count(Явка.Явка))=True));


WHERE (((Явка.[Код сотрудника])=[Сотрудники]![Табельный № сотрудника]) - не нужно , так как это условие уже есть в INNER JOIN
Во вторых:
HAVING (((Count(Явка.Явка))=True)) Это вообще полный нонсенс. Count(Явка.Явка) - это число , а Вы его приравниваете к True
В третьих
Где видно ,что dateBefore и dateAfter - это параметры
В четвертых
Метод Refresh обьекта Command не работает с CurrentProject.Connection

To be continued
...
Рейтинг: 0 / 0
Error: Не удается найти объект в семействе, соответ-щий треб-му имени или порядковому номеру
    #32459977
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
VIGCount(Явка.Явка) - это число , а Вы его приравниваете к True
Это-то ладно. True тоже можно рассматривать как число. Беда в том, что этим числом является -1, тогда как Count всегда число положительное или в лучшем случае 0.
...
Рейтинг: 0 / 0
Error: Не удается найти объект в семействе, соответ-щий треб-му имени или порядковому номеру
    #32459978
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Саныч
Вот я о том же .К-во явок может быть равно -1 только в случае ,если какого то сотрудника вынесли с работы вперед ногами
Я уже молчу про декартово произведение 3(!) таблиц в первом запросе.
...
Рейтинг: 0 / 0
Error: Не удается найти объект в семействе, соответ-щий треб-му имени или порядковому номеру
    #32459988
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIGCount(Явка.Явка) - это число , а Вы его приравниваете к True
А у меня (если я не ошибаюсь) на True и False в представлениях и хп просто ругается. =0 или =1 (или как-нибудь еще) ему надо...
...
Рейтинг: 0 / 0
25 сообщений из 37, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Error: Не удается найти объект в семействе, соответ-щий треб-му имени или порядковому номеру
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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