PARAMETER для чайника | |
---|---|
Владимир Васильев Автор |
VFP 6.0 Вопрос от старого (47лет) начинающего.
Простите что второй раз обращаюсь с тем-же вопросом. Понимаю, что программистом мне уже не стать, последний раз писал простенькую прогу на dBase лет 20 назад, потом подновил под FoxPro 2.6 с чем и работаю до сих пор. Сейчас решил переписать на VFP чтобы хватило до пенсии. Так что извините и не гоните. Задача: Надо чтобы в форме FormName выводились только записи таблицы, удовлетворяющие условию например FieldName1=’Иванов’ .and. FieldName2=’Иван’ На Вашем форуме посоветовали запускать форму с параметрами. Два дня поиска на форуме, изучения Help и поисков на FoxHelpRU (Ну тупой я и старый!). Результат: если я правильно понял, то надо форму запускать командой: DO FORM FormName WITH ParameterName1,ParameterName2 и в InitEvent этой формы вставить: PARAMETER ParameterName1,ParameterName2 Если не прав, поправьте. Вопрос: Нигде в Help не нашел, как задавать сами условия выбора или параметры. Из приведенных примеров ничего не понял (напоминаю - Старый и Тупой). Help рекомендует задавать параметры в процедуре, однако не пойму, что я конкретно должен вписать вместо ?см.задача. Если можно, допишите пример, или пошлите меня .... куда-нибудь! И пойду я, солнцем палимый..... PROCEDURE ProcedureName PARAMETER ParameterName1,ParameterName2 ? ? ENDPROC |
Re: PARAMETER для чайника | |
---|---|
boba Сообщений: 6269 Откуда: Медвежьи озера- Дата регистрации: 26.03.2001 |
Если вы старый, куда ж нам то деваться
И вообще-зачем столько самобичевания Вот разные примеры parameters _nm,_nm1 if type('_nm')='C' and type('_nm')='C' select * from tablename where ; FieldName1=_nm .and. FieldNam2=_nm1 ; into cursor tmp endif _____ Через фильтр На параметры фильтр поставить нельзя, иначе выйдя за текст метода он станет недейстивтельным Только на паблик переменные или свойства какого либо объекта parameters _nm,_nm1 public nm,nm1 if type('_nm')='C' and type('_nm')='C' nm=_nm nm1=_nm select ваш алиас set filter to FieldName1=nm .and. FieldNam2=nm1 go top ------------------ не имей 100 рублей, а имей сто друзей |
Re: PARAMETER для чайника | |
---|---|
Hel!Riser Сообщений: 10452 Откуда: Нижний Новгород Дата регистрации: 11.03.2001 |
ну хватит уже себя поносить. лична я еще и психопат
самое простое и по FPD'ешному - завести 2 проперти (ибо после отработки Инита они потеряюца из-за обл видимости и далее
в UnLoad формы соотв снимать фильтер и пользуй Поиск на слова локальное представление еще ------------------ Осторожно - глисты! |
Re: PARAMETER для чайника | |
---|---|
Владимир Максимов Сообщений: 14095 Откуда: Москва Дата регистрации: 02.09.2000 |
Народ дает советы "как проще и быстрее", но все они кончаются большими переделками.
Логика передачи параметров правильная. А вот как эти параметры обработать... То что написано до сих пор, в общем, тоже работает. Но может (при определенных условиях) вызвать ряд проблем. Самое лучшее в данном случае использовать параметризированные Local View. Это такой объект в базе данных (в проекте закладка Data - Имя моей базы данных - Local View). Создаете это самое Local View в дезайнере и на закладке Filter задаете 2 параметризированных условия. FieldName1 = ?cFieldName1 FieldName2 = ?cFieldName2 Здесь символ вопросительного знака указывает на то, что далее идет имя параметра (переменной памяти), который будет определен непосредственно в момент открытия этого View. Включаете созданное Local View в DataEnvironment формы указав его свойство NoDataOnLoad = .T. В событии Init-формы получается примерно такой код:
Здесь MyView - это имя созданного Local View. Ну, а собственно в форме работаетет с Local View как с обычной таблицей ------------------ |
Re: PARAMETER для чайника | |
---|---|
Владимир Васильев Автор |
Большое всем человеческое спасибо, пойду копать Help по LocalView.
Тема зкрыта. |
© 2000-2024 Fox Club  |