Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Использование временных таблиц в ХП / 12 сообщений из 12, страница 1 из 1
01.04.2004, 15:15
    #32465711
AlTis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование временных таблиц в ХП
Вопрос след. характера:
Почему для источника записей формы нельзя поставить ХП (getMyTable) следующего содержания:
Select * from #MyTable

Ругается при изменении RecordSource как программно, так и в конструкторе
«Не существует источник записей getMyTable указанный в форме или отчёте»

Временная таблица есть. ХП есть.

Если выполнять хп просто из окна бд – всё ок, строки возвращаются.

Никогда не работал со временными табл, но жизнь заставила :)
...
Рейтинг: 0 / 0
01.04.2004, 15:16
    #32465717
AlTis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование временных таблиц в ХП
забыл...
WinXP + adp+Ac2000 sp3
...
Рейтинг: 0 / 0
01.04.2004, 15:30
    #32465760
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование временных таблиц в ХП
попробовал, поставил (акес2000+сп3) - все работает, только источники контролов пришлось ручками задавать


Код: plaintext
1.
2.
3.
4.
5.
SET NOCOUNT ON 
	 create table #t (a1 int)
insert #t SELECT     auMonth AS Expr1
          FROM         tbl0MonthsName
	
	select * from #t
...
Рейтинг: 0 / 0
01.04.2004, 15:31
    #32465762
ищ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование временных таблиц в ХП
ALTER PROCEDURE СохраненнаяПроцедура1

AS

SELECT ID, Name
INTO #t
FROM Фирмы

select * from #T

форма, на основе этой хп открыается
...
Рейтинг: 0 / 0
01.04.2004, 16:07
    #32465835
AlTis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование временных таблиц в ХП
большое спасибо!
Понял что дело в VBA коде.
ХП у меня с параметрами, которые я хотел подсунуть в RecordSource
me!RecordSource ="getMyTable 1"

здесь вылетала ошибка.

Попробовал передать параметры через Inputparametrs - всё получилось

Ещё раз спасибо!
...
Рейтинг: 0 / 0
01.04.2004, 17:18
    #32465964
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование временных таблиц в ХП
Код: plaintext
me.RecordSource = "EXEC getMyTable 1 " 
...
Рейтинг: 0 / 0
01.04.2004, 17:31
    #32465988
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование временных таблиц в ХП
локальные временные таблицы созданные в хранимых процедурах доступны только изнутри этих процедур и удаляются после завершения хранимой процедуры - поэтому у тебя и ругалось

я делал источником данных формы временную таблицу - правда назначал через подготовленный рекордсет

Код: 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.
With CurrentProject.Connection
On Error Resume Next
'Удаляем если осталась с прошлого сеанса'
.Execute  "drop TABLE #TempPlatToFrZarplata" 
On Error GoTo  0 

'Создаем запросом временную таблицу'
.Execute  "SELECT  idplat,  rur_src_kt as ktplat, info, 0  AS id_sotr, " & findep_id & _
 " AS id_findep   INTO #TempPlatToFrZarplata FROM         dbo.plat p   WHERE     DATEPART(m, dataplat) = DATEPART(m, "  & _
SqlData(zp_date_plat) &  ") AND DATEPART(yyyy, dataplat) = DATEPART(yyyy, "  & _
SqlData(zp_date_plat) &  ") AND def_st_rasp = 76  AND PartOf IS NULL AND ongroup = " & findep_id &  "  AND info LIKE N'% зп %'" 


'Добавляем первичный ключ чтоб можно было ресинхронизировать'
.Execute  "ALTER TABLE dbo.#TempPlatToFrZarplata ADD CONSTRAINT PK_TempPlatToFrZarplata PRIMARY KEY CLUSTERED ( idplat) ON [PRIMARY]" 


....

'прочие скрипты обработки временной таблицы'
...

'Открываем временную таблицу в рекордсет'
Src.Open  "select idplat,   ktplat, info,  id_sotr,  id_findep from #TempPlatToFrZarplata" , _
CurrentProject.Connection, adOpenDynamic, adLockOptimistic


'Назначаем рекордсет форме'
Set Me.Recordset = Src
Me.ResyncCommand =  "select idplat,   ktplat, info,  id_sotr,  id_findep from #TempPlatToFrZarplata  where idplat = ?" 
Me.UniqueTable =  "#TempPlatToFrZarplata" 

End With

...
Рейтинг: 0 / 0
01.04.2004, 18:13
    #32466049
OldPferd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование временных таблиц в ХП
Делал то же (в Form_Open), только подсовывал таблицу форме напрямую:
Me.RecordSource = "#tab" (или ХП, использующая эту #tab)

А в Form_Close на всякий случай сразу же удалял #tab
...
Рейтинг: 0 / 0
02.04.2004, 06:19
    #32466364
Pavel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование временных таблиц в ХП
авторА в Form_Close на всякий случай сразу же удалял #tab
А зачем?
Код: plaintext
1.
2.
cmd.CommandText =  "If object_ID('tempdb..#PropertiesLinesTmp') Is Null "  & _
             "Create Table tempdb..#PropertiesLinesTmp (Property_id Int Primary Key Not Null, Property_value_id Int Not Null, ok Bit) "  & _
             "Else Truncate Table tempdb..#PropertiesLinesTmp" 
...
Рейтинг: 0 / 0
02.04.2004, 09:16
    #32466449
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование временных таблиц в ХП
2 Pavel

знаешь в чем разница между truncate и Drop ?

зы: это намек
...
Рейтинг: 0 / 0
02.04.2004, 11:09
    #32466684
OldPferd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование временных таблиц в ХП
А зачем?

Просто для порядка,попользовался - убери за собой

И на ГФ как-то прочитал, что даже после завершения ХП #table бывает
удаляются не сразу, а через некоторое время

Правда для редактирования #tab приходится еще давать права
db_datawriter на tempdb
...
Рейтинг: 0 / 0
02.04.2004, 12:04
    #32466864
Pavel
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Использование временных таблиц в ХП
АлексейК
авторзнаешь в чем разница между truncate и Drop ?
Отчетливо. Намек напрасен. А код - всего лишь пример.

OldPferd
авторПросто для порядка,попользовался - убери за собой
Тут я с тобой абсолютно согласен. Но Form_Close может и не наступить...
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Использование временных таблиц в ХП / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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