:: Visual Foxpro, Foxpro for DOS
Длинные имена полей
Фоксер
Автор

Сообщений: 125
Откуда: Бостон, USA
Дата регистрации: 12.07.2008
Такой вопрос, может кто-то сталкивался...
Имеется куча файлов в Excel. Все бы ничего, да нужно информацию из них запихать в FOХ. Дело в том, что заголовки столбцов имеют имена длиннее 10 символов, разрешаемые FОХом. Можно, конечно, нарисовать большой и длинный DO CASE... Обязательно ли создавать DBC что бы использовать длинные имена полей? Или можно как-то обойти 10 симв. лимит?


------------------
Фоксер
Ratings: 0 negative/0 positive
Re: Длинные имена полей
Sawradym

Сообщений: 2244
Откуда: Винница
Дата регистрации: 15.05.2007
Курсоры могут содержать поля > 10 символов. Для таблиц обязательно наличие DBC.
Ratings: 0 negative/0 positive
Re: Длинные имена полей
Фоксер
Автор

Сообщений: 125
Откуда: Бостон, USA
Дата регистрации: 12.07.2008
Пробовал. Почему-то не берет...
create cursor tPats(ChartNum c(8),"First Name" c(15),"Last Name" c(20),"Street 1" c(30),City c(30),State c(2),"Zip Code" c(10))
Ошибка: Syntax Error


------------------
Фоксер
Ratings: 0 negative/0 positive
Re: Длинные имена полей
Влад Колосов

Сообщений: 22664
Откуда: Ростов-на-Дону
Дата регистрации: 05.05.2005
Как объяснить пробелы в именах? Что пишет хелп по поводу названия полей?


------------------
Совершенство - это не тогда, когда нельзя
ничего прибавить, а тогда, когда нечего убавить.
Ratings: 0 negative/0 positive
Re: Длинные имена полей
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Потому что имя поля, как и любой дргой фоксовый идентификатор, не модет содержать внутри себя пробела. Это есть в хелпе. Статья "Field Creation" и оттуда ссылка на статью "Creating Visual FoxPro Names"


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Длинные имена полей
s.e.r.g.e.y.

Сообщений: 2838
Откуда: Киев
Дата регистрации: 22.04.2005
А если так ?
create cursor tPats(ChartNum c(8),"First_Name" c(15),"Last_Name" c(20),"Street_1" c(30),City c(30),State c(2),"Zip_Code" c(10))
Ratings: 0 negative/0 positive
Re: Длинные имена полей
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Кавычки без надобности.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Длинные имена полей
Фоксер
Автор

Сообщений: 125
Откуда: Бостон, USA
Дата регистрации: 12.07.2008
Пробовал по разному. Дело в том, что многие умена полей начинаются одинаково. Например:
Insured1_name, Insured1_Street_1, Insured1_policy_number и т.д.


------------------
Фоксер
Ratings: 0 negative/0 positive
Re: Длинные имена полей
Фоксер
Автор

Сообщений: 125
Откуда: Бостон, USA
Дата регистрации: 12.07.2008
2 s.r.g.e.y.
Спасибо, пробовал уже


------------------
Фоксер
Ratings: 0 negative/0 positive
Re: Длинные имена полей
s.e.r.g.e.y.

Сообщений: 2838
Откуда: Киев
Дата регистрации: 22.04.2005
Фоксер
2 s.r.g.e.y.
Спасибо, пробовал уже
И, что ?
У меня например вот так.
[attachment 8811 tmp.JPG]
Ratings: 0 negative/0 positive
Re: Длинные имена полей
Фоксер
Автор

Сообщений: 125
Откуда: Бостон, USA
Дата регистрации: 12.07.2008
Посмотри, пожалуйста, предыдущий пост
Имена полей начинаются одинаково. Собственно, искал что-то, что могло бы помочь без создания DBC...
Ладно, буду искать другой выход...



------------------
Фоксер
Ratings: 0 negative/0 positive
Re: Длинные имена полей
Фоксер
Автор

Сообщений: 125
Откуда: Бостон, USA
Дата регистрации: 12.07.2008
You specify names for fields as you build a table. For free tables, field names can be up to 10 characters long. For database tables, field names can be up to 128 characters long.

Никаких ограничений на символы (кроме служебных &,\./ и т.д.) нет.


------------------
Фоксер
Ratings: 0 negative/0 positive
Re: Длинные имена полей
s.e.r.g.e.y.

Сообщений: 2838
Откуда: Киев
Дата регистрации: 22.04.2005
Ну и что ?
[attachment 8812 Áåçûìÿííûé.JPG]
Ratings: 0 negative/0 positive
Re: Длинные имена полей
reware

Сообщений: 4116
Откуда: Хабаровск
Дата регистрации: 21.07.2008
Фоксер
Пробовал по разному. Дело в том, что многие умена полей начинаются одинаково. Например:
Insured1_name, Insured1_Street_1, Insured1_policy_number и т.д.
Начинаются, ну и бог с ними. Кончаются-то по разному. Чем не нравится подчеркивание вместо пробелов ?
Ratings: 0 negative/0 positive
Re: Длинные имена полей
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Фоксер
Никаких ограничений на символы (кроме служебных &,\./ и т.д.) нет.
Следует до конца читать. Я привёл названия 2-х разделов хелпа. В первом написано.
Цитата:
For database fields, Visual FoxPro stores the first 10 characters of the field name in the table (.dbf) file and the long name for the field in the database (.dbc) file. The rules for creating long field names are the same as those for creating any Visual FoxPro identifier except that database field names can contain up to 128 characters. For more information, see Creating Visual FoxPro Names
Во втором, по ссылке соответсвенно:
Цитата:
Data containers and some parameters to commands and functions require a name. When you create a name in Visual FoxPro, apply the following rules:
-Use only letters, underscores, and numbers.
-Begin the name with a letter or underscore.
-Use 1 to 128 characters, except for field names in free tables and index tags — those can be 10 characters at most.
-Avoid words reserved by Visual FoxPro.
Мне кажется, что вполне чётко сказано.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Длинные имена полей
XAndy

Сообщений: 3803
Откуда: Киев
Дата регистрации: 05.02.2004
Сделать таблицу соответствия наименования полей xls_tbl, xls_fld, vfp_tbl, vfp_fld. Мало ли что там в excel может быть...
Ratings: 0 negative/0 positive
Re: Длинные имена полей
pmmick

Сообщений: 46
Дата регистрации: 23.10.2008
Можно попробовать пойти другим путем:
Открыть файл в Excel (ручками или программно)
и сохранить его как dbf. Дальше работать с dbf.

Или в том же духе:
Вставить в начало файла строку с названиями полей
и сохранить как dbf...

(Excel при сохранении в dbf использует первую
строку как названия полей)
Ratings: 0 negative/0 positive
Re: Длинные имена полей
s.e.r.g.e.y.

Сообщений: 2838
Откуда: Киев
Дата регистрации: 22.04.2005
pmmick
Можно попробовать пойти другим путем:
Открыть файл в Excel (ручками или программно)
и сохранить его как dbf. Дальше работать с dbf.

Или в том же духе:
Вставить в начало файла строку с названиями полей
и сохранить как dbf...

(Excel при сохранении в dbf использует первую
строку как названия полей)
Офис 2007 уже не дает возможности сохранить таблицу как dbf
Ratings: 0 negative/0 positive
Re: Длинные имена полей
pmmick

Сообщений: 46
Дата регистрации: 23.10.2008
Да, это так. Есть правда платные конверторы XlsToDbf,
например здесь www.whitetown.com

Не обязательно сохранять в dbf.
можно попробовать в xml а потом из xml в курсор (я правда так не пробовал,
но как вариант...)
Ratings: 0 negative/0 positive
Re: Длинные имена полей
Фоксер
Автор

Сообщений: 125
Откуда: Бостон, USA
Дата регистрации: 12.07.2008
Спасибо всем за советы.
Вышел из положения читая данные прямо из Excel, как посоветовал один из форумчан.
Дело в том, что Excel-файлы приходяы из разных источников и соданы разными версиями (начиная с Excel 95...)
Читая данные при помощи Object-ов решило проблему.



------------------
Фоксер
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 24 nik_l  (Гостей: 23)

© 2000-2024 Fox Club 
Яндекс.Метрика