powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Ошибка 2580 Не существует источник записей...
8 сообщений из 8, страница 1 из 1
Ошибка 2580 Не существует источник записей...
    #32535158
AlTis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ситуация следующая:
Есть ХП, которая возвр. набор записей.
В ней участвует временная таблица, которая (перед вызовом ХП) успешно формируется.
При открытии формы всё ок – процедура отрабатывает, записи возвращаются.
Далее нажимаю на кнопку, которая меняет входные параметры у формы (которые и являются входными параметрами для ХП) – вылетает ошибка “2580 Не существует источник записей… тратата”, причём вылетает через раз 1-ый раз всё ок, 2-ой раз ошибка.
Если делать пошагово, всё нормально отрабатывает. Убираю брикпоинт - глюки

Подозреваю, что ХП не успевает отрабатывать? Или может ещё что.

Adp (officeXP & 2000)
WinXP
SQL-Server2000

Сервис паки вроде все стоят.
Set nocount on в ХП стоит.
...
Рейтинг: 0 / 0
Ошибка 2580 Не существует источник записей...
    #32535203
ищ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
код давай
и хп и vba
...
Рейтинг: 0 / 0
Ошибка 2580 Не существует источник записей...
    #32535244
AlTis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
код мудреный очень, запутанный.

Выкладываю как есть

Код: 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.
ALTER PROCEDURE getAllClientForDepartment
	@DepartmentID INT,
	@flag INT   -- 0 - nonactive, 1 - active, 2 - all 
 
AS

set nocount on

	DECLARE @CodeField VARCHAR( 50 )
	DECLARE @Len INT
	DECLARE @sql VARCHAR( 2000 )

	SET @CodeField = (SELECT CodeField FROM DepartmentTree WHERE ChildID = @DepartmentID)

	SET @Len = LEN(@CodeField)

	SET @sql = 'SELECT Department.DepartmentID, Department.DepartmentName, Client.ClientID, Client.ClientCode, Client.ClientName, Client.ClientLegalName, Client.ClientStatus FROM #DepartmentTree 
	INNER JOIN Department ON Department.DepartmentID = #DepartmentTree.ChildID
	INNER JOIN Client ON Department.DepartmentID = Client.DepartmentID
	WHERE SUBSTRING(CodeField, 1, ' + CAST(@Len AS VARCHAR( 10 )) + ') = ''' + @CodeField + ''' AND LEN(CodeField) >= ' + CAST(@Len AS VARCHAR( 10 )) + ' AND Department.DepartmentType = 1 
	AND Client.ClientStatus '

	SET @sql = @sql + (
		SELECT 
			CASE 
				WHEN @flag =  0  THEN ' = 0 '
				WHEN @flag =  1  THEN ' = 1 '
				WHEN @flag =  2  THEN ' in(0, 1) '
			END) + ' ORDER BY ClientName'
	
	exec(@sql)

 --print @sql
 


+ кнопка
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Private Sub bt_Click()


On Error GoTo  999 
 
dhCreateTempTable "#DepartmentTree"

Me.InputParameters = "1,2"
Me.RecordSource = "dbo.getAllClientForDepartment"

Exit Sub

 999 :
dhError
'If Err.Number =  2580  Then Resume  0 

End Sub


Делаю по шагам - всё ок, убираю брикпоинт - ошибка
...
Рейтинг: 0 / 0
Ошибка 2580 Не существует источник записей...
    #32535255
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
...
Рейтинг: 0 / 0
Ошибка 2580 Не существует источник записей...
    #32535718
AlTis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Владимир Саныч
Ок, а куда в код поставить DoEvents?

всё перепробовал - результат тот
же - ощибка, если пошагово - всё ок.
Даже написал такой изврат
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Private Sub bt_Click()


On Error GoTo  999 
 
DoEvents
dhCreateTempTable "#DepartmentTree"

DoEvents
Me.InputParameters = "1,2"
DoEvents
Me.RecordSource = "dbo.getAllClientForDepartment"
DoEvents

Exit Sub

 999 :
dhError
'If Err.Number =  2580  Then Resume  0 

End Sub

Как дождаться завершения выполнения ХП?
...
Рейтинг: 0 / 0
Ошибка 2580 Не существует источник записей...
    #32535720
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Я имел в виду поставить перед той строкой, на которой помогает брейкпойнт. Если не получается - значит, я не прав...
...
Рейтинг: 0 / 0
Ошибка 2580 Не существует источник записей...
    #32536005
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторMe.RecordSource = "dbo.getAllClientForDepartment"
авторALTER PROCEDURE getAllClientForDepartment

А где во второй строке dbo. ?
...
Рейтинг: 0 / 0
Ошибка 2580 Не существует источник записей...
    #32536044
ищ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
айтис.

ты явно перемудрил.
во -первх, саму процедуру можно упростить до простого select, а не заниматься сложением строк.
во-вторых. при вы полнении в vba Me.InputParameters = "1,2" до Me.RecordSource = "dbo.getAllClientForDepartment"
происходит перезапрос. по сути дела ты послыаешь на сервер дважды запрос: первый раз с новыми параметрами, но со старым источником, а во второй раз с новым источником.
лучше поставь в InputParameters жесткие ссылки на поля формы, а просто меняй сами значения в этих полях и делай простой перезапрос Me.RecordSource =Me.RecordSource
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Ошибка 2580 Не существует источник записей...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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