Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / объединить файлы / 15 сообщений из 15, страница 1 из 1
21.03.2013, 08:02
    #38192508
Гаджет
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
объединить файлы
как объединить таблицы с такими названиями rc_100, rc_293 и т.д. т.е. все таблицы из папкидопустим C:\tabl с названием начинающиеся на rc_ ?? Можно ли так сделать?
...
Рейтинг: 0 / 0
21.03.2013, 08:08
    #38192511
Гаджет
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
объединить файлы
И нужно добавить одну колонку, в который нужно занести соответствующее название этого файла т.е. если есть таблицы rc_100 и rc_101 объединить их и добавить новое поле cod со значениями 100 и 101
...
Рейтинг: 0 / 0
21.03.2013, 08:48
    #38192542
Гаджет
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
объединить файлы
Объединение то понятно, а как из названия dbf вытащить часть после rc_ т.е. число после rc_ и занести в новое соответствующее поле
...
Рейтинг: 0 / 0
21.03.2013, 08:53
    #38192550
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
объединить файлы
Гаджет, а как из названия dbf вытащить часть после rc_ т.е. число после rc_
Код: sql
1.
val(stuff(juststem(filename),1,3,''))
...
Рейтинг: 0 / 0
21.03.2013, 08:58
    #38192553
Гаджет
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
объединить файлы
tanglir,

Код: sql
1.
2.
3.
select * from rc_100;
union all (select * from rc_101);
into curcor cr 



а это после нужно использовать уже?
Код: sql
1.
val(stuff(juststem(filename),1,3,''))
...
Рейтинг: 0 / 0
21.03.2013, 09:06
    #38192562
Гаджет
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
объединить файлы
Гаджет,

Код: sql
1.
2.
3.
select *,val(stuff(juststem(d:\r\rc_100.dbf),1,3,'')) from rc_100;
union all (select *,val(stuff(juststem(d:\r\rc_101.dbf),1,3,'')) from rc_101);
into curcor cr 




так делаю ошибку пишет
...
Рейтинг: 0 / 0
21.03.2013, 09:18
    #38192576
Гаджет
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
объединить файлы
Гаджет, прошу прощения работает.. в одной таблице просто не было совсем данных оказывается и я думал что первое значение 100 и для второй приписывается
...
Рейтинг: 0 / 0
21.03.2013, 10:02
    #38192629
Гаджет
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
объединить файлы
Гаджет, есть ли функция преобразующая тип numeric в целое?

Есть две таблицы с полями Nomer у одной тип numeric? у другой character и нужно их сравнить в where

символьное преобразовал так int(val(nomer)), а numeric не знаю
...
Рейтинг: 0 / 0
21.03.2013, 10:08
    #38192639
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
объединить файлы
Гаджет,

во-первых, есть смысл не только писать о факте появления ошибки, но и приводить её текст;
во-вторых, вы забыли кавычки вокруг имени файла;
в-третьих, скобки вокруг второго селекта - лишние;
в-четвёрых, с помощью adir() и цикла с insert ... select можно написать обработку, не требующую длиннющего юниона со 100500-ми таблицами.
...
Рейтинг: 0 / 0
21.03.2013, 10:10
    #38192648
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
объединить файлы
Гаджет, а нумерик и не надо ни к чему преобразовывать. Кстати, инт() тоже ни к чему, одного вал() вполне достаточно.
Если же вам нужно отбросить дробную часть, то есть функции round/floor/ceiling.
...
Рейтинг: 0 / 0
21.03.2013, 10:13
    #38192653
Гаджет
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
объединить файлы
tanglir, а как сделать с помощью цикла? А то я то почти уже сделал прогу, но пришлось писать подряд юнионы
...
Рейтинг: 0 / 0
21.03.2013, 10:48
    #38192721
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
объединить файлы
Гаджета как сделать с помощью цикла фпоиск , *****!
/topic/934293&hl=adir
/topic/908495&hl=adir
/topic/807507&hl=adir
...
Рейтинг: 0 / 0
21.03.2013, 11:38
    #38192805
Гаджет
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
объединить файлы
нашел такой код по вашим ссылкам, только я не понял куда они скопировались. Как потом все это в курсор выводить

Код: sql
1.
2.
3.
4.
5.
6.
7.
lcDir="d:\r\" && Месторасположение файлов
lnCount=ADIR(laFiles,lcDir+"rc_*.dbf")
COPY FILE (lcDir+laFiles(1,1)) TO (lcDir+"MyFile.dbf")
USE (lcDir+"MyFile.dbf") IN 0
FOR lnI=2 TO lnCount
	APPEND FROM (lcDir+laFiles(lnI,1))
endfor
...
Рейтинг: 0 / 0
21.03.2013, 11:45
    #38192813
Гаджет
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
объединить файлы
Аа понял, понял, но наверное этот вариант мне не подойдет мне еще нужно из названия каждого dbf брать то что после rc_ идет и в результирующей таблице новое поле создать с соответствующим значением
...
Рейтинг: 0 / 0
21.03.2013, 12:02
    #38192850
tor300
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
объединить файлы
ГаджетАа понял, понял, но наверное этот вариант мне не подойдет мне еще нужно из названия каждого dbf брать то что после rc_ идет и в результирующей таблице новое поле создать с соответствующим значением
если из этого кода убрать пару строчек(copy file и use), цикл начать с 1 и append заменить на insert...select (как и советовал tanglir), получите то что Вам нужно.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / объединить файлы / 15 сообщений из 15, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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