|
|
|
Не могу разобрать правильно строку через SUBSTR и AT
|
|||
|---|---|---|---|
|
#18+
Нужно выгрузить в файл данные о сотрудниках. Код: plaintext 1. 2. проблема вот с этим SUBSTR(adr_cntr, AT(',', adr_cntr, 1), AT(',', adr_cntr, 2) - AT(',', adr_cntr, 1)) выделяет только одну запятую. Если так, то тоже только одну запятую. SUBSTR(adr_cntr, AT(',', adr_cntr, 1), 20) работает только вот такой вариант SUBSTR(adr_cntr, 2, 20) но он не подходит, естественно. Где я не прав? VFOXPRO 7 SP1 P.S. СРОЧНО ПОМОГИТЕ! Люди, помогите весне победить зиму!Пожалуйста, жрите снег!Отошли 20 своим друзьям, ведь только объединившись все вместе, мы сожрем его быстрее. P.S.: Желтый снег не жрите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2007, 12:55 |
|
||
|
Не могу разобрать правильно строку через SUBSTR и AT
|
|||
|---|---|---|---|
|
#18+
Приведи пример adr_cntr и что с ней надо сделать? Нужны запятые или все таки подстроки между запятыми?Какой результат должен быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2007, 13:04 |
|
||
|
Не могу разобрать правильно строку через SUBSTR и AT
|
|||
|---|---|---|---|
|
#18+
Вместо AT() попробуй GETWORDNUM() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2007, 13:17 |
|
||
|
Не могу разобрать правильно строку через SUBSTR и AT
|
|||
|---|---|---|---|
|
#18+
Окружи результат поиска функцией PADR(...,LEN(adr_cntr)) PADR(SubStr(...),LEN(adr_cntr)) Если этого не сделать, то размерность поля будет установлена по размерности первого найденного значения. Если в первой строчке ничего не нашли, то размерность будет C(1). В такой размер уже вообще ничего не влезет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2007, 14:05 |
|
||
|
Не могу разобрать правильно строку через SUBSTR и AT
|
|||
|---|---|---|---|
|
#18+
ВладимирМОкружи результат поиска функцией PADR(...,LEN(adr_cntr)) PADR(SubStr(...),LEN(adr_cntr)) Если этого не сделать, то размерность поля будет установлена по размерности первого найденного значения. Если в первой строчке ничего не нашли, то размерность будет C(1). В такой размер уже вообще ничего не влезет. Спасибо, получилось как надо. Действительно, иногда в запросах необходимо принудительно устанавливать размер поля. В моем случае на первый взгляд в этом не было необходимости, однако пришлось так сделать. Sergey Sizov.Приведи пример adr_cntr и что с ней надо сделать? Нужны запятые или все таки подстроки между запятыми?Какой результат должен быть? Это выгрузка адреса для какого-то отчета в Excel. В поле это лежит в одну строку, где значения разделены запятыми: Москва г,,,,Липецкая ул,54/21,,112 Конечный результат должен попасть в Excel, где это список храниться разделенным на отдельные ячейки. На первый взгляд показалось, что на Фоксе это будет самый быстрый вариант - фактически в один запрос, но вот столкнулся с проблемой с размерностью поля. Хотя если бы я бы внимательнее, я бы быстрее эту проблему решил. Возникла новая проблема, полученный dbf файл ни в какую не хотел открываться excel-ем. Как сделать выгрузку из Fox-а напрямую в excel разбираться уже было некогда (хотя на будущее обязательно надо будет это сделать, пригодиться) задачу переписал на встроенном языке (xHarbour - так как выгрузку делал из БЭСТ-5) с выгрузкой в Excel напрямую. Большое спасибо за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2007, 14:31 |
|
||
|
Не могу разобрать правильно строку через SUBSTR и AT
|
|||
|---|---|---|---|
|
#18+
DmitryOrlovЭто выгрузка адреса для какого-то отчета в Excel. В поле это лежит в одну строку, где значения разделены запятыми: Москва г,,,,Липецкая ул,54/21,,112 Конечный результат должен попасть в Excel, где это список храниться разделенным на отдельные ячейки. На первый взгляд показалось, что на Фоксе это будет самый быстрый вариант - фактически в один запрос, но вот столкнулся с проблемой с размерностью поля. Хотя если бы я бы внимательнее, я бы быстрее эту проблему решил. Возникла новая проблема, полученный dbf файл ни в какую не хотел открываться excel-ем. Как сделать выгрузку из Fox-а напрямую в excel разбираться уже было некогда (хотя на будущее обязательно надо будет это сделать, пригодиться) задачу переписал на встроенном языке (xHarbour - так как выгрузку делал из БЭСТ-5) с выгрузкой в Excel напрямую. Большое спасибо за помощь. Ну, Эксель такие файлы понимает... Надо только запятые сменить на точку-с-запятой и дать файлу расширение csv... Однако остается ограничение в размерах - не более 65 535 строк (именно столько влазит на страницу Экселя)... А заменить запятые на точку-с-запятой можно в простом тектсовом редакторе... И никакого шаманства... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2007, 14:46 |
|
||
|
Не могу разобрать правильно строку через SUBSTR и AT
|
|||
|---|---|---|---|
|
#18+
Станислав СНу, Эксель такие файлы понимает... Надо только запятые сменить на точку-с-запятой и дать файлу расширение csv... Однако остается ограничение в размерах - не более 65 535 строк (именно столько влазит на страницу Экселя)... А заменить запятые на точку-с-запятой можно в простом тектсовом редакторе... И никакого шаманства... я делаю "select ... from mytable into c:\reestr.dbf" Если я поменяю расширение на csv, у меня разве формат выгрузки поменяеться с dbf на текстовый? Сомневаюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2007, 15:03 |
|
||
|
|

start [/forum/topic.php?fid=41&tid=1589783]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 199ms |
| total: | 354ms |

| 0 / 0 |
