Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите пожалуста соединить базы в одну / 12 сообщений из 12, страница 1 из 1
01.10.2008, 22:50
    #35570915
neohunter
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуста соединить базы в одну
Здраствуйте уважаемые ГУРУ, у меня имеется 9 баз (d1.dbf, d2.dbf d3.dbf, d4.dbf, d5.dbf, d6.dbf, d7.dbf, d8.dbf, d9.dbf (пенсионые)) и foxpro 2.6. Нужно эти все базы совместить в одну "d0.dbf", я примерно видел как это делать, есть файлик (list.png) там код написан в котой вписивались названия баз, вот они этот файлик запускали через "DО..." и он формирует базу... Помогите мне сделать такой же файлик list.png c кодом
...
Рейтинг: 0 / 0
01.10.2008, 22:51
    #35570916
neohunter
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуста соединить базы в одну
P.S. Базы все одинаковие только с разных организаций...
...
Рейтинг: 0 / 0
01.10.2008, 23:31
    #35570962
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуста соединить базы в одну
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
* LIST.PRG
* Соединяем таблицы DB1.DBF-DB9.DBF в одну DB0.DBF
* Структура всех таблиц одинакова
* Исходные таблицы лежат здесь же, результат получаем здесь же
set talk off
set safety off
set deleted on

copy file db1 to db0
use db0
for i= 2  to  9 
  append from ('db'+ltrim(str(i)))
endfor
use

quit
...
Рейтинг: 0 / 0
02.10.2008, 22:18
    #35573539
neohunter
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуста соединить базы в одну
Я скопировал то что Вы написали в блокнот и сохранил в list.png, выполнил командой Do... и оно мне выдало вот такое... что я сделал не так?
...
Рейтинг: 0 / 0
02.10.2008, 23:39
    #35573596
SvIva
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуста соединить базы в одну
Ваши файлы DB1,...,DB9 должны лежать (находится) в той директории, откуда запускаете прогу
В вашем случае - это директория "I:\1DF_GO~1. Скопируйте туда ваши файлы .DBF и снова запустите программу.
...
Рейтинг: 0 / 0
03.10.2008, 06:23
    #35573741
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуста соединить базы в одну
Вообще-то, исходники Фокса обычно имеют расширение PRG, но это не особо принципиально...

Имя каталога нельзя покороче создать (типа I:\1DF_0\) ? - это же FoxPro for DOS, там формат имени был 8.3
...
Рейтинг: 0 / 0
03.10.2008, 06:25
    #35573743
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуста соединить базы в одну
И да, конечно, немного соврал (просто хотел использовать use..copy to), надо так:
Код: plaintext
COPY FILE DB1.DBF TO DB0.DBF
...
Рейтинг: 0 / 0
03.10.2008, 12:43
    #35574542
neohunter
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуста соединить базы в одну
Я сохранил в каталоге с базами list.prg с этим кодом(немного пришлось переделать так как мои базы називаются d1, d2..., я писал немного на С и примерно знаю про это, интересно, а там где копируется Д1 в Д0... разви там не нада для начала типа create d0?) запускаю через Фох и програму закрывает... это quit закрывает? Нечего не создаётся и не склеивается...
_______________________________________

set talk off
set safety off
set deleted on

copy file d1.dbf to d0.dbf
use d0
for i=2 to 9
append from ('d'+ltrim(str(i)))
endfor
use

quit
_______________________________________
...
Рейтинг: 0 / 0
03.10.2008, 16:30
    #35575419
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуста соединить базы в одну
Ладно, уговорили...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
set talk off
set safety off
set deleted on

if !file('d1.dbf')
  wait window 'Source database is not found in current directory!'
  quit
endif
use d1
copy to d0
use d0
append from d2
append from d3
append from d4
append from d5
append from d6
append from d7
append from d8
append from d9
wait window 'Database D0 was created succesfully!'
quit
Если и ЭТО не отработает...
...
Рейтинг: 0 / 0
03.10.2008, 18:57
    #35575721
neohunter
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуста соединить базы в одну
Огромное сисадминское спасибо, это помогло и всё получилось, я примерно такого вида код и видел...
...
Рейтинг: 0 / 0
03.10.2008, 20:19
    #35575824
neohunter
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуста соединить базы в одну
А интересно, если
вирезать use d1
copy to d0
и написать так
use d1
copy to d0
use d1
append from d2
append from d3
append from d4
append from d5
append from d6
append from d7
append from d8
append from d9
wait window 'Database D0 was created succesfully!'
quit
тиоретически должно всё сложиться с добавлением в таблицу Д1?
...
Рейтинг: 0 / 0
03.10.2008, 22:33
    #35575954
AndreTM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуста соединить базы в одну
Да, причем не теоретически. Только в d1 останутся удаленные записи...
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите пожалуста соединить базы в одну / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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