powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите проблемы в FOX PRO2.6
13 сообщений из 13, страница 1 из 1
Помогите проблемы в FOX PRO2.6
    #33333304
Ibis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Создаю диалоговое окно в интерфейсе пользователя. Он вводит туда данные которые поступают в сооответствующую dbf1. Ввод данных в диалоговом окне осуществляется с помощью двух справочников базы данных (соответственно написаны проги).

Добавление данных в диалоговом окне осуществляется с помощью стандартной програмки
select dbf1
set near on
append blank
perl ... ** соответствующее поле1
perl... **соответствующее поле 2

И вот фишка. При добавлении данных в диалоговоое окно пользователем, данные справочника 1 из предыдущей строки копируются во вновь созданную строку. При этом при попытки обновить её (строку) то есть вызоваем соответствующий справочник 1 и выбераем новый элемент. Все ранеее созданные строки этого поля меняют свои названия на вновь выбранное в новом поле.
ПРи этом такая байда только с тем справочником который вызывается первым, справочник вызываемый вторым отрабатывается нормально.
Проги для двух справочников однотипные, меняется тока название справочника.
Помогите, что делать???? =( Думаю проблема именно в проге "Добавить нового"
...
Рейтинг: 0 / 0
Помогите проблемы в FOX PRO2.6
    #33333321
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
set step тебя спасет
...
Рейтинг: 0 / 0
Помогите проблемы в FOX PRO2.6
    #33333377
Samvel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
perl ... ** соответствующее поле1
perl... **соответствующее поле 2

perl это наверно repl?


данные справочника 1 из предыдущей строки копируются во вновь созданную строку.

смотри help SET CARRY
...
Рейтинг: 0 / 0
Помогите проблемы в FOX PRO2.6
    #33333442
Ibis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да replace
Простите за ошибку.
...
Рейтинг: 0 / 0
Помогите проблемы в FOX PRO2.6
    #33334609
Ibis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В данной программе я нигде не использовала команду "SET CARRY ON" соответственно отменять перенос значений полей как бы незачем "SET CARRY OFF". И при этом повторяется из всей новой записи тока наименование записи из справочника1, а не все поля текущей записи.
Практически я проработала этот вариант, но безуспешно.

При этом как отмечала выше: Допустим я создала уже 3 записи, добавляю новую, меняю в ней наименование данных из справочника 1 и.... все 3 ранее созданных записи меняют значения этого же столбца на только что выбранное название.

Возможно ли что при вызове двух справочников одного за другим в диалоговом окне вызывают, какой ли бо глюк.
...
Рейтинг: 0 / 0
Помогите проблемы в FOX PRO2.6
    #33334687
Samvel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1.Случайно в replace комманде не стоит какое-то условие: for или диапазон all.
2.Оператор вводит новые значения в переменную памяти, может имена переменных совпадает с именами полей?

Приведи код подробней.
...
Рейтинг: 0 / 0
Помогите проблемы в FOX PRO2.6
    #33335251
Ibis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вся программа

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
...
Рейтинг: 0 / 0
Помогите проблемы в FOX PRO2.6
    #33335424
Samvel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор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 (присвоение значения самому себе?)
...
Рейтинг: 0 / 0
Помогите проблемы в FOX PRO2.6
    #33335429
Samvel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и еще не понятен
авторSEEK STRTRAN(STR(NUM_P+1,6),' ','0')

а если не нашел, что дальше?
...
Рейтинг: 0 / 0
Помогите проблемы в FOX PRO2.6
    #33335432
Фотография Hel!Riser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
SELECT STATUS_P
SET RELATION TO VID_KAT INTO LGOTY

SELECT STATUS_P
SET RELATION TO VID_ZABOL INTO ZABOL ADDITIVE
...
Рейтинг: 0 / 0
Помогите проблемы в FOX PRO2.6
    #33335571
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Samvelи еще не понятен
авторSEEK STRTRAN(STR(NUM_P+1,6),' ','0')

а если не нашел, что дальше?А даже если и нашел, то SKIP -1 ;-)
...
Рейтинг: 0 / 0
Помогите проблемы в FOX PRO2.6
    #33335581
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И вообще, в FP2.x лучшей методологией работы в диалоговых полях было SCATTER+GATHER. Имхо, конечно.
...
Рейтинг: 0 / 0
Помогите проблемы в FOX PRO2.6
    #33335585
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автордиалоговых полях
диалоговых формах , прошу прощения ;-)
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите проблемы в FOX PRO2.6
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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