|
обновление
|
|||
---|---|---|---|
#18+
Помогите сделать обновление данных с помощью кнопки , очень надо. Есть несколько БД в ДОСе: - sprav.dbf – БД зарплата(sprav.prof = ‘*’ означает что человек член профсоюза), - 24 таблицы с названием BD_.dbf (БД ОК3, Отдел Кадров),, BD1.dbf…. BD2.dbf …BD24.dbf – сотруднике (24 = число служб, в предприятии), - BD0.dbf – сезонники, декретчики (БД ОК3, Отдел Кадров), - BD99.dbf – сотрудники с кем был преостоновлен трудовой договор (БД ОК3, Отдел Кадров), - ARH[год] – уволенные (БД ОК3, Отдел Кадров). И, есть БД уже в вижуале, data1.bd_pr, вот в эту таблицу bd_pr.dbf нужно сделать обновления, из вышеуказанных, т.е. какие либо, изменения и новые записи. Есть код в ДОСе, но я ни как не могу с ним разобраться, мне надо в вижуал. помогите с этим всем разобраться, я в этом еще не силён, но, на работе была поставлена задача и сроки поджимают, заранее спасибо procedure OBNOVL wait wind " Ждите ... " nowait dimension masv[14,1] close databases use &p_dbf3.SPRAV order tag TAG2 in 4 select 2 use &p_dbf.BD-PR order tag TAG1 blank all select 1 use &p_dbf.STPROF scan && STPROF psv = alltrim(Svz) pbd = Bdp for ii = 1 to len(psv) step 3 pod = val(substr(psv,ii,2)) wait wind "в "+alltrim(massp[pbd,1])+" передаются данные из "+str(pod,2) nowait select 3 fal = p_dbf1 + "BD"+alltrim(str(pod,2)) use &fal order tag TAG1 && рабочая база set relation to Tab_nom into D scan for D.Prof = "*".or.inlist(Tab_nom,2629,1339,2631,28,2634,4901,1092,3278) scatter to masv field Tab_nom,Podg,Name,Fio,Doljn,Rojd,Dat,Codl,Codf,Adres,Tel,Pas1,Pas2,Pas3 kkd = 0 for kk = 1 to 4 ppol = "Mem"+str(kk,1) kkd = kkd + iif(&ppol=space(30),0,1) endfor select 2 if seek(0) = .F. append blank endif gather from masv field Tab_nom,Podg,Name,Fio,Doljn,Rojd,Dat,Codl,Codf,Adres,Tel,Pas1,Pas2,Pas3 replace Bdp with pbd, Bd with pod, Kold with kkd select 3 endscan use &p_dbf1.BD0 order tag TAG1 && сезонники, декретчики set relation to Tab_nom into D scan for !("С" $ Vidn).and.Bd = pod.and.D.Prof = "*" scatter to masv field Tab_nom,Podg,Name,Fio,Doljn,Rojd,Dat,Codl,Codf,Adres,Tel,Pas1,Pas2,Pas3 kkd = 0 for kk = 1 to 4 ppol = "Mem"+str(kk,1) kkd = kkd + iif(&ppol=space(30),0,1) endfor select 2 if seek(0) = .F. append blank endif gather from masv field Tab_nom,Podg,Name,Fio,Doljn,Rojd,Dat,Codl,Codf,Adres,Tel,Pas1,Pas2,Pas3 replace Bdp with pbd, Bd with pod, Kold with kkd select 3 endscan use &p_dbf1.BD99 order tag TAG1 && Приост.ТД set relation to Tab_nom into D scan for Bd = pod.and.D.Prof = "*" scatter to masv field Tab_nom,Podg,Name,Fio,Doljn,Rojd,Dat,Codl,Codf,Adres,Tel,Pas1,Pas2,Pas3 kkd = 0 for kk = 1 to 4 ppol = "Mem"+str(kk,1) kkd = kkd + iif(&ppol=space(30),0,1) endfor select 2 if seek(0) = .F. append blank endif gather from masv field Tab_nom,Podg,Name,Fio,Doljn,Rojd,Dat,Codl,Codf,Adres,Tel,Pas1,Pas2,Pas3 replace Bdp with pbd, Bd with pod, Kold with kkd select 3 endscan ffal = p_arh + "ARH"+str(year(ddate),4) + ".dbf" use &ffal use &ffal order tag TAG1 && уволенные set relation to Tab_nom into D scan for Bd = pod.and.!inlist(Vidn,"С","Т","В") scatter to masv field Tab_nom,Podg,Name,Fio,Doljn,Rojd,Dat,Codl,Codf,Adres,Tel,Pas1,Pas2,Pas3 pdu = Datu kkd = 0 for kk = 1 to 4 ppol = "Mem"+str(kk,1) kkd = kkd + iif(&ppol=space(30),0,1) endfor select 2 if seek(0) = .F. append blank endif gather from masv field Tab_nom,Podg,Name,Fio,Doljn,Rojd,Dat,Codl,Codf,Adres,Tel,Pas1,Pas2,Pas3 replace Bdp with pbd, Bd with pod, Kold with kkd, Prim with "*, уволен с "+dtoc(pdu) select 3 endscan endfor select 1 endscan close databases use INSTAL goto 9 replace Way with dtoc(ddate) p_dat = alltrim(Way) defi bar 3 of PM1 prom " 2. Членов профсоюза ("+p_dat+")" use &p_dbf.BD-PR wait clear return ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2009, 15:49 |
|
обновление
|
|||
---|---|---|---|
#18+
procedure OBNOVL wait wind " Ждите ... " nowait dimension masv[14,1] close databases use &p_dbf3.SPRAV order tag TAG2 in 4 select 2 use &p_dbf.BD-PR order tag TAG1 blank all select 1 use &p_dbf.STPROF scan && STPROF psv = alltrim(Svz) pbd = Bdp for ii = 1 to len(psv) step 3 pod = val(substr(psv,ii,2)) wait wind "в "+alltrim(massp[pbd,1])+" передаются данные из "+str(pod,2) nowait select 3 fal = p_dbf1 + "BD"+alltrim(str(pod,2)) use &fal order tag TAG1 && рабочая база set relation to Tab_nom into D scan for D.Prof = "*".or.inlist(Tab_nom,2629,1339,2631,28,2634,4901,1092,3278) scatter to masv field Tab_nom,Podg,Name,Fio,Doljn,Rojd,Dat,Codl,Codf,Adres,Tel,Pas1,Pas2,Pas3 kkd = 0 for kk = 1 to 4 ppol = "Mem"+str(kk,1) kkd = kkd + iif(&ppol=space(30),0,1) endfor select 2 if seek(0) = .F. append blank endif gather from masv field Tab_nom,Podg,Name,Fio,Doljn,Rojd,Dat,Codl,Codf,Adres,Tel,Pas1,Pas2,Pas3 replace Bdp with pbd, Bd with pod, Kold with kkd select 3 endscan use &p_dbf1.BD0 order tag TAG1 && сезонники, декретчики set relation to Tab_nom into D scan for !("С" $ Vidn).and.Bd = pod.and.D.Prof = "*" scatter to masv field Tab_nom,Podg,Name,Fio,Doljn,Rojd,Dat,Codl,Codf,Adres,Tel,Pas1,Pas2,Pas3 kkd = 0 for kk = 1 to 4 ppol = "Mem"+str(kk,1) kkd = kkd + iif(&ppol=space(30),0,1) endfor select 2 if seek(0) = .F. append blank endif gather from masv field Tab_nom,Podg,Name,Fio,Doljn,Rojd,Dat,Codl,Codf,Adres,Tel,Pas1,Pas2,Pas3 replace Bdp with pbd, Bd with pod, Kold with kkd select 3 endscan use &p_dbf1.BD99 order tag TAG1 && Приост.ТД set relation to Tab_nom into D scan for Bd = pod.and.D.Prof = "*" scatter to masv field Tab_nom,Podg,Name,Fio,Doljn,Rojd,Dat,Codl,Codf,Adres,Tel,Pas1,Pas2,Pas3 kkd = 0 for kk = 1 to 4 ppol = "Mem"+str(kk,1) kkd = kkd + iif(&ppol=space(30),0,1) endfor select 2 if seek(0) = .F. append blank endif gather from masv field Tab_nom,Podg,Name,Fio,Doljn,Rojd,Dat,Codl,Codf,Adres,Tel,Pas1,Pas2,Pas3 replace Bdp with pbd, Bd with pod, Kold with kkd select 3 endscan ffal = p_arh + "ARH"+str(year(ddate),4) + ".dbf" use &ffal use &ffal order tag TAG1 && уволенные set relation to Tab_nom into D scan for Bd = pod.and.!inlist(Vidn,"С","Т","В") scatter to masv field Tab_nom,Podg,Name,Fio,Doljn,Rojd,Dat,Codl,Codf,Adres,Tel,Pas1,Pas2,Pas3 pdu = Datu kkd = 0 for kk = 1 to 4 ppol = "Mem"+str(kk,1) kkd = kkd + iif(&ppol=space(30),0,1) endfor select 2 if seek(0) = .F. append blank endif gather from masv field Tab_nom,Podg,Name,Fio,Doljn,Rojd,Dat,Codl,Codf,Adres,Tel,Pas1,Pas2,Pas3 replace Bdp with pbd, Bd with pod, Kold with kkd, Prim with "*, уволен с "+dtoc(pdu) select 3 endscan endfor select 1 endscan close databases use INSTAL goto 9 replace Way with dtoc(ddate) p_dat = alltrim(Way) defi bar 3 of PM1 prom " 2. Членов профсоюза ("+p_dat+")" use &p_dbf.BD-PR wait clear return ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2009, 15:50 |
|
обновление
|
|||
---|---|---|---|
#18+
Парни, что нет ни каких идей? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2009, 19:11 |
|
обновление
|
|||
---|---|---|---|
#18+
Liosha_nove4okПарни, что нет ни каких идей?А откуда они возьмутся, когдв все заляпано макроподстановкой и понять что-то в этом месиве крайне затруднительно. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2009, 19:42 |
|
обновление
|
|||
---|---|---|---|
#18+
а если не смотреть в месево? помогите пжалста... Liosha_nove4okПомогите сделать обновление данных с помощью кнопки , очень надо. Есть несколько БД в ДОСе: - sprav.dbf – БД зарплата(sprav.prof = ‘*’ означает что человек член профсоюза), - 24 таблицы с названием BD_.dbf (БД ОК3, Отдел Кадров),, BD1.dbf…. BD2.dbf …BD24.dbf – сотруднике (24 = число служб, в предприятии), - BD0.dbf – сезонники, декретчики (БД ОК3, Отдел Кадров), - BD99.dbf – сотрудники с кем был преостоновлен трудовой договор (БД ОК3, Отдел Кадров), - ARH[год] – уволенные (БД ОК3, Отдел Кадров). И, есть БД уже в вижуале, data1.bd_pr, вот в эту таблицу bd_pr.dbf нужно сделать обновления, из вышеуказанных, т.е. какие либо, изменения и новые записи. Есть код в ДОСе, но я ни как не могу с ним разобраться, мне надо в вижуал. помогите с этим всем разобраться, я в этом еще не силён, но, на работе была поставлена задача и сроки поджимают, заранее спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2009, 19:50 |
|
обновление
|
|||
---|---|---|---|
#18+
А вопрос-то в чем? Что вы вкладываете в понятие "с этим всем разобраться"? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2009, 20:06 |
|
обновление
|
|||
---|---|---|---|
#18+
Помогите сделать обновление данных с помощью кнопки , очень надо. Есть несколько БД в ДОСе: - sprav.dbf – БД зарплата(sprav.prof = ‘*’ означает что человек член профсоюза), - 24 таблицы с названием BD_.dbf (БД ОК3, Отдел Кадров),, BD1.dbf…. BD2.dbf …BD24.dbf – сотруднике (24 = число служб, в предприятии), - BD0.dbf – сезонники, декретчики (БД ОК3, Отдел Кадров), - BD99.dbf – сотрудники с кем был преостоновлен трудовой договор (БД ОК3, Отдел Кадров), - ARH[год] – уволенные (БД ОК3, Отдел Кадров). И, есть БД уже в вижуале, data1.bd_pr, вот в эту таблицу bd_pr.dbf нужно сделать обновления, из вышеуказанных, т.е. какие либо, изменения и новые записи. я же уже написал не смотреть в сод, прога в досе была сделана до меня, и я с кодом не могу разоюратся что был написан до меня, много макроподстановки и не понимаю что и от куда берётся... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2009, 20:20 |
|
обновление
|
|||
---|---|---|---|
#18+
Код у тебя есть. Запускай его под VFP, смотри где вылазят ошибки-последовательно с ними разбирайся. Ничего сложного. Нудно только. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2009, 21:08 |
|
обновление
|
|||
---|---|---|---|
#18+
+ посмотреть на sql команду insert Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2009, 21:58 |
|
обновление
|
|||
---|---|---|---|
#18+
Так я не понял, вы предлагаете нам поработать вместо HELP? Описывать словами что делает каждая команда в отдельности? Если вы думаете, что существует некий универсальный код по перекачке данных из одного хранилища в другое, то вынужден вас разочаровать. Такого в природе не существует. В силу разных причин. А это значит, что максимум, что вам могут посоветовать - это обратить внимание на некоторые команды и функции. Тот же Insert-SQL, например. Но это и все. Чтобы сказать что-то более определенное надо очень глубоко и плотно влезать в конкретную задачу. Изучать структуру исходных данных, конечных данных, правил преобразований одного в другое. Собственно, по сути, вы спросили как мне переложить бумаги из одной папки в другую. Ну, что на это можно ответить? Руками! А как еще? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2009, 23:40 |
|
обновление
|
|||
---|---|---|---|
#18+
Ох... как же трудно понять сытого, когда ты голоден.. ладно парни, буду лопатить код и переводить эти грёбаные макропостановки, спасибо... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2009, 00:08 |
|
обновление
|
|||
---|---|---|---|
#18+
Liosha_nove4okОх... как же трудно понять сытого, когда ты голоден.. ладно парни, буду лопатить код и переводить эти грёбаные макропостановки, спасибо... А вы вы как думали ? Сытый становится сытым, когда он что-то полопатит руками (и головой). В показанном здесь коде нет ничего необычного для языка VFP. Ну, громоздко, процедурно, но работать должно. Вам надо самостоятельно разобраться, что делает каждая таблица, какова их структура и теги, для чего нужен каждый массив, откуда и куда что надо перекачать. Что означают загадочные &p_dbf.STPROF и массив massp. Только я вас умоляю, не надо здесь все это подробно рассказывать, вы это должны сами через себя пропустить. И не надо шарахаться от "БД в ДОС". Базы как базы. Не думайте, что перейдя в VFP вы попадете в рай :) 2 прошелмимо : Не надо пока про INSERT, это все технические детали. Можно вообще оставить все, как есть. Главное, чтобы человек сам понял этот алгоритм. А там уж выберет по вкусу, как его писать. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2009, 14:10 |
|
|
start [/forum/search_topic.php?author=zenk&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
get settings: |
12ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 374ms |
total: | 540ms |
0 / 0 |