powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Авто заполнение Grid по номеру
5 сообщений из 5, страница 1 из 1
Авто заполнение Grid по номеру
    #38391142
Фотография pipos522
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делаю Конвертирование старой досовской программы на визуал 9
немного контекста: в старой проге при заполнении справочника 1й столбец табельный номер (tn) достаточно ввести его и из другой дбфки (kadr.dbf) всё сразу заполняется, погуглил (честно говоря не знаю как всё это грамотно в запрос вписать) нечего похожего не нашел.

буду очень благодарен за парочку полезных ссылок

код процедуры из дос
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
PROCEDURE VVOD

DO CASE 
    CASE alias()='SPISOK' .or.alias()='SPRSPEC' .or. alias()='SPECOD' or alias()='SPRRUK'
    LOCATE 
  IF eof() 
    APPEND BLANK 
    ACTIVATE WINDOW n02
    DEACTIVATE WINDOW n02
  ELSE 
     APPEND BLANK
  ENDIF 
    zrecv  = recno()
    VVODPR = 1
IF alias()='SPECOD'
   
   ON KEY label enter keyboard "{ctrl+end}" plain 
  SELECT sprprof
    LOCATE FOR sprprof.kprof = spisok.prof
    IF eof() or spisok.prof  = 0
  SELECT sprspec
    BROWSE FIELDS name :h=' '  title 'ENTER - Âûáîð' window n02 nomodi
    zkod  = sprspec.kod
    zname = sprspec.name
    zkol  = sprspec.kol
ELSE 
    SELECT sprprof
    BROWSE FIELDS name :h=' ' for sprprof.kprof=spisok.prof title 'ENTER - Âûáîð' window n02 nomodi
    zkod  = sprprof.kod
    zname = sprprof.name
    zkol  = sprprof.kol
ENDIF     
    ON KEY 
    SELECT specod
  GO zrecv
    REPLACE specod.tn    WITH spisok.tn
    REPLACE specod.kod   WITH  zkod 
    REPLACE specod.name  WITH zname
    REPLACE specod.koln  WITH zkol
    REPLACE specod.dnach WITH otv
    KEYBOARD "{enter}" PLAIN 
ENDIF 
    IF alias()='SPRRUK'
    ON KEY label enter keyboard "{ctrl+end}" plain 

SELECT spodr
   DEFINE POPUP spr FROM 0,40 IN SCREEN PROMPT FIELD npodr+' '+str(skpodr,6) ;
        TITLE 'ENTER -Âûáîð' MARK chr (16) MARGIN SCROLL shadow  
   ON SELECTION POPUP spr do pop with bar(),prompt(),popup()
   ACTIVATE POPUP spr REST  

SELECT  sprruk
   REPLACE sprruk.npodr WITH spodr.npodr
   REPLACE cex WITH spodr.skpodr
   KEYBOARD "{enter}" PLAIN 
       
    ON KEY 
 ENDIF 
   CASE alias()='SPRPROF'
   zprof=sprprof.kprof
   LOCATE
    
IF eof() 
    APPEND BLANK 
    ACTIVATE WINDOW n02
    DEACTIVATE WINDOW n02
ELSE 
     APPEND BLANK
ENDIF 

SELECT kprof
     LOCATE FOR kprof.kprof=zprof 
DEFINE POPUP spr FROM 0,20 IN SCREEN PROMPT FIELD nprof TITLE 'ENTER -Âûáîð' MARK chr (16) MARGIN SCROLL shadow  
ON SELECTION POPUP spr do pop with bar(),prompt(),popup()
ACTIVATE POPUP spr REST  

SELECT sprprof
  REPLACE  sprprof.kprof WITH kprof.kprof
  REPLACE  sprprof.nprof WITH kprof.nprof    

SELECT   sprspec
  DEFINE POPUP spr1 FROM 0,20 IN SCREEN PROMPT FIELD name+str(kol,2)+izm+str(srok,3) TITLE 'ENTER -Âûáîð' MARK chr(16) MARGIN SCROLL shadow 
  ON SELECTION POPUP spr1 do pop with bar(),prompt(),popup()
  ACTIVATE POPUP spr1 REST  

SELECT  sprprof
REPLACE sprprof.kod  WITH sprspec.kod
REPLACE sprprof.name WITH sprspec.name
REPLACE sprprof.izm  WITH sprspec.izm
REPLACE sprprof.kol  WITH sprspec.kol
REPLACE sprprof.srok WITH sprspec.srok

KEYBOARD "{enter}" PLAIN 
KEYBOARD "{enter}" PLAIN 
    OTHERWISE 
    
ENDCASE  
   
RETRY

...
Рейтинг: 0 / 0
Авто заполнение Grid по номеру
    #38391454
alextashk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pipos522,

Вот вам одна http://www.foxclub.ru/rhproject/project/


А что Вам конкретно не понятно.

В зависимости от условия на экран выводится для редактирования через Browse
таблица. Затем заполняется другая таблица и выводится для выбора список Popup
и т.д. Всё в традициях раннего ДОСа.
...
Рейтинг: 0 / 0
Авто заполнение Grid по номеру
    #38391669
asdor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pipos522буду очень благодарен за парочку полезных ссылок


Совет №1 разобраться с алгоритмом. Самому. И подумать как его реализовать на современном уровне.
И тут уже могут быть конкретные вопросы.
...
Рейтинг: 0 / 0
Авто заполнение Grid по номеру
    #38391671
Фотография pipos522
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я всё таки нагуглил и по аналогии переделал под себя всем спасибо
...
Рейтинг: 0 / 0
Авто заполнение Grid по номеру
    #38391726
Фотография pipos522
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Авто заполнение Grid по номеру
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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