|
|
|
Передача парметра в ХП
|
|||
|---|---|---|---|
|
#18+
Привет всем. Суть проблемы: Есть некая ленточная форма. Источник данных - ХП с параметрами. Значения параметров берутся из полей формы. То есть в InputParametrs все прописанно как надо. Первый раз столкнулся с таким глюком, значения нескольких полей ложные!!! То есть в одном поле пишется слово #ошибка в другом значение не то что должно быть, как подмена значений, короче ГЛЮК! Стоп! Понимаю что путанно объяснил, однако читайте дальше. У ХП три параметра @MyDate smalldatetime @IdArt int @IdFirmaModel int Стал я методом тыка искать ошибку. Во первых запустил процедура из QA все поля на месте все тип топ Убрал все параметры из свойтсва InputParametrs Соответсвенно форма стала требовать их ввода. Я ввожу нужные значения и все работает без глюка. Смотрим Profiler: Код: plaintext 1. Так значит все гуд. Следующий шаг зададим два первых парметра через поля формы, а последний введем вручную. Все работает без глюка, смотрим Profiler: Код: plaintext 1. мда. последний параметр вводили в ручную он остался int. Ну и задаем последний параметр через поля формы! Все глюк который я описал выше! Смотрим Profiler: Код: plaintext 1. Как решить эту проблемму я не пойму. может быть есть способ передать параметр из формы как int Может кто сталкивался. Если кто-нибудь чего-нибудь понял в описанном выше. Выскажитесь плиз спасибо. P.S. Я не провожу текст ХП она слишком путанная к тому же вот это: Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2004, 13:05 |
|
||
|
Передача парметра в ХП
|
|||
|---|---|---|---|
|
#18+
Может проблема в дате? У меня так не получается, чтоб сервак нормально понимал локаль русскую Приходится дату в ISO переводить для сервака :( т.е. чтоб он наверняка передал '20040409', а не как ему захотся :( Хотя судя по посту проблема не в этом Так что моно это не читать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2004, 13:13 |
|
||
|
Передача парметра в ХП
|
|||
|---|---|---|---|
|
#18+
Тут вот какой глюк остановлюсь подробнее: Есть поля на форме IdArtikul, No_Op, Baza и т.д. После выполнения ХП с параметрами заданными через форму в поле IdArtikul =#ошибка в поле No_Op= значение IdArtikul Cо значениями в поле Baza и др все впорядке! Мля ГЛЮК! другого слова нет! Чего Access делает с данными! Кстати MSA XP Help! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2004, 13:19 |
|
||
|
Передача парметра в ХП
|
|||
|---|---|---|---|
|
#18+
2 paparome Нет проблема не в этом, спасибо за совет в любом случае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2004, 13:20 |
|
||
|
Передача парметра в ХП
|
|||
|---|---|---|---|
|
#18+
Что-то напоминает проблемы с view типа Select * Form tbl1 Если есть такие, когда из tbl1 удаляешь поле или добавляешь в середину, то вьюха бред выдавать начинает :( Такие вьюхи приходится пересоздавать (ALTER VIEW ...) после вышеописанных действий (и бороться с этим никак) Это-же относится и к табличным UDF ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2004, 13:34 |
|
||
|
Передача парметра в ХП
|
|||
|---|---|---|---|
|
#18+
Мда. UDF то у меня тоже есть она внутри ХП зарыта .. мля сижу копаюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2004, 13:37 |
|
||
|
Передача парметра в ХП
|
|||
|---|---|---|---|
|
#18+
важно чтоб в хранимке было DECLARE @MyDate datetime , и во входных параметрах @P1 datetime = ... , @P2 int = ..., @P3 int = ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2004, 13:39 |
|
||
|
Передача парметра в ХП
|
|||
|---|---|---|---|
|
#18+
2 АлексейК автор DECLARE @MyDate datetime Нет только не DECLARE, напомню речь идет о параметре. автор@P1 datetime = ... , @P2 int = ..., @P3 int = ... Спасибо, указал тип явно, профайлер выдал: Код: plaintext 1. Однако одно из полей формы (IdArtikul) упрямо содержит надпись #ошибка! Сделал так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2004, 13:56 |
|
||
|
Передача парметра в ХП
|
|||
|---|---|---|---|
|
#18+
такое бывает когда нельзя однозначно определить имя поля или имя контрола где -то у тебя дубляж имен в форме попробуй для начала изменить имя вывода поля в хранимке на другое в принципе такая ссылка из формулы должна быть однозначна? private function getart() getart = me.fields("IdArtikul") end function ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2004, 14:23 |
|
||
|
Передача парметра в ХП
|
|||
|---|---|---|---|
|
#18+
Если ты имеешь ввиду getart = me. controls ("IdArtikul") То та же ошибка! автортакое бывает когда нельзя однозначно определить имя поля или имя контрола где -то у тебя дубляж имен в форме Странно а почему тогда при ручном вводе все гуд? Сейчас попробую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2004, 14:29 |
|
||
|
Передача парметра в ХП
|
|||
|---|---|---|---|
|
#18+
Спасибо всем ответившим! Ближе всех к истине оказался paparome . В коде процедуры у меня есть условие IF там парам -> SELECT IdArt, No, Name ELSE другой ->SELECT No, IdArt, Name Access глючил из-за этого, то есть видимо при подключении к серверу, он проверяет все ХП и запоминает порядок вывода столбцов, и если этот порядок изменяется в ХП, то контролам присваиваются значения не по именам полей, а по порядку (по номерам) И если ветвление внутри ХП предполагает изменение числа полей или порядка их следования будет глюк! я этого не знал. В моем случаи я просто поменял местами No и IdArt и все заработало. Еще раз всем спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2004, 15:00 |
|
||
|
Передача парметра в ХП
|
|||
|---|---|---|---|
|
#18+
авторЕсли ты имеешь ввиду getart = me.controls("IdArtikul") c точностью до наоборот как раз я имел ввиду значение поля записи а не значение контрола ADP Dim rs As New ADODB.Recordset Set rs = Me.RecordsetClone rs.Bookmark = Me.Bookmark MsgBox rs. Fields ("id") rs.Close Set rs = Nothing mdb Me.Dynaset.Bookmark = Me.Bookmark MsgBox Me.Dynaset. Fields ("id") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2004, 16:36 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32528038&tid=1674457]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
178ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 471ms |

| 0 / 0 |
