:: Архив конференции по VFP до 2005 года
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
Ratings: 0 negative/0 positive
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 рублей, а имей сто друзей
Ratings: 0 negative/0 positive
Re: PARAMETER для чайника
Hel!Riser

Сообщений: 10452
Откуда: Нижний Новгород
Дата регистрации: 11.03.2001
ну хватит уже себя поносить. лична я еще и психопат
самое простое и по FPD'ешному - завести 2 проперти (ибо после отработки Инита они потеряюца из-за обл видимости и далее

this.MyProp1=ParameterName1
this.MyProp2=ParameterName2
SET FILTER TO FieldName1=thisform.MyProp1 AND FieldName2=thisform.MyProp2

в UnLoad формы соотв снимать фильтер
и пользуй Поиск на слова локальное представление еще




------------------
Осторожно - глисты!
Ratings: 0 negative/0 positive
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-формы получается примерно такой код:

PARAMETER ParameterName1,ParameterName2
LOCAL cFieldName1, cFieldName2
cFieldName1 = m.ParameterName1
cFieldName2 = m.ParameterName2
ReQuery("MyView")

Здесь MyView - это имя созданного Local View.

Ну, а собственно в форме работаетет с Local View как с обычной таблицей




------------------
Ratings: 0 negative/0 positive
Re: PARAMETER для чайника
Владимир Васильев
Автор
Большое всем человеческое спасибо, пойду копать Help по LocalView.
Тема зкрыта.

Ratings: 0 negative/0 positive


Извините, но у вас нет прав для того, чтобы оставлять сообщения в этом форуме.

On-line: 2 (Гостей: 2)

© 2000-2024 Fox Club 
Яндекс.Метрика