|
|
|
Проблемы передачи параметров в процедуру из полей формы
|
|||
|---|---|---|---|
|
#18+
В продолжение /topic/80808\r \r Сделал так. \r В обработчике описал, что переносить в процедуру только те параметры, которые вбиты в поля в форме, т.е. пустые поля игнорируются. (Т.е. если вбито 2 к.-либо поля, то передается 2 соответствующих параметра). \r В общем все это работает, за исключением "но".. \r При нажатии на кнопку параметр который я вбил передается, а остальные запрашиваются диалогом ("Введите значение параметра") :( \r В процедуре у всех параметров установлены значения по-умолчанию NULL. \r \r Как это обойти? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2004, 00:35 |
|
||
|
Проблемы передачи параметров в процедуру из полей формы
|
|||
|---|---|---|---|
|
#18+
Не совсем понятно правда, имели ли вы в виду значение свойства формы InputParameters... Если да, то тут такое дело... Несмотря на то, что документация от Microsoft к свойству InputParameters говорит, что достаточно опустить указание какого либо параметра, чтобы он получил значение по умолчанию, это не работает - значение параметра в этом случае запрашивается у пользователя. А вот если опустить только значение параметра, а не его описание, то это будет работать: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2004, 01:06 |
|
||
|
Проблемы передачи параметров в процедуру из полей формы
|
|||
|---|---|---|---|
|
#18+
Дело в том что я не хочу передавать ВСЕ параметры в InputParameters. У меня их более 50-ти штук и к тому же я не знаю какие комбинации параметров будет использовать будущий пользователь :) А при передачи всех параметров из VB в InputParameters система ругается, что для этого свойства это слишком длинное значение :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2004, 01:32 |
|
||
|
Проблемы передачи параметров в процедуру из полей формы
|
|||
|---|---|---|---|
|
#18+
Может кто знает другие пути решения моей задачи? (просьба по-подробнее а не в 2-х 3-х словах .. я пока не спец :) ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2004, 18:27 |
|
||
|
Проблемы передачи параметров в процедуру из полей формы
|
|||
|---|---|---|---|
|
#18+
Можно передавать один параметр - строку, содержащую последовательность всех необходимых параметров с каким-нибудь разделителем, а в процедуре разбирать ее и получать нужные параметры. Или сохранять значения параметров во временной таблице, а процедура будет их оттуда считывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2004, 20:29 |
|
||
|
Проблемы передачи параметров в процедуру из полей формы
|
|||
|---|---|---|---|
|
#18+
Да, именно это я, поразмыслив, и хотел предложить - экономную "упаковку" информации в минимальном числе параметров и, в качестве последнего средства - передачу информации через "глобальную" таблицу. Pavel , большое ему спасибо, потрудился за меня :). Но, поскольку мне как-то с трудом воображается практическая необходимость одной процедуры с тремя десятками параметров, рискну предположить, что к решению задачи можно подойти с другой стороны. Из контекста можно предположить, что при каждом конкретном вызове большинство параметров пусты, и лишь отдельные их группы в том или ином случае несут информацию. Прям-таки руки чешутся проанализировать, в каких случаях какие параметры непусты, разбить их на группы и для каждой такой группы (вряд ли их окажется много) создать отдельную процедуру со своим набором параметров. А в форме в зависимости от ситуации динамически менять свойство RecordSource и InputParameters, подставляя туда информацию, относящуюся то к одной, то к другой процедуре... Глядишь, и длины InputParameters хватит... :). А может даже (чем чёрт не шутит) возможно, хорошенько подумав, сократить число параметров вообще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2004, 22:23 |
|
||
|
Проблемы передачи параметров в процедуру из полей формы
|
|||
|---|---|---|---|
|
#18+
Можно по-подробнее про упаковку и глобальную таблицу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2004, 01:46 |
|
||
|
Проблемы передачи параметров в процедуру из полей формы
|
|||
|---|---|---|---|
|
#18+
По какому принципу индексируются элементы управления на форме? У меня на форме 50 полей %) .. В VB нужно перебирать их по индексу.. Код: plaintext 1. 2. 3. 4. А индексировано как-то лево... :( 1-й, 2-й элементы нормально (индексы 0-й и 1-й)... дальше хрен его знает как они индесируются.. потому что к 3-му не могу обратиться ... а к 17-му могу .. (20-й элемент) .. короче черт ногу сломит! А обращаться по имени неохота .. Многовато кода.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2004, 10:34 |
|
||
|
Проблемы передачи параметров в процедуру из полей формы
|
|||
|---|---|---|---|
|
#18+
? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2004, 13:36 |
|
||
|
Проблемы передачи параметров в процедуру из полей формы
|
|||
|---|---|---|---|
|
#18+
Если Вы хотите передать в программу значения полей формы, то просто скрывайте форму при нажатии кнопки OK Private Sub ОК_Кнопка_Click() Me.Visible = False End Sub Private Sub Отмена_Кнопка_Click() DoCmd.Close End Sub Затем проверяете скрыта форма или закрыта: If SysCmd(acSysCmdGetObjectState, acForm, "Форма1") = 0 Then Exit Sub End If ф=forms!Форма1!Поле1:ф=forms!Форма1!Поле2 и т.д. Кроме того не забывайте про свойства БД: ф=CurrentDb.Containers("Databases")!UserDefined.Properties("тест") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2004, 15:28 |
|
||
|
Проблемы передачи параметров в процедуру из полей формы
|
|||
|---|---|---|---|
|
#18+
авторпотому что к 3-му не могу обратиться у третьего, скорей всего, нет св-ва Value, (или еще какого), к которому вы на самом деле пытаетесь обратиться. А вот св-во Name, пожалуй, есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2004, 15:38 |
|
||
|
Проблемы передачи параметров в процедуру из полей формы
|
|||
|---|---|---|---|
|
#18+
PaulB Не понял. А зачем скрывать форму? Это просто форма с полями и кнопкой btnSearch. Нажав на нее пытаюсь передать параметры в процедуру... Поясните пожалуйста для чего это нужно? не верю Т.е. как это у control'a типа Поле может не быть свойcтва Value?? Я чего-то наверно не понимаю или чего-то может быть не знаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2004, 15:50 |
|
||
|
Проблемы передачи параметров в процедуру из полей формы
|
|||
|---|---|---|---|
|
#18+
а кто, твою тибидох, сказал, что control(3) имеет тип "поле", если он тебя имеет в виду при попытке обратиться за его Value, как какой нить паршивый лейбл или линия. Вот и проверь, control(3).Name ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2004, 16:08 |
|
||
|
Проблемы передачи параметров в процедуру из полей формы
|
|||
|---|---|---|---|
|
#18+
Зачем передавать параметры в процедуру, когда из нее можно прочесть содержимое всех полей формы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2004, 16:30 |
|
||
|
Проблемы передачи параметров в процедуру из полей формы
|
|||
|---|---|---|---|
|
#18+
не верю понял PaulB В данном случае мне так удобнее. Еще такой вопрос. Что нужно настраивать при установке базы на удаленный сервер (внутри локальной сети)? Я пробовал только на одной машине все это ставить. Какие есть отличия и сложности и на что нужно обратить внимание. (ОС - Win2K). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2004, 10:06 |
|
||
|
Проблемы передачи параметров в процедуру из полей формы
|
|||
|---|---|---|---|
|
#18+
? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 14:47 |
|
||
|
Проблемы передачи параметров в процедуру из полей формы
|
|||
|---|---|---|---|
|
#18+
Вот подпроцедура, которая обрабатывает переданные от клиента строки вида: Код: plaintext Здесь знак решетки является разделителем полей, которые заполняются в форме. Сама подпроцедура: Код: 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. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. Соответственно @tFam и т.д. уходят во внешнюю процедуру, которая уже и реализует сам запрос к базе. Внешняя процедура работает без проблем. Проверял. Но вот внутренняя процедура неправильно обрабатывает строку. Она почему-то не видит остальных слов кроме первого. Т.е. "Иванова" обрабатывает и дальше выполняется запрос только с "Ивановым" в критерии. Посмотрите пожалуйста. Где напартачил? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2004, 14:05 |
|
||
|
Проблемы передачи параметров в процедуру из полей формы
|
|||
|---|---|---|---|
|
#18+
? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2004, 21:10 |
|
||
|
|

start [/forum/topic.php?fid=45&gotonew=1&tid=1675593]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
154ms |
get topic data: |
8ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 488ms |

| 0 / 0 |
