|
|
|
Формирование файла
|
|||
|---|---|---|---|
|
#18+
Всем здравствуйте! По хелпу не могу разобраться. Подскажите, плиз! Нужна такая констракшн - CREATE table c:\dat.dbf from array arr но не могу просечь, как формировать массив arr... Нужно формировать файл с опреленными полями (имена и длины меняются). Например, должно быть поле "ОР" С 5 0 и штук 50 полей N 12 6 с именами из другого массива ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2008, 10:23 |
|
||
|
Формирование файла
|
|||
|---|---|---|---|
|
#18+
Читай HELP по функции и команде AFIELDS() COPY STRUCTURE EXTENDED Для корректного формирования таблицы достаточно 6 первых столбцов массива или 6 первых полей таблицы-макета. Разумеется, если нет необходимости создавать поля Integer-AutoIncrement. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2008, 10:54 |
|
||
|
Формирование файла
|
|||
|---|---|---|---|
|
#18+
AFIELDS(ArrayName [, nWorkArea | cTableAlias]) CREATE TABLE Mytable FROM ARRAY ArrayName Или: COPY STRUCTURE TO FileName [FIELDS FieldList] [[WITH] CDX | [WITH] PRODUCTION] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2008, 10:55 |
|
||
|
Формирование файла
|
|||
|---|---|---|---|
|
#18+
Всем спасибо, буду разбираться! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2008, 10:56 |
|
||
|
Формирование файла
|
|||
|---|---|---|---|
|
#18+
Наверно туплю... Или некорректно задал вопрос. Обе эти команды формируют файл, аналогичный по структуре исходному. У меня задача - формировать регулярно файл с некоторыми заданными полями из исходного файла. Для этой цели больше подходит COPY STRUCT, но как задать этот перечень (FieldList)? Можно, конечно, создать строку с перечнем полей через запятую и макросом добавить к команде, но если полей много - не будет ли слишком длинная строка? Может есть путь проще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2008, 11:09 |
|
||
|
Формирование файла
|
|||
|---|---|---|---|
|
#18+
Не совсем понятно, что надо сделать... 1. создать копию всей таблицы 2. создать копию части таблицы, т.е. только определенные поля 3. создать копию таблицы и добавить поля, которые отсутствуют в первой таблице 4. создать новую таблицу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2008, 11:28 |
|
||
|
Формирование файла
|
|||
|---|---|---|---|
|
#18+
StindНаверно туплю... Или некорректно задал вопрос. Обе эти команды формируют файл, аналогичный по структуре исходному. У меня задача - формировать регулярно файл с некоторыми заданными полями из исходного файла. Для этой цели больше подходит COPY STRUCT, но как задать этот перечень (FieldList)? Можно, конечно, создать строку с перечнем полей через запятую и макросом добавить к команде, но если полей много - не будет ли слишком длинная строка? Может есть путь проще? Оригинальный вопрос был: StindНужна такая констракшн - CREATE table c:\dat.dbf from array arr но не могу просечь, как формировать массив arr... В HELP по указанным командам описана СТРУКТУРА массива, который должен быть для корректной работы команды CREATE ... FROM ARRAY... Вот и СОЗДАЙ массив нужной структуры и заполни его своими данными Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Если таблица содержит поле Integer-AutoIncrement или должна быть включена в контейнер базы данных и иметь дополнительные триггера, правила, форматы полей, то заполняешь дополнительные столбцы. Из массива, сформированного по AFIELDS() можешь взять описание структуры полей таблицы-образца. В конце концов, можно создать таблицу просто выполнив запрос с "фиктивным" условием отбора. Чтобы в результирующую выборку не попало ни одной записи. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2008, 12:03 |
|
||
|
Формирование файла
|
|||
|---|---|---|---|
|
#18+
GoshaSНе совсем понятно, что надо сделать... 1. создать копию всей таблицы 2. создать копию части таблицы, т.е. только определенные поля 3. создать копию таблицы и добавить поля, которые отсутствуют в первой таблице 4. создать новую таблицу Вариант 2. В принципе, через макрос в команде сделал - работает. Но, опять же, не возникнет ситуации "слишком длинная строка"? Может есть способ погуманней? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2008, 12:05 |
|
||
|
Формирование файла
|
|||
|---|---|---|---|
|
#18+
2 ВладимирМ. Вот как раз и не мог "втянуть" как формировать массив. Теперь ясно - спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2008, 12:07 |
|
||
|
Формирование файла
|
|||
|---|---|---|---|
|
#18+
Stind GoshaS2. создать копию части таблицы, т.е. только определенные поля Вариант 2. В принципе, через макрос в команде сделал - работает. Но, опять же, не возникнет ситуации "слишком длинная строка"? Может есть способ погуманней? А испробовать религия не позволяет? И каким боком тут создание новой структуры? Обычный select <список полей> from <таблица> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2008, 12:10 |
|
||
|
Формирование файла
|
|||
|---|---|---|---|
|
#18+
проходящий. Stind GoshaS2. создать копию части таблицы, т.е. только определенные поля Вариант 2. В принципе, через макрос в команде сделал - работает. Но, опять же, не возникнет ситуации "слишком длинная строка"? Может есть способ погуманней? А испробовать религия не позволяет? И каким боком тут создание новой структуры? Обычный select <список полей> from <таблица> <список полей> - это здорово. Но в программе много раз формируются файлы с разныи набором полей из исходного файла. Ручками это прописать нельзя. Вот вопрос и был как автоматизировать этот процесс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2008, 12:24 |
|
||
|
Формирование файла
|
|||
|---|---|---|---|
|
#18+
Stind<список полей> - это здорово. Но в программе много раз формируются файлы с разныи набором полей из исходного файла. Ручками это прописать нельзя. Вот вопрос и был как автоматизировать этот процесс. Формаирование списка полей и формирование структуры - две совершенно разные вещи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2008, 12:29 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=35291828&tid=1587824]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
60ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
| others: | 226ms |
| total: | 379ms |

| 0 / 0 |
