|
|
|
Помогите проблемы в FOX PRO2.6
|
|||
|---|---|---|---|
|
#18+
Создаю диалоговое окно в интерфейсе пользователя. Он вводит туда данные которые поступают в сооответствующую dbf1. Ввод данных в диалоговом окне осуществляется с помощью двух справочников базы данных (соответственно написаны проги). Добавление данных в диалоговом окне осуществляется с помощью стандартной програмки select dbf1 set near on append blank perl ... ** соответствующее поле1 perl... **соответствующее поле 2 И вот фишка. При добавлении данных в диалоговоое окно пользователем, данные справочника 1 из предыдущей строки копируются во вновь созданную строку. При этом при попытки обновить её (строку) то есть вызоваем соответствующий справочник 1 и выбераем новый элемент. Все ранеее созданные строки этого поля меняют свои названия на вновь выбранное в новом поле. ПРи этом такая байда только с тем справочником который вызывается первым, справочник вызываемый вторым отрабатывается нормально. Проги для двух справочников однотипные, меняется тока название справочника. Помогите, что делать???? =( Думаю проблема именно в проге "Добавить нового" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2005, 15:14:24 |
|
||
|
Помогите проблемы в FOX PRO2.6
|
|||
|---|---|---|---|
|
#18+
set step тебя спасет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2005, 15:20:39 |
|
||
|
Помогите проблемы в FOX PRO2.6
|
|||
|---|---|---|---|
|
#18+
perl ... ** соответствующее поле1 perl... **соответствующее поле 2 perl это наверно repl? данные справочника 1 из предыдущей строки копируются во вновь созданную строку. смотри help SET CARRY ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2005, 15:38:32 |
|
||
|
Помогите проблемы в FOX PRO2.6
|
|||
|---|---|---|---|
|
#18+
Да replace Простите за ошибку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2005, 15:59:15 |
|
||
|
Помогите проблемы в FOX PRO2.6
|
|||
|---|---|---|---|
|
#18+
В данной программе я нигде не использовала команду "SET CARRY ON" соответственно отменять перенос значений полей как бы незачем "SET CARRY OFF". И при этом повторяется из всей новой записи тока наименование записи из справочника1, а не все поля текущей записи. Практически я проработала этот вариант, но безуспешно. При этом как отмечала выше: Допустим я создала уже 3 записи, добавляю новую, меняю в ней наименование данных из справочника 1 и.... все 3 ранее созданных записи меняют значения этого же столбца на только что выбранное название. Возможно ли что при вызове двух справочников одного за другим в диалоговом окне вызывают, какой ли бо глюк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2005, 11:18:49 |
|
||
|
Помогите проблемы в FOX PRO2.6
|
|||
|---|---|---|---|
|
#18+
1.Случайно в replace комманде не стоит какое-то условие: for или диапазон all. 2.Оператор вводит новые значения в переменную памяти, может имена переменных совпадает с именами полей? Приведи код подробней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2005, 11:45:02 |
|
||
|
Помогите проблемы в FOX PRO2.6
|
|||
|---|---|---|---|
|
#18+
Вся программа RELEASE WINDOW STATUS_P DEFINE WINDOW STATUS_P FROM 14,0 TO 23,79; DOUBLE; TITLE ' ЛЬГОТЫ ('+PENS_FIO+' )' ; FOOTER 'Tab,Shift+Tab-Движение. '+; 'Enter-сл.значение. ESC-Выход F5-Нов.запись. F6-Удалить'; COLOR SCHEME 10 ACTIVATE WINDOW STATUS_P on key label F5 DO RECINS on key label F6 DELETE NEXT 1 IF USED("STATUS_P") SELECT STATUS_P ELSE SELECT 0 USE STATUS_P ENDIF SET ORDER TO TAG VID_KAT IF USED("LGOTY") SELECT LGOTY ELSE SELECT 0 USE LGOTY ENDIF SET ORDER TO TAG VID_KAT IF USED("ZABOL") SELECT ZABOL ELSE SELECT 0 USE ZABOL ENDIF SET ORDER TO TAG VID_ZABOL SELECT STATUS_P SET RELATION TO VID_KAT INTO LGOTY SELECT STATUS_P SET RELATION TO VID_ZABOL INTO ZABOL BROWSE IN WINDOW STATUS_P FIELDS STATUS_P.VID_KAT :10 :H='КОД ЛЬГОТЫ' :V=LGOTY_C() :F, ; N_L=LGOTY.NAM_LGOTY :18 :H=' ЛЬГОТА',; STATUS_P.DOP_1 :14 :H='ВОИНСK.ЗВАНИЕ', ; STATUS_P.VID_ZABOL :14 :H='КОД ЗАБОЛЕВАНИЯ' :V=ZABOL_C() :F , ; N_Z=ZABOL.NAM_ZABOL :18 :H=' ЗАБОЛЕВАНИЕ' ; FOR STATUS_P.NUM_PENS=NUM_P on key label F5 on key label F6 RELEASE WINDOW STATUS_P RETURN *********************** RECINS - НОВАЯ ЗАПИСЬ FUNCTION RECINS SELECT STATUS_P SET NEAR ON SEEK STRTRAN(STR(NUM_P+1,6),' ','0') SKIP -1 NUM_LG=IIF(NUM_PENS=NUM_P,STATUS_P.NUM +1,1) APPEND BLANK REPL NUM_PENS WITH NUM_P REPL NUM WITH NUM_LG REPL VID_KAT WITH VID_KAT REPL DOP_1 WITH DOP_1 REPL VID_ZABOL WITH VID_ZABOL ******************** ZABOL_C - ВЫБРАТЬ ЗАБОЛЕВАНИЕ ПО СЛОВАРЮ ** Сдесь все замечательно работает FUNCTION ZABOL_C IF LASTKEY()=13 DO VT2ZABLC IF LASTKEY()<>27 repl STATUS_P.VID_ZABOL with ZABOL.VID_ZABOL ENDIF return .t. endif *********************** LGOTY_C - ВЫБРАТЬ ЛЬГОТУ ПО СЛОВАРЮ **При работе с этим справочником происходят все глюки описанные выше FUNCTION LGOTY_C IF LASTKEY()=13 DO VT2LGOTC IF LASTKEY()<>27 repl STATUS_P.VID_KAT with LGOTY.VID_KAT ENDIF return .t. endif ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2005, 14:33:21 |
|
||
|
Помогите проблемы в FOX PRO2.6
|
|||
|---|---|---|---|
|
#18+
авторREPL NUM_PENS WITH NUM_P REPL NUM WITH NUM_LG REPL VID_KAT WITH VID_KAT REPL DOP_1 WITH DOP_1 REPL VID_ZABOL WITH VID_ZABOL первые 2 реплейса где-то понятны, а следующуе три зачем? какое значение получают vid_kat,dop_1 и vid_zapol (присвоение значения самому себе?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2005, 15:25:06 |
|
||
|
Помогите проблемы в FOX PRO2.6
|
|||
|---|---|---|---|
|
#18+
и еще не понятен авторSEEK STRTRAN(STR(NUM_P+1,6),' ','0') а если не нашел, что дальше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2005, 15:29:00 |
|
||
|
Помогите проблемы в FOX PRO2.6
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2005, 15:31:33 |
|
||
|
Помогите проблемы в FOX PRO2.6
|
|||
|---|---|---|---|
|
#18+
Samvelи еще не понятен авторSEEK STRTRAN(STR(NUM_P+1,6),' ','0') а если не нашел, что дальше?А даже если и нашел, то SKIP -1 ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2005, 16:18:03 |
|
||
|
Помогите проблемы в FOX PRO2.6
|
|||
|---|---|---|---|
|
#18+
И вообще, в FP2.x лучшей методологией работы в диалоговых полях было SCATTER+GATHER. Имхо, конечно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2005, 16:19:57 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33335581&tid=1593230]: |
0ms |
get settings: |
11ms |
get forum list: |
23ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
283ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 636ms |

| 0 / 0 |
