Как перебросить часть данных по зарплате
Модераторы: m0p3e, edward_K, Модераторы
Как перебросить часть данных по зарплате
Есть две базы, одна из чих чистая. Стоит задача из одной базы перебросить часть сотрудников, со всеми анкетными и т.д. данными, т.е. карточку сотрудника. У кого нибудь есть такой опыт ?
Мы когда-то, лет 5 назад, делали такое, но с помощью интерфейса.
В новую базу подкладывали все таблицы с персональной информацией из старой базы (persons, адрес, паспорт и пр, точно не помню уже). Делали xls-файл со списком сотрудников, которые переходят в новую организацию. Потом интерфесом в соответствии с этим списком правили файл persons, меняли поле filialno (можно и другое), в нем ставили, например "5", тем, кто останется работать в новой организации. Затем остальных удаляли запросом. Из остальных таблиц с персональной информаций ненужные записи также удалили запросом.
В новую базу подкладывали все таблицы с персональной информацией из старой базы (persons, адрес, паспорт и пр, точно не помню уже). Делали xls-файл со списком сотрудников, которые переходят в новую организацию. Потом интерфесом в соответствии с этим списком правили файл persons, меняли поле filialno (можно и другое), в нем ставили, например "5", тем, кто останется работать в новой организации. Затем остальных удаляли запросом. Из остальных таблиц с персональной информаций ненужные записи также удалили запросом.
Кто сказал, что бесполезно биться головой об стену?!
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
если база небольшая, то этот вариант оптимальней. - лучше вы забудете чего то удалить, чем забудете перенести.
Если же очень большая то мож это вам поможет
Если же очень большая то мож это вам поможет
Код: Выделить всё
select lschet.* where (( 89 == lschet.tabn )) to dbf c:\1\lschet ;
select persons.* where (( 89 == lschet.tabn and lschet.tperson == persons.nrec )) to dbf c:\1\persons;
select doplata.* where (( 89 == doplata.tabn )) to dbf c:\1\doplata ;
select xarpred.* to dbf c:\1\xarpred ;
select perech.* to dbf c:\1\perech ;
select klvidopl.* to dbf c:\1\klvidopl ;
select KLPEROPL.* to dbf c:\1\KLPEROPL ;
select KLalg.* to dbf c:\1\KLalg ;
select KLrejim.* to dbf c:\1\KLrejim ;
select child.* where (( 89 == child.tabn )) to dbf c:\1\child ;
select shtraf.* where (( 89 == shtraf.tabn )) to dbf c:\1\shtraf ;
select PEREXOD.* where (( 89== perexod.tabn )) to dbf c:\1\perexod ;
select CHILD.* where (( 89 == child.tabn )) to dbf c:\1\child ;
select CHILDone.* where (( 89 == childone.tabn )) to dbf c:\1\childone ;
select UCHRABVR.* where (( 89 == uchrabvr.TABN )) to dbf c:\1\uchrabvr ;
select SUMVIDOP.* where (( 89 == TABN )) to dbf c:\1\sumvidop ;
select SUMVIDUD.* where (( 89 == TABN )) to dbf c:\1\sumvidud ;
select NACHISL.* where (( 89 == TABN )) to dbf c:\1\nachisl ;
select UDER.* where (( 89 == tabn )) to dbf c:\1\uder ;
select PEREVOD.* where (( 89 == tabn )) to dbf c:\1\perevod ;
select PRMONTH.* where (( 89 == tabn )) to dbf c:\1\prmonth ;
select CURMONTH.* where (( 89 == TABN )) to dbf c:\1\CURMONTH ;
select BLISNET.* where (( 89 == TABN )) to dbf c:\1\blisnet ;
select OTPUSK.* where (( 89 == TABN )) to dbf c:\1\otpusk ;
select arotpusk.* where (( 89 == otpusk.tabn and otpusk.nrec /== arotpusk.cotpusk )) to dbf c:\1\arotpusk ;
select factotpusk.* where ((89 == otpusk.tabn and otpusk.CFACTOTPUSK == factotpusk.nrec )) to dbf c:\1\fotpusk ;
select PRVIDOPL.* where (( 89 == TABN(noindex) )) to dbf c:\1\prvidopl ;
select ARHPEREX.* where (( 89 == TABN )) to dbf c:\1\arhperex ;
select PEREVODTEK.* where (( 89 == TABN )) to dbf c:\1\perevodtek ;
select SYS_NAR.* to dbf c:\1\sys_nar ;
select pRNARYAD.* where (( 89 == TABN )) to dbf c:\1\prnaryad ;
select DOPNAP.* where (( 89 == TABN )) to dbf c:\1\dopnap ;
select DOPNAL.* where (( 89 == TABN )) to dbf c:\1\dopnal ;
select DOGARX.* where (( 89 == TABN )) to dbf c:\1\DOGARX ;
select BRWORK.* where (( 89 == TABN(noindex) )) to dbf c:\1\BRWORK ;
select TABHELP.* where (( 89 == TABN(noindex) )) to dbf c:\1\TABHELP ;
select NENACH.* where (( 89 == TABN )) to dbf c:\1\NENACH ;
select LSTAB.* where (( 89 == TABN )) to dbf c:\1\LSTAB ;
select lstabmsk.* where (( 89 ==lstab.tabn
and lstab.nrec /== lstabmsk.clstab )) to dbf c:\1\lstabmsk ;
select VARIANCE.* where (( 89==lstab.tabn
and lstab.nrec /== VARIANCE.clstab )) to dbf c:\1\VARIANCE ;
select ARXTAR.* where (( 89 == TABN )) to dbf c:\1\ARXTAR ;
select SPPLBAN.* where (( 89 == TABN(noindex) )) to dbf c:\1\SPPLBAN ;
select SUMULTEC.* where (( 89 == TABN )) to dbf c:\1\SUMULTEC ;
select SUMULPRO.* where (( 89 == TABN )) to dbf c:\1\SUMULPRO ;
select SUMULBUD.* where (( 89 == TABN )) to dbf c:\1\SUMULBUD ;
select SUMUPTEC.* where (( 89 == TABN )) to dbf c:\1\SUMUPTEC ;
select SUMUPPRO.* where (( 89 == TABN )) to dbf c:\1\SUMUPPRO ;
select SUMUPBUD.* where (( 89 == TABN )) to dbf c:\1\SUMUPBUD ;
select DOPNAL2.* where (( 89 == TABN )) to dbf c:\1\DOPNAL2 ;
select NALPERS.* where (( 89 == TABN(noindex) )) to dbf c:\1\NALPERS ;
select STORNTAB.* where (( 89 == TABN(noindex) )) to dbf c:\1\STORNTAB ;
select OTPDOP.* where (( 89 == TABN(noindex) )) to dbf c:\1\OTPDOP ;
select SUMUPSOC.* where (( 89 == TABN(noindex) )) to dbf c:\1\SUMUPSOC ;
select SUMULSOC.* where (( 89 == TABN(noindex) )) to dbf c:\1\SUMULSOC ;