powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Перевод запроса из MDB в ADP
25 сообщений из 27, страница 1 из 2
Перевод запроса из MDB в ADP
    #32651309
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть запрос
Код: plaintext
1.
SELECT Stati_sokr.Statya, ST_ETAP.St_code, Stati_sokr.Vid, ST_ETAP.Etap_code, Stati_sokr.Npp FROM Stati_sokr RIGHT JOIN ST_ETAP ON Stati_sokr.StatyaCod=ST_ETAP.St_code WHERE (((Stati_sokr.Vid)=[P_R_V]) AND ((ST_ETAP.Etap_code)=IIf((IsNull([Phase])=True Or [Phase]=""),"1000",[Phase]))) ORDER BY Stati_sokr.Npp WITH OWNERACCESS OPTION; 
Занимаюсь переводом базы в ADP. Необходимо сделать ХП.
Вышеописанный запрос- это источник для поля со списком в форме.
Проблема состоит в том, что P_R_V и Phase -это контролы в форме.
Подскажите как обойти проблему.
...
Рейтинг: 0 / 0
Перевод запроса из MDB в ADP
    #32651334
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
итиь у хранимой процедуры есть параметры
у поля со списком есть на выбор:
- RecordSet(в ADP - ADO)
- RowSource
везде можно "exec XP Par1,PAR2"
...
Рейтинг: 0 / 0
Перевод запроса из MDB в ADP
    #32651549
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХП вроде написал,
но при попытке открыть контрол, у которого источник ХП , он пустой.
Помогите!!!!!!!!!!!!!!!!!!!!!
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
ALTER PROCEDURE dbo.moya_5

@p_r_v int, @phase int

AS 
 SET NOCOUNT ON 
begin
if  @phase= ''  
SELECT     dbo.Stati_sokr.Statya, dbo.ST_ETAP.St_code, dbo.Stati_sokr.Vid, dbo.ST_ETAP.Etap_code, dbo.Stati_sokr.Npp
FROM         dbo.Stati_sokr RIGHT OUTER JOIN
                      dbo.ST_ETAP ON dbo.Stati_sokr.StatyaCod = dbo.ST_ETAP.St_code
WHERE     (dbo.Stati_sokr.Vid = @p_r_v) AND (ST_ETAP.Etap_code = 1000 )
ORDER BY dbo.Stati_sokr.Npp 
else
SELECT     dbo.Stati_sokr.Statya, dbo.ST_ETAP.St_code, dbo.Stati_sokr.Vid, dbo.ST_ETAP.Etap_code, dbo.Stati_sokr.Npp
FROM         dbo.Stati_sokr RIGHT OUTER JOIN
                      dbo.ST_ETAP ON dbo.Stati_sokr.StatyaCod = dbo.ST_ETAP.St_code
WHERE     (dbo.Stati_sokr.Vid = @p_r_v) AND (ST_ETAP.Etap_code =@phase)
ORDER BY dbo.Stati_sokr.Npp 
end

...
Рейтинг: 0 / 0
Перевод запроса из MDB в ADP
    #32651599
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Походу форум спит. От выходных отходит.
...
Рейтинг: 0 / 0
Перевод запроса из MDB в ADP
    #32651610
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как ему полному быть если ты параметры не передал?
1 поставь параметры в XP по умолчанию - заведомо дающие не пустой результат
Код: plaintext
1.
@p_r_v int= 1 , @phase int= 2 
после этого в списке появяться строки или
2 в загрузку формы поставь
Код: plaintext
1.
Me![твой_контрол].RowSource = "exec dbo.moya_5 XX YY"

кстати как работа в "Алеф" - меня завтра на интервью зовут ?
...
Рейтинг: 0 / 0
Перевод запроса из MDB в ADP
    #32651611
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НЕ СТОИТ!!!
...
Рейтинг: 0 / 0
Перевод запроса из MDB в ADP
    #32651623
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Shuhard: А если входные параметры определяет юзер во время заполнения формы, что тогда скажешь, что у меня ХП будет выдавать?
...
Рейтинг: 0 / 0
Перевод запроса из MDB в ADP
    #32651624
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProgaНЕ СТОИТ!!!
не СтоИт или не стОит

ты там был или всё основанно на информации из форума работа?
колись давай!
...
Рейтинг: 0 / 0
Перевод запроса из MDB в ADP
    #32651627
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Proga2 Shuhard: А если входные параметры определяет юзер во время заполнения формы, что тогда скажешь, что у меня ХП будет выдавать?
а в чём проблема - параметры по умолчанию этому не мешают,
если вызов без параметров они подставляются ,если с параметрами - берутся внешние
зайди в QA и запусти 2 раза
автор
exec dbo.moya_5 XX YY
exec dbo.moya_5
...
Рейтинг: 0 / 0
Перевод запроса из MDB в ADP
    #32651632
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С приятелем связался, с которым на курсы ездил, он там долго работал, а тут я ему позвонил, говорит ушёл, руководство поменялось, прижимать начали, но он говорит, что у них несколько офисов, поэтому за другие не отвечает, хотя, сказал, что если есть желания погемороется, иди, будут рады. И что-то хотение всё у меня ушло. Жду осени. Latuk сказал будет хороший "КЛЁВ"(спрос). Так что жду. Хотя есть уже пару предложений, вообще забросить АКСУ и уйти на SAP (контора оплачивает обучение, на испытательный - 1500(не плохо на мой взгляд))
...
Рейтинг: 0 / 0
Перевод запроса из MDB в ADP
    #32651644
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОК
пойду - проктология это интересно!
...
Рейтинг: 0 / 0
Перевод запроса из MDB в ADP
    #32651760
Фотография Latuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Proga
Уся твоя ошибка вот здеся if @phase=''
дело в том что инициализация контролов значениями по умолчанмю
происходит уже после загрузки источника поля со списком

>@p_r_v int=1, @phase int=2
будет означать лиш то,
что этим параметрам будет присвоенно это значение
при передаче служебного параметра "default"
а аксес жестко передаст туда NULL
потому @phase='' всегда нет
проверять надо @phase IS NULL
а инициализировать SET @p_r_v=ISNULL(@p_r_v int,1)
...
Рейтинг: 0 / 0
Перевод запроса из MDB в ADP
    #32651791
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Latuk - странно Access XP/adp список на XP с параметром и defaul-ом
- список открывается с данными
- профайлер показывает строку только с именем XP

вероятно эксперимент не чистый - что мне изменить ,дабы перестало работать?
...
Рейтинг: 0 / 0
Перевод запроса из MDB в ADP
    #32652154
Фотография Latuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>что мне изменить ,дабы перестало работать?
А ты уверен что твой пример работает?
Например у меня оффис XP SP2
при выставлении дефаултов в ХП на которой основан комбик
в случае способа передачи через одноименные параметрам контролы
параметры вообще перестают передаватся
и всегда равны дефаулту
с таким же успехом можно константу вставить
Единственно на что я указал
это ошибка @phase=''
NULL не равен пустой строке
сравнение чего угодно с NULL всегда даст false

остальное больше относится к источнику формы
это я так до кучи
...
Рейтинг: 0 / 0
Перевод запроса из MDB в ADP
    #32652181
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Latuk>А ты уверен что твой пример работает?
в случае способа передачи через одноименные параметрам контролы


1 работает
2 причина ясна - передача через одноимённые параметры,у меня они отсутствуют.
контрол один - список,событие одно Load
Код: plaintext
1.
2.
3.
Private Sub Form_Load()
 'Me![Sp_L].RowSource = "exec ProcTcompPar 12" 
End Sub
т.е. вопрос снят,спасибо.
...
Рейтинг: 0 / 0
Перевод запроса из MDB в ADP
    #32652199
Фотография Latuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Способ Me![Sp_L].RowSource = "exec ProcTcompPar 12"
советую применять только в том случае если необходимо
иметь на форме несколько контролов
основанных на одной и той же ХП но с разными значениями параметров
В противном случае появляется много лишнего кода.
...
Рейтинг: 0 / 0
Перевод запроса из MDB в ADP
    #32652276
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХП уже вчера переписал, вот она
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
ALTER PROCEDURE dbo.moya_5

@p_r_v int, @phase int

AS 
 SET NOCOUNT ON 
begin
if  @phase is null
SELECT     dbo.Stati_sokr.Statya, dbo.ST_ETAP.St_code, dbo.Stati_sokr.Vid, dbo.ST_ETAP.Etap_code, dbo.Stati_sokr.Npp
FROM         dbo.Stati_sokr RIGHT OUTER JOIN
                      dbo.ST_ETAP ON dbo.Stati_sokr.StatyaCod = dbo.ST_ETAP.St_code
WHERE     (dbo.Stati_sokr.Vid = @p_r_v) AND (ST_ETAP.Etap_code = 1000 )
ORDER BY dbo.Stati_sokr.Npp 
else
SELECT     dbo.Stati_sokr.Statya, dbo.ST_ETAP.St_code, dbo.Stati_sokr.Vid, dbo.ST_ETAP.Etap_code, dbo.Stati_sokr.Npp
FROM         dbo.Stati_sokr RIGHT OUTER JOIN
                      dbo.ST_ETAP ON dbo.Stati_sokr.StatyaCod = dbo.ST_ETAP.St_code
WHERE     (dbo.Stati_sokr.Vid = @p_r_v) AND (ST_ETAP.Etap_code =@phase)
ORDER BY dbo.Stati_sokr.Npp 
end
Сталкнулся же с другой проблемой,
в зависимости выбора юзера, будет меняться источник строк поля со списком.
так вот есть табла
поле1 поле2
наименов_этапа код_этапа

прикрепляю, к контролу наименование, а в ХП передаю код,
далее, как посоветовал Shuhard, сделал
Код: plaintext
1.
Me.Account.RowSource = "exec dbo.moya_5 " & Me.P_R_V & " " & Me.Phase & ""
но при попытке выбрать, контрол Account выдаёт ошибку
...
Рейтинг: 0 / 0
Перевод запроса из MDB в ADP
    #32652321
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Latuk: Помогай, уже час парюсь, не получается.
...
Рейтинг: 0 / 0
Перевод запроса из MDB в ADP
    #32652412
ищ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
все давно уже решено
http://hiprog.com/access/article.asp?id=370
...
Рейтинг: 0 / 0
Перевод запроса из MDB в ADP
    #32652416
ищ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
исп. 3 вариант(как самый простой)
...
Рейтинг: 0 / 0
Перевод запроса из MDB в ADP
    #32652453
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
ALTER PROCEDURE dbo.moya_5
       @p_r_v int, @phase int =null
AS 
SET NOCOUNT ON 
SELECT     dbo.Stati_sokr.Statya, dbo.ST_ETAP.St_code, dbo.Stati_sokr.Vid, dbo.ST_ETAP.Etap_code, dbo.Stati_sokr.Npp
FROM         dbo.Stati_sokr RIGHT OUTER JOIN
                      dbo.ST_ETAP ON dbo.Stati_sokr.StatyaCod = dbo.ST_ETAP.St_code
WHERE     (dbo.Stati_sokr.Vid = @p_r_v) AND (ST_ETAP.Etap_code =isnull(@phase, 1000 )
ORDER BY dbo.Stati_sokr.Npp 
...
Рейтинг: 0 / 0
Перевод запроса из MDB в ADP
    #32652505
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ищ:Что-то не получается, всё сделал как там написано, но увы.
...
Рейтинг: 0 / 0
Перевод запроса из MDB в ADP
    #32652538
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИЩ Я ТЕБЯ ЛЮБЛЮ!!! РАБОТАЕТ!!!
Только не понял почему, ему такой код не подходит,
Код: plaintext
1.
Me(Account).RowSource = "exec dbo.moya_5 " & Me(P_R_V) & "," & Me(Phase)
и этот тоже не подходит
Код: plaintext
1.
Me.Account.RowSource = "exec dbo.moya_5 " & Me.P_R_V. & "," & Me.Phase
мож объяснишь, для тугодума?
А вот это работает
Код: plaintext
1.
Me("Account").RowSource = "exec " & Chr( 34 ) & "moya_5" & Chr( 34 ) & " " & Chr( 34 ) & Me("P_R_V") & Chr( 34 ) & "," & Chr( 34 ) & Me("PHASE") & Chr( 34 )
...
Рейтинг: 0 / 0
Перевод запроса из MDB в ADP
    #32652693
ищ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
передача параметров должна осуществляться с соответствующим определенному параметру типу данных и выбором требуемых знаков.
бери 3 вариант и не парься с этими кавычками
...
Рейтинг: 0 / 0
Перевод запроса из MDB в ADP
    #32652715
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ладно, забил. ЕЩЁ РАЗ, БОЛЬШОЕ СПАСИБО!!!
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Перевод запроса из MDB в ADP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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