powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / ПОИСК НАЛИЧНЫЕ И БЕЗНАЛИЧНЫЕ ДЕНЬГИ
8 сообщений из 8, страница 1 из 1
ПОИСК НАЛИЧНЫЕ И БЕЗНАЛИЧНЫЕ ДЕНЬГИ
    #32186755
WASIL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VISUAL FOXPRO 5.0
**********************
ТАКАЯ ЗАДАЧА: НУЖНО ИЗ ТАБЛИЦЫ ВЫБРАТЬ КЛИЕНТОВ КОТОРЫЕ ПЛАТИЛИ
НАЛИЧНЫМИ (ДЛЯ НИХ СДЕЛАН "CHECKbox1" )
А ТАКЖЕ ПЕРЕЧИСЛЕНИЕМ (ДЛЯ НИХ ТОЖЕ СДЕЛАН "CHECKbox2" )
ЗНАЧЕНИЕ ДЛЯ "CHECKBOX" .F. ИЛИ .T.
ЕСЛИ ПОСТАВИТЬ ФЛАЖОК "CHECKBOX1" ТО ИДЁТ ПОИСК
КЛИЕНТОВ КОТОРЫЕ ПЛАТИЛИ НАЛИЧНЫМИ. ЕСЛИ "CHECKBOX2" ТО ПЕРЕЧИСЛЕНИЕМ
ЕСЛИ ОБА ФЛАЖКА ТО ВСЕХ КТО ПЛАТИЛ ПЕРЕЧИСЛЕНИЕМ И НАЛИЧНЫМИ
ПОИСК ДОЛЖЕН БЫТЬ ПО КНОПКЕ.
***********************************************
СТРУКТУРА ТАБЛИЦЫ: OPLATA.dbf
*****************************
ZAKAZ .......... (ЧИСЛОВОЙ)..................&& КОД ЗАКАЗА
FAMILIA......... (СИМВОЛЬНЫЙ)..............&& ФАМИЛИЯ
DAT.............. (ДАТА)..........................&& ДАТА ЗАКАЗА
NALICH.......... (ЛОГИЧЕСКИЙ)................&& НАЛИЧНЫЕ
PERECH......... (ЛОГИЧЕСКИЙ)............... && ПЕРЕЧИСЛЕНИЕ
******************************************
...
Рейтинг: 0 / 0
ПОИСК НАЛИЧНЫЕ И БЕЗНАЛИЧНЫЕ ДЕНЬГИ
    #32186778
NE_Dimon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
my_where= ""
if CHECKbox1.value=1  then
   my_where="NALICH=.t. "
   if CHECKbox2.value=1  then
      my_where=my_where+" and PERECH=.t. "
else
   if CHECKbox2.value=1  then
      my_where="PERECH=.t."
   else
      my_find.enable=.f. ' КНОПКА ПОИСКА НЕДОСТУПНА
   end if
end if
select familia from oplata WHERE my_where


Примерно так. Дерзайте. И не кричите так
...
Рейтинг: 0 / 0
ПОИСК НАЛИЧНЫЕ И БЕЗНАЛИЧНЫЕ ДЕНЬГИ
    #32187365
wasil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если можно падробней и с коментариями а то я не так давно перешёл
на visual foxpro до етого работал под dos.
этот програмный код не работает
...
Рейтинг: 0 / 0
ПОИСК НАЛИЧНЫЕ И БЕЗНАЛИЧНЫЕ ДЕНЬГИ
    #32187398
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тебе ж сказали что это примерно.

Можеш select * from oplata where nalich=thisform.checkbox1.value .and. perech=thisform.checkbox2.value

только смотри что чексбоксы были .t. или .f. а не 0 или 1.
...
Рейтинг: 0 / 0
ПОИСК НАЛИЧНЫЕ И БЕЗНАЛИЧНЫЕ ДЕНЬГИ
    #32187403
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решение основано на том факте, что в FoxPro есть такая вещь, как макроподстановка. Т.е. предварительно формируется условие отбора записей, а потом запускается запрос с ранее сформированным условием.

LOCAL lcFilter && эта переменная и будет содержать условие отбора
lcFilter=".T." && фиктивное значение выполняет 2 функции
* 1 - облегчает формирование строки-условия
* 2 - используется, если вообще не задано ни одного условия отбора

* Дополняю условие для отбора наличных
IF ThisForm.CheckBox1.Value=.T.
lcFilter=m.lcFilter+" and NALICH=.T."
ENDIF

* Дополняю условие для отбора по перечислению
IF ThisForm.CheckBox2.Value=.T.
lcFilter=m.lcFilter+" and PERECH=.T."
ENDIF

* Собственно выполняю запрос
SELECT * FROM Oplata WHERE &lcFilter

Только следует иметь в виду, что данный фильтр сформирован исходя из предположения, что если выбраны оба флажка, то отбираются те клиенты которые платили одновременно и наличными и по перечислению. Если по условию задачи в этом случае нужно ИЛИ, то необходимо соответсвенно скорректировать фильтр.
...
Рейтинг: 0 / 0
ПОИСК НАЛИЧНЫЕ И БЕЗНАЛИЧНЫЕ ДЕНЬГИ
    #32188406
NE_Dimon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1024:только смотри что чексбоксы были .t. или .f. а не 0 или 1.

Это проще (и красивее). Только в пятерке-то они 0 или 1. Может, в таблице исправить, пока не поздно, а, WASIL ? А если поздно, то делай некрасиво
...
Рейтинг: 0 / 0
ПОИСК НАЛИЧНЫЕ И БЕЗНАЛИЧНЫЕ ДЕНЬГИ
    #32188571
WASIL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А МОЖНО ЛИ ИЗ ФИЛЬТРА КОТОРЫЙ ПОЛУЧИЛСЯ СКОПИРОВАТЬ ДАННЫЕ
ВО ВРЕМЕНУЮ ТАБЛИЦУ.
Я ДЕЛАЮ IN TO TABLE TEMP.DBF ЭТО КОПИРОВАНИЕ ИДЁТ СЕКУНДЫ 4
ФИЛЬТР ВРОДЕ ПОЛУЧАЕТСЯ С 10 СТРОКАМИ (изначально таблица маленькая
фильтр работает мгновенно, а копирование во временную идет долго)
КАК МОЖНО СДЕЛАТЬ ЭТО КОПИРОВАНИЕ ВО ВРЕМЕННУЮ ТАБЛИЦУ .
...
Рейтинг: 0 / 0
ПОИСК НАЛИЧНЫЕ И БЕЗНАЛИЧНЫЕ ДЕНЬГИ
    #32188873
wasil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
дополнение
ошибочка я делаю copy to temp.dbf
а копирование идет долго потому что у меня в таблице поля GENERAL
с фотографиями.
всё получилось спасибо всем
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / ПОИСК НАЛИЧНЫЕ И БЕЗНАЛИЧНЫЕ ДЕНЬГИ
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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