powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / запрос
16 сообщений из 16, страница 1 из 1
запрос
    #34587254
_mirror
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как сделать запрос на выборку данных по 2 полям

для одного

например фио клиента

locate for f.fio=text1.value
if found() then
....
....
end if

а как для 2-х для f.fio и f.year ?

либо через sql запрос
...
Рейтинг: 0 / 0
запрос
    #34587278
-)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
-)
Гость
1. и самое главное почитать какую-нибудь книжку по составлению SQL запросов.
2. Для данного случая приблизительно так -

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
lcFio = ThisForm.text1.value		&& Текстовое поле куда вносится ФИО расположено на прямо форме и имеет имя Text1
lnYear = YEAR(ThisForm.text2.value)	&& Текстовое поле куда вносится ДАТА расположено на прямо форме и имеет имя Text2	

       SELECT ИмяТаблицы.ИмяПоля1,  ИмяТаблицы.ИмяПоля2 ;
          FROM ИмяТаблицы ;
        WHERE ИмяТаблицы.ИмяПоляФИО = lcFio ;
 INTO ARRAY ИмяМассива | TABLE ИмяТаблицы | CURSOR ИмяКурсора

       SELECT ИмяТаблицы.ИмяПоля1,  ИмяТаблицы.ИмяПоля2 ;
          FROM ИмяТаблицы ;
        WHERE ИмяТаблицы.ИмяПоляФИО = lcFio AND ИмяТаблицы.ИмяПоляГод = lnYear ;
 INTO ARRAY ИмяМассива | TABLE ИмяТаблицы | CURSOR ИмяКурсора

При этом учитываем, что сравнение, при выборке по символьным полям, имеет ряд нюансов...., ну вообщем к букварям.
...
Рейтинг: 0 / 0
запрос
    #34587289
_mirror
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо
...
Рейтинг: 0 / 0
запрос
    #34587323
-)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
-)
Гость
Пожалуйста.
Вот только последнее предложение нужно читать так –
«При этом учитываем, что при выборке, сравнение по символьным полям, имеет ряд нюансов...»
Так как от перестановки двух слов сильно меняется смысл самого предложения.
...
Рейтинг: 0 / 0
запрос
    #35047016
lihach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые!А что на выходе получиться при таком запросе,если кинуть его на клик одной кнопки,а одно поле не заполнять?
Ну,наверное,ничего!
Вот в этом и вся правда жизни!А если полей ввода более 2-х?А если одно или парочка пустых осталось из них?
То как быть тогда?
...
Рейтинг: 0 / 0
запрос
    #35047029
lihach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пока я проверяю на непустоту(!empty).А что из этого получиться,пока не знаю...
...
Рейтинг: 0 / 0
запрос
    #35047098
lihach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
с такой тактикой(проверка на !empty) можно проверять только из 2 боксов,а если появляется 3-ий,то всё бесполезно!
Так как же быть от 3-х и выше?
...
Рейтинг: 0 / 0
запрос
    #35047388
lihachс такой тактикой(проверка на !empty) можно проверять только из 2 боксов,а если появляется 3-ий,то всё бесполезно!
Так как же быть от 3-х и выше?
точно также

Рекомендации по оформлению сообщений это от форума по MS-SQL, но многое этого форума тоже касается
...
Рейтинг: 0 / 0
запрос
    #35047405
lihach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
раз так не понятно,то вот:
USE dopoln IN a &&открыли таблицу dopoln для поиска
SELECT dopoln

*переливаем значения osnown в курсор
SELECT osnown.marka,osnown.tip,osnown.nasnacheni,dopoln.B,dopoln.Si,dopoln.Cu,dopoln.Mn,dopoln.Ni,dopoln.Ti,dopoln.P,dopoln.Cr,dopoln.S,dopoln.Ac1,dopoln.Ac3,dopoln.Ar1,dopoln.Ar3,dopoln.C;
FROM ;
steelsdata!osnown;
INNER JOIN steelsdata!dopoln;
ON Osnown.marka=Dopoln.marka ;
ORDER BY osnown.marka;
INTO CURSOR Qursor NOFILTER readwrite
thisform.pageframe1.page1.steelsname.ControlSource="qursor.marka"
thisform.pageframe1.page1.steelstip.ControlSource="qursor.tip"
thisform.pageframe1.page1.edit1.ControlSource="qursor.nasnacheni"
thisform.pageframe1.page2.dopolnname.ControlSource="qursor.marka"
thisform.pageframe1.page2.steelsB.ControlSource="qursor.b"
thisform.pageframe1.page2.steelsSi.ControlSource="qursor.Si"
thisform.pageframe1.page2.steelsCu.ControlSource="qursor.Cu"
thisform.pageframe1.page2.steelsMn.ControlSource="qursor.Mn"
thisform.pageframe1.page2.steelsNi.ControlSource="qursor.Ni"
thisform.pageframe1.page2.steelsTi.ControlSource="qursor.Ti"
thisform.pageframe1.page2.steelsP.ControlSource="qursor.P"
thisform.pageframe1.page2.steelsCr.ControlSource="qursor.Cr"
thisform.pageframe1.page2.steelsS.ControlSource="qursor.S"
thisform.pageframe1.page2.steelsC.ControlSource="qursor.C"

thisform.pageframe1.page1.steelsname.Refresh()
thisform.pageframe1.page1.steelstip.Refresh()
thisform.pageframe1.page1.edit1.Refresh()
thisform.pageframe1.page2.dopolnname.Refresh()
thisform.pageframe1.page2.steelsB.Refresh()
thisform.pageframe1.page2.steelsSi.Refresh()
thisform.pageframe1.page2.steelsCu.Refresh()
thisform.pageframe1.page2.steelsMn.Refresh()
thisform.pageframe1.page2.steelsNi.Refresh()
thisform.pageframe1.page2.steelsTi.Refresh()
thisform.pageframe1.page2.steelsP.Refresh()
thisform.pageframe1.page2.steelsCr.Refresh()
thisform.pageframe1.page2.steelsS.Refresh()
thisform.pageframe1.page2.steelsC.Refresh()
&&ELSE





*задаём условие поиска по значению в поле
SELECT osnown.marka,osnown.tip,osnown.nasnacheni,dopoln.B,dopoln.Si,dopoln.Cu,dopoln.Mn,dopoln.Ni,dopoln.Ti,dopoln.P,dopoln.Cr,dopoln.S,dopoln.Ac1,dopoln.Ac3,dopoln.Ar1,dopoln.Ar3,dopoln.C;
FROM ;
steelsdata!osnown;
iNNER JOIN steelsdata!dopoln;
ON Osnown.marka=Dopoln.marka ;
WHERE UPPER(alltrim((Thisform.psteelname.value)))$UPPER(osnown.marka);
or UPPER(alltrim((Thisform.psteeltip.value)))$UPPER(osnown.tip);
or UPPER(alltrim((Thisform.psteelPrim.value)))$UPPER(osnown.nasnacheni);
ORDER BY osnown.marka;
INTO CURSOR Qursor NOFILTER readwrite
thisform.pageframe1.page1.steelsname.ControlSource ="qursor.marka"
thisform.pageframe1.page1.steelstip.ControlSource="qursor.tip"
thisform.pageframe1.page1.edit1.ControlSource="qursor.nasnacheni"
thisform.pageframe1.page2.dopolnname.ControlSource="qursor.marka"
thisform.pageframe1.page2.steelsB.ControlSource="qursor.b"
thisform.pageframe1.page2.steelsSi.ControlSource="qursor.Si"
thisform.pageframe1.page2.steelsCu.ControlSource="qursor.Cu"
thisform.pageframe1.page2.steelsMn.ControlSource="qursor.Mn"
thisform.pageframe1.page2.steelsNi.ControlSource="qursor.Ni"
thisform.pageframe1.page2.steelsTi.ControlSource="qursor.Ti"
thisform.pageframe1.page2.steelsP.ControlSource="qursor.P"
thisform.pageframe1.page2.steelsCr.ControlSource="qursor.Cr"
thisform.pageframe1.page2.steelsS.ControlSource="qursor.S"
thisform.pageframe1.page2.steelsC.ControlSource="qursor.C"

thisform.pageframe1.page1.steelsname.Refresh()
thisform.pageframe1.page1.steelstip.Refresh()
thisform.pageframe1.page1.edit1.Refresh()
thisform.pageframe1.page2.dopolnname.Refresh()
thisform.pageframe1.page2.steelsB.Refresh()
thisform.pageframe1.page2.steelsSi.Refresh()
thisform.pageframe1.page2.steelsCu.Refresh()
thisform.pageframe1.page2.steelsMn.Refresh()
thisform.pageframe1.page2.steelsNi.Refresh()
thisform.pageframe1.page2.steelsTi.Refresh()
thisform.pageframe1.page2.steelsP.Refresh()
thisform.pageframe1.page2.steelsCr.Refresh()
thisform.pageframe1.page2.steelsS.Refresh()
thisform.pageframe1.page2.steelsC.Refresh()

*множественный запрос




*если заполнены "марка" и "тип"
IF !EMPTY(thisform.psteeltip.Value) and !EMPTY(thisform.psteelname.value)
SELECT osnown.marka,osnown.tip,osnown.nasnacheni,dopoln.B,dopoln.Si,dopoln.Cu,dopoln.Mn,dopoln.Ni,dopoln.Ti,dopoln.P,dopoln.Cr,dopoln.S,dopoln.Ac1,dopoln.Ac3,dopoln.Ar1,dopoln.Ar3,dopoln.C;
FROM ;
steelsdata!osnown;
iNNER JOIN steelsdata!dopoln;
ON Osnown.marka=Dopoln.marka ;
WHERE UPPER(alltrim((Thisform.psteelname.value)))$UPPER(osnown.marka);
and UPPER(alltrim((Thisform.psteeltip.value)))$UPPER(osnown.tip);
ORDER BY osnown.marka;
INTO CURSOR Qursor NOFILTER readwrite
thisform.pageframe1.page1.steelsname.ControlSource ="qursor.marka"
thisform.pageframe1.page1.steelstip.ControlSource="qursor.tip"
thisform.pageframe1.page1.edit1.ControlSource="qursor.nasnacheni"
thisform.pageframe1.page2.dopolnname.ControlSource="qursor.marka"
thisform.pageframe1.page2.steelsB.ControlSource="qursor.b"
thisform.pageframe1.page2.steelsSi.ControlSource="qursor.Si"
thisform.pageframe1.page2.steelsCu.ControlSource="qursor.Cu"
thisform.pageframe1.page2.steelsMn.ControlSource="qursor.Mn"
thisform.pageframe1.page2.steelsNi.ControlSource="qursor.Ni"
thisform.pageframe1.page2.steelsTi.ControlSource="qursor.Ti"
thisform.pageframe1.page2.steelsP.ControlSource="qursor.P"
thisform.pageframe1.page2.steelsCr.ControlSource="qursor.Cr"
thisform.pageframe1.page2.steelsS.ControlSource="qursor.S"
thisform.pageframe1.page2.steelsC.ControlSource="qursor.C"

thisform.pageframe1.page1.steelsname.Refresh()
thisform.pageframe1.page1.steelstip.Refresh()
thisform.pageframe1.page1.edit1.Refresh()
thisform.pageframe1.page2.dopolnname.Refresh()
thisform.pageframe1.page2.steelsB.Refresh()
thisform.pageframe1.page2.steelsSi.Refresh()
thisform.pageframe1.page2.steelsCu.Refresh()
thisform.pageframe1.page2.steelsMn.Refresh()
thisform.pageframe1.page2.steelsNi.Refresh()
thisform.pageframe1.page2.steelsTi.Refresh()
thisform.pageframe1.page2.steelsP.Refresh()
thisform.pageframe1.page2.steelsCr.Refresh()
thisform.pageframe1.page2.steelsS.Refresh()
thisform.pageframe1.page2.steelsC.Refresh()
ENDIF
***********конец******************


*если заполнены "марка" и "применение"
IF !EMPTY(thisform.psteelname.Value) and !EMPTY(thisform.psteelprim.value)
SELECT osnown.marka,osnown.tip,osnown.nasnacheni,dopoln.B,dopoln.Si,dopoln.Cu,dopoln.Mn,dopoln.Ni,dopoln.Ti,dopoln.P,dopoln.Cr,dopoln.S,dopoln.Ac1,dopoln.Ac3,dopoln.Ar1,dopoln.Ar3,dopoln.C;
FROM ;
steelsdata!osnown;
iNNER JOIN steelsdata!dopoln;
ON Osnown.marka=Dopoln.marka ;
WHERE UPPER(alltrim((Thisform.psteelname.value)))$UPPER(osnown.marka);
and UPPER(alltrim((Thisform.psteelprim.value)))$UPPER(osnown.nasnacheni);
ORDER BY osnown.marka;
INTO CURSOR Qursor NOFILTER readwrite
thisform.pageframe1.page1.steelsname.ControlSource ="qursor.marka"
thisform.pageframe1.page1.steelstip.ControlSource="qursor.tip"
thisform.pageframe1.page1.edit1.ControlSource="qursor.nasnacheni"
thisform.pageframe1.page2.dopolnname.ControlSource="qursor.marka"
thisform.pageframe1.page2.steelsB.ControlSource="qursor.b"
thisform.pageframe1.page2.steelsSi.ControlSource="qursor.Si"
thisform.pageframe1.page2.steelsCu.ControlSource="qursor.Cu"
thisform.pageframe1.page2.steelsMn.ControlSource="qursor.Mn"
thisform.pageframe1.page2.steelsNi.ControlSource="qursor.Ni"
thisform.pageframe1.page2.steelsTi.ControlSource="qursor.Ti"
thisform.pageframe1.page2.steelsP.ControlSource="qursor.P"
thisform.pageframe1.page2.steelsCr.ControlSource="qursor.Cr"
thisform.pageframe1.page2.steelsS.ControlSource="qursor.S"
thisform.pageframe1.page2.steelsC.ControlSource="qursor.C"


thisform.pageframe1.page1.steelsname.Refresh()
thisform.pageframe1.page1.steelstip.Refresh()
thisform.pageframe1.page1.edit1.Refresh()
thisform.pageframe1.page2.dopolnname.Refresh()
thisform.pageframe1.page2.steelsB.Refresh()
thisform.pageframe1.page2.steelsSi.Refresh()
thisform.pageframe1.page2.steelsCu.Refresh()
thisform.pageframe1.page2.steelsMn.Refresh()
thisform.pageframe1.page2.steelsNi.Refresh()
thisform.pageframe1.page2.steelsTi.Refresh()
thisform.pageframe1.page2.steelsP.Refresh()
thisform.pageframe1.page2.steelsCr.Refresh()
thisform.pageframe1.page2.steelsS.Refresh()
thisform.pageframe1.page2.steelsC.Refresh()
endif
************************конец****************************


*если заполнены "тип" и "применение"
IF !EMPTY(thisform.psteeltip.Value) and !EMPTY(thisform.psteelprim.value)
SELECT osnown.marka,osnown.tip,osnown.nasnacheni,dopoln.B,dopoln.Si,dopoln.Cu,dopoln.Mn,dopoln.Ni,dopoln.Ti,dopoln.P,dopoln.Cr,dopoln.S,dopoln.Ac1,dopoln.Ac3,dopoln.Ar1,dopoln.Ar3,dopoln.C;
FROM ;
steelsdata!osnown;
iNNER JOIN steelsdata!dopoln;
ON Osnown.marka=Dopoln.marka ;
WHERE UPPER(alltrim((Thisform.psteeltip.value)))$UPPER(osnown.tip);
and UPPER(alltrim((Thisform.psteelprim.value)))$UPPER(osnown.nasnacheni);
ORDER BY osnown.marka;
INTO CURSOR Qursor NOFILTER readwrite
thisform.pageframe1.page1.steelsname.ControlSource ="qursor.marka"
thisform.pageframe1.page1.steelstip.ControlSource="qursor.tip"
thisform.pageframe1.page1.edit1.ControlSource="qursor.nasnacheni"
thisform.pageframe1.page2.dopolnname.ControlSource="qursor.marka"
thisform.pageframe1.page2.steelsB.ControlSource="qursor.b"
thisform.pageframe1.page2.steelsSi.ControlSource="qursor.Si"
thisform.pageframe1.page2.steelsCu.ControlSource="qursor.Cu"
thisform.pageframe1.page2.steelsMn.ControlSource="qursor.Mn"
thisform.pageframe1.page2.steelsNi.ControlSource="qursor.Ni"
thisform.pageframe1.page2.steelsTi.ControlSource="qursor.Ti"
thisform.pageframe1.page2.steelsP.ControlSource="qursor.P"
thisform.pageframe1.page2.steelsCr.ControlSource="qursor.Cr"
thisform.pageframe1.page2.steelsS.ControlSource="qursor.S"
thisform.pageframe1.page2.steelsC.ControlSource="qursor.C"


thisform.pageframe1.page1.steelsname.Refresh()
thisform.pageframe1.page1.steelstip.Refresh()
thisform.pageframe1.page1.edit1.Refresh()
thisform.pageframe1.page2.dopolnname.Refresh()
thisform.pageframe1.page2.steelsB.Refresh()
thisform.pageframe1.page2.steelsSi.Refresh()
thisform.pageframe1.page2.steelsCu.Refresh()
thisform.pageframe1.page2.steelsMn.Refresh()
thisform.pageframe1.page2.steelsNi.Refresh()
thisform.pageframe1.page2.steelsTi.Refresh()
thisform.pageframe1.page2.steelsP.Refresh()
thisform.pageframe1.page2.steelsCr.Refresh()
thisform.pageframe1.page2.steelsS.Refresh()
thisform.pageframe1.page2.steelsC.Refresh()
endif
***********************конец***************


*если заполнены все поля (должен быть в самом конце)
IF !EMPTY(thisform.psteeltip.Value) and !EMPTY(thisform.psteelname.value) AND !EMPTY(thisform.psteelprim.value)
SELECT osnown.marka,osnown.tip,osnown.nasnacheni,dopoln.B,dopoln.Si,dopoln.Cu,dopoln.Mn,dopoln.Ni,dopoln.Ti,dopoln.P,dopoln.Cr,dopoln.S,dopoln.Ac1,dopoln.Ac3,dopoln.Ar1,dopoln.Ar3,dopoln.C;
FROM ;
steelsdata!osnown;
iNNER JOIN steelsdata!dopoln;
ON Osnown.marka=Dopoln.marka ;
WHERE UPPER(alltrim((Thisform.psteelname.value)))$UPPER(osnown.marka);
and UPPER(alltrim((Thisform.psteeltip.value)))$UPPER(osnown.tip);
and UPPER(alltrim((Thisform.psteelprim.value)))$UPPER(osnown.nasnacheni);
ORDER BY osnown.marka;
INTO CURSOR Qursor NOFILTER readwrite
thisform.pageframe1.page1.steelsname.ControlSource ="qursor.marka"
thisform.pageframe1.page1.steelstip.ControlSource="qursor.tip"
thisform.pageframe1.page1.edit1.ControlSource="qursor.nasnacheni"
thisform.pageframe1.page2.dopolnname.ControlSource="qursor.marka"
thisform.pageframe1.page2.steelsB.ControlSource="qursor.b"
thisform.pageframe1.page2.steelsSi.ControlSource="qursor.Si"
thisform.pageframe1.page2.steelsCu.ControlSource="qursor.Cu"
thisform.pageframe1.page2.steelsMn.ControlSource="qursor.Mn"
thisform.pageframe1.page2.steelsNi.ControlSource="qursor.Ni"
thisform.pageframe1.page2.steelsTi.ControlSource="qursor.Ti"
thisform.pageframe1.page2.steelsP.ControlSource="qursor.P"
thisform.pageframe1.page2.steelsCr.ControlSource="qursor.Cr"
thisform.pageframe1.page2.steelsS.ControlSource="qursor.S"
thisform.pageframe1.page2.steelsC.ControlSource="qursor.C"

thisform.pageframe1.page1.steelsname.Refresh()
thisform.pageframe1.page1.steelstip.Refresh()
thisform.pageframe1.page1.edit1.Refresh()
thisform.pageframe1.page2.dopolnname.Refresh()
thisform.pageframe1.page2.steelsB.Refresh()
thisform.pageframe1.page2.steelsSi.Refresh()
thisform.pageframe1.page2.steelsCu.Refresh()
thisform.pageframe1.page2.steelsMn.Refresh()
thisform.pageframe1.page2.steelsNi.Refresh()
thisform.pageframe1.page2.steelsTi.Refresh()
thisform.pageframe1.page2.steelsP.Refresh()
thisform.pageframe1.page2.steelsCr.Refresh()
thisform.pageframe1.page2.steelsS.Refresh()
thisform.pageframe1.page2.steelsC.Refresh()
ENDIF
*******************конец*************************





*если значение в поле поиска пелеберда
IF EMPTY(Thisform.pageframe1.page1.steelsname.value)
SELECT osnown.marka,osnown.tip,osnown.nasnacheni,dopoln.B,dopoln.Si,dopoln.Cu,dopoln.Mn,dopoln.Ni,dopoln.Ti,dopoln.P,dopoln.Cr,dopoln.S,dopoln.Ac1,dopoln.Ac3,dopoln.Ar1,dopoln.Ar3,dopoln.C;
FROM ;
steelsdata!osnown;
iNNER JOIN steelsdata!dopoln;
ON Osnown.marka=Dopoln.marka ;
ORDER BY osnown.marka;
INTO CURSOR Qursor NOFILTER readwrite
thisform.pageframe1.page1.steelsname.ControlSource="qursor.marka"
thisform.pageframe1.page1.steelstip.ControlSource="qursor.tip"
thisform.pageframe1.page1.edit1.ControlSource="qursor.nasnacheni"
thisform.pageframe1.page2.dopolnname.ControlSource="qursor.marka"
thisform.pageframe1.page2.steelsB.ControlSource="qursor.b"
thisform.pageframe1.page2.steelsSi.ControlSource="qursor.Si"
thisform.pageframe1.page2.steelsCu.ControlSource="qursor.Cu"
thisform.pageframe1.page2.steelsMn.ControlSource="qursor.Mn"
thisform.pageframe1.page2.steelsNi.ControlSource="qursor.Ni"
thisform.pageframe1.page2.steelsTi.ControlSource="qursor.Ti"
thisform.pageframe1.page2.steelsP.ControlSource="qursor.P"
thisform.pageframe1.page2.steelsCr.ControlSource="qursor.Cr"
thisform.pageframe1.page2.steelsS.ControlSource="qursor.S"
thisform.pageframe1.page2.steelsC.ControlSource="qursor.C"

thisform.pageframe1.page1.steelsname.Refresh()
thisform.pageframe1.page1.steelstip.Refresh()
thisform.pageframe1.page1.edit1.Refresh()
thisform.pageframe1.page2.dopolnname.Refresh()
thisform.pageframe1.page2.steelsB.Refresh()
thisform.pageframe1.page2.steelsSi.Refresh()
thisform.pageframe1.page2.steelsCu.Refresh()
thisform.pageframe1.page2.steelsMn.Refresh()
thisform.pageframe1.page2.steelsNi.Refresh()
thisform.pageframe1.page2.steelsTi.Refresh()
thisform.pageframe1.page2.steelsP.Refresh()
thisform.pageframe1.page2.steelsCr.Refresh()
thisform.pageframe1.page2.steelsS.Refresh()
thisform.pageframe1.page2.steelsC.Refresh()
ENDIF



USE IN dopoln &&закрываем таблицу dopoln

и это только для 3 боксов....И так конечно работает,
а если их 4,то тогда надо проверять заполнены 1234,123,124,234......и т.д.А у меня их 16!И что теперь,250 запросов писать?Думаю всё можно легче сделать,только как незнаю.
...
Рейтинг: 0 / 0
запрос
    #35047415
Dag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мессагу не асилил. Но думаю, что макроподстановка может выручить отца русской демократии.
...
Рейтинг: 0 / 0
запрос
    #35047422
lihachраз так не понятно,то вот:
...
WHERE UPPER(alltrim((Thisform.psteelname.value)))$UPPER(osnown.marka);
and UPPER(alltrim((Thisform.psteeltip.value)))$UPPER(osnown.tip);
...
и это только для 3 боксов....И так конечно работает,
а если их 4,то тогда надо проверять заполнены 1234,123,124,234......и т.д.А у меня их 16!И что теперь,250 запросов писать?Думаю всё можно легче сделать,только как незнаю.

Так понятно :)
В один зпрос делается примерно так
Код: plaintext
1.
2.
3.
WHERE (UPPER(alltrim((Thisform.psteelname.value)))$UPPER(osnown.marka) or empty(Thisform.psteelname.value));
and (UPPER(alltrim((Thisform.psteeltip.value)))$UPPER(osnown.tip) or empty(Thisform.psteeltip.value));
...
...
Рейтинг: 0 / 0
запрос
    #35047423
Dag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И кстати, непонятно к чему этот текст
thisform.pageframe1.page1.steelsname.ControlSource ="qursor.marka"
thisform.pageframe1.page1.steelstip.ControlSource="qursor.tip"
thisform.pageframe1.page1.edit1.ControlSource="qursor.nasnacheni"
thisform.pageframe1.page2.dopolnname.ControlSource="qursor.marka"
thisform.pageframe1.page2.steelsB.ControlSource="qursor.b"
thisform.pageframe1.page2.steelsSi.ControlSource="qursor.Si"
thisform.pageframe1.page2.steelsCu.ControlSource="qursor.Cu"
thisform.pageframe1.page2.steelsMn.ControlSource="qursor.Mn"
thisform.pageframe1.page2.steelsNi.ControlSource="qursor.Ni"
thisform.pageframe1.page2.steelsTi.ControlSource="qursor.Ti"
thisform.pageframe1.page2.steelsP.ControlSource="qursor.P"
thisform.pageframe1.page2.steelsCr.ControlSource="qursor.Cr"
thisform.pageframe1.page2.steelsS.ControlSource="qursor.S"
thisform.pageframe1.page2.steelsC.ControlSource="qursor.C"

thisform.pageframe1.page1.steelsname.Refresh()
thisform.pageframe1.page1.steelstip.Refresh()
thisform.pageframe1.page1.edit1.Refresh()
thisform.pageframe1.page2.dopolnname.Refresh()
thisform.pageframe1.page2.steelsB.Refresh()
thisform.pageframe1.page2.steelsSi.Refresh()
thisform.pageframe1.page2.steelsCu.Refresh()
thisform.pageframe1.page2.steelsMn.Refresh()
thisform.pageframe1.page2.steelsNi.Refresh()
thisform.pageframe1.page2.steelsTi.Refresh()
thisform.pageframe1.page2.steelsP.Refresh()
thisform.pageframe1.page2.steelsCr.Refresh()
thisform.pageframe1.page2.steelsS.Refresh()
thisform.pageframe1.page2.steelsC.Refresh()

Значения ControlSource вроде не изменяются, так зачем их дергать после каждого запроса? Рефреша тоже достаточно было бы одного для всей формы, а не для каждого контрола в отдельности. Что-то типа
Код: plaintext
1.
2.
3.
LOCAL lnI
FOR lnI= 1  TO this.pageframe1.PageCount
     this.pageframe1.Pages(lnI).Refresh()
ENDFOR

загнать в метод Refresh() формы и далее вызывать этот метод принеобходимости.
...
Рейтинг: 0 / 0
запрос
    #35047469
lihach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Советы не опробовал,но по ходу вы меня спасли....
P.S.Тут меня посылали книжки почитать,так вот,про методы там чего то не написано....
Пока не знаю как с ними работать,но скоро узнаю,и тогда,думаю,совету Dag'а цены не будет.
Огромное спасибо!
...
Рейтинг: 0 / 0
запрос
    #35047487
olegv12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот оглавление из книги:
Глава 4. Формы
Форма как основной компонент приложения
Модальные и немодальные формы. Форма верхнего уровня
Модальность
Типы интерфейса. SDI или MDI?
Диалоги
Свойства, события и методы экранных форм
Создание экранной формы. Конструктор форм
Панели инструментов Конструктора форм
Панель инструментов Form Designer
Панель инструментов Form Controls
Панель инструментов Layout
Пункты меню Form и Format
Размещение на форме элементов управления
Использование окна свойств для работы с элементами управления
Добавление в форму пользовательских свойств и методов
Добавление и редактирование методов
и т.д.

Но свойства, события и методы есть у каждого объекта.
...
Рейтинг: 0 / 0
запрос
    #35048396
lihach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Видать речь идёт о разных книгах...я читаю Мусина Т.В.FoxPro 9.0 Учебный курс.
Определение метод там упоминается вскользь,скорее речь идёт о программном коде,который можно поставить на событие,программирование в среде fox,и т.д...Общие вещи обсуждаются.
...
Рейтинг: 0 / 0
запрос
    #35048446
olegv12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И.Ю.Баженова Visual FoxPro 6.0 Москва ДиалогМифи 2000 год.
Глава 7. Свойства.
Глава 8. Методы.
Глава 9. События.
Все перечислено по алфавиту, подробно расписано для каких объектов, что происходит и т.п. и т.д. на 100 страницах (данные главы).
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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