|
ПОИСК НАЛИЧНЫЕ И БЕЗНАЛИЧНЫЕ ДЕНЬГИ
|
|||
---|---|---|---|
#18+
VISUAL FOXPRO 5.0 ********************** ТАКАЯ ЗАДАЧА: НУЖНО ИЗ ТАБЛИЦЫ ВЫБРАТЬ КЛИЕНТОВ КОТОРЫЕ ПЛАТИЛИ НАЛИЧНЫМИ (ДЛЯ НИХ СДЕЛАН "CHECKbox1" ) А ТАКЖЕ ПЕРЕЧИСЛЕНИЕМ (ДЛЯ НИХ ТОЖЕ СДЕЛАН "CHECKbox2" ) ЗНАЧЕНИЕ ДЛЯ "CHECKBOX" .F. ИЛИ .T. ЕСЛИ ПОСТАВИТЬ ФЛАЖОК "CHECKBOX1" ТО ИДЁТ ПОИСК КЛИЕНТОВ КОТОРЫЕ ПЛАТИЛИ НАЛИЧНЫМИ. ЕСЛИ "CHECKBOX2" ТО ПЕРЕЧИСЛЕНИЕМ ЕСЛИ ОБА ФЛАЖКА ТО ВСЕХ КТО ПЛАТИЛ ПЕРЕЧИСЛЕНИЕМ И НАЛИЧНЫМИ ПОИСК ДОЛЖЕН БЫТЬ ПО КНОПКЕ. *********************************************** СТРУКТУРА ТАБЛИЦЫ: OPLATA.dbf ***************************** ZAKAZ .......... (ЧИСЛОВОЙ)..................&& КОД ЗАКАЗА FAMILIA......... (СИМВОЛЬНЫЙ)..............&& ФАМИЛИЯ DAT.............. (ДАТА)..........................&& ДАТА ЗАКАЗА NALICH.......... (ЛОГИЧЕСКИЙ)................&& НАЛИЧНЫЕ PERECH......... (ЛОГИЧЕСКИЙ)............... && ПЕРЕЧИСЛЕНИЕ ****************************************** ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2003, 16:44 |
|
ПОИСК НАЛИЧНЫЕ И БЕЗНАЛИЧНЫЕ ДЕНЬГИ
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Примерно так. Дерзайте. И не кричите так ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2003, 17:04 |
|
ПОИСК НАЛИЧНЫЕ И БЕЗНАЛИЧНЫЕ ДЕНЬГИ
|
|||
---|---|---|---|
#18+
если можно падробней и с коментариями а то я не так давно перешёл на visual foxpro до етого работал под dos. этот програмный код не работает ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2003, 13:37 |
|
ПОИСК НАЛИЧНЫЕ И БЕЗНАЛИЧНЫЕ ДЕНЬГИ
|
|||
---|---|---|---|
#18+
Тебе ж сказали что это примерно. Можеш select * from oplata where nalich=thisform.checkbox1.value .and. perech=thisform.checkbox2.value только смотри что чексбоксы были .t. или .f. а не 0 или 1. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2003, 14:00 |
|
ПОИСК НАЛИЧНЫЕ И БЕЗНАЛИЧНЫЕ ДЕНЬГИ
|
|||
---|---|---|---|
#18+
Решение основано на том факте, что в 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 Только следует иметь в виду, что данный фильтр сформирован исходя из предположения, что если выбраны оба флажка, то отбираются те клиенты которые платили одновременно и наличными и по перечислению. Если по условию задачи в этом случае нужно ИЛИ, то необходимо соответсвенно скорректировать фильтр. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2003, 14:06 |
|
ПОИСК НАЛИЧНЫЕ И БЕЗНАЛИЧНЫЕ ДЕНЬГИ
|
|||
---|---|---|---|
#18+
1024:только смотри что чексбоксы были .t. или .f. а не 0 или 1. Это проще (и красивее). Только в пятерке-то они 0 или 1. Может, в таблице исправить, пока не поздно, а, WASIL ? А если поздно, то делай некрасиво ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2003, 16:00 |
|
ПОИСК НАЛИЧНЫЕ И БЕЗНАЛИЧНЫЕ ДЕНЬГИ
|
|||
---|---|---|---|
#18+
А МОЖНО ЛИ ИЗ ФИЛЬТРА КОТОРЫЙ ПОЛУЧИЛСЯ СКОПИРОВАТЬ ДАННЫЕ ВО ВРЕМЕНУЮ ТАБЛИЦУ. Я ДЕЛАЮ IN TO TABLE TEMP.DBF ЭТО КОПИРОВАНИЕ ИДЁТ СЕКУНДЫ 4 ФИЛЬТР ВРОДЕ ПОЛУЧАЕТСЯ С 10 СТРОКАМИ (изначально таблица маленькая фильтр работает мгновенно, а копирование во временную идет долго) КАК МОЖНО СДЕЛАТЬ ЭТО КОПИРОВАНИЕ ВО ВРЕМЕННУЮ ТАБЛИЦУ . ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2003, 08:34 |
|
|
start [/forum/topic.php?fid=41&fpage=420&tid=1598203]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
27ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 263ms |
total: | 383ms |
0 / 0 |