![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Длинное имя? [D7, dBase, FoxPro]
av-mari © (2008-03-03 14:00:00)Работаю через ADO с dbf-файлом посредством ADOQuery
// p1 содержит имя файла договоров
p1:=ExtractFileName(ExpandFileName(fileDBF));
p1:=stringreplace(p1,'.','#',[]);
// p1 имеет значение 20П003_001_0001#dbf
TableDOG.SQL.Text:='Select * from ['+p1+']';
TableDOG.Open;
при попытке открытия запроса прога ругается. Установлено, что на длинное имя. Как можно обойти? В голову пришло - на лету переименовывать, брать данные и переименовывать обратно. Но это уж совсем некрасиво.
Спасибо!
Anatoly Podgoretsky (2008-03-04 16:36:00) [1]> av-mari (04.03.2008 08:04:07) [7]
Никак, но далее и смотреть уже не хочется, когда в первых строках ерунда.
Я так и поступил.
av-mari (2008-03-04 09:41:00) [2]
> Интересно, а с результатом функции LongToShortFileName таблица
> откроется?
Вроде получилось...
Спасибо
sniknik (2008-03-04 08:31:00) [3]> А что за хитрости с именем таблицы в запросе, зачем 20П003_001_0001#dbf, а не "20П003_001_0001.dbf", например?
чисто "пальцы погнуть", и так и так понимает, и вообще без расширения которое необязательно.
sniknik (2008-03-04 08:28:00) [4]> Имя менялось по-разному, поэтому и установлено, что с русскими буквами, но короткое до 8 симв.проходит на ура.
ну, я тоже не просто так сказал, взял приведенное тобой имя и проверил в паре движков, открылось... (хотя у тебя явно используется jet (второй уже лишний), который ты стесняешься приводить... как и тект ошибки. показатель #)
> По морде ударь себя.
а так это ты "установщик". а меня то за что? это же только LDM. а я к ним не отношусь.
ЮЮ (2008-03-04 08:24:00) [5]Интересно, а с результатом функции LongToShortFileName таблица откроется?
>Объект '20П003_001_0001'
А куда по ходу дела '#dbf' делось?
А что за хитрости с именем таблицы в запросе, зачем 20П003_001_0001#dbf, а не "20П003_001_0001.dbf", например?
av-mari (2008-03-04 08:16:00) [6]
> На матерном?
Объект '20П003_001_0001' не найден ядром базы данных Microsoft jet. проверьте существование объекта и правильность имени и пути.
av-mari (2008-03-04 08:06:00) [7]
> "установщику" по морде, и заново "устанавливать", теперь
> уже учитывая текст ошибки которым ругается.
Имя менялось по-разному, поэтому и установлено, что с русскими буквами, но короткое до 8 симв.проходит на ура. По морде ударь себя.
av-mari (2008-03-04 08:04:00) [8]
> Нифига себе, сначала расширяем, а потом сжимаем до оригинала,
> нафига?
Это как-то влияет на решение проблемы?
av-mari (2008-03-04 08:03:00) [9]
> не такое уж оно и длинное... а вот русские буквы да еще
> юникодом это нехорошо
Ничего не поделаешь, это выгрузка из другой программы
Anatoly Podgoretsky (2008-03-03 19:18:00) [10]> av-mari (03.03.2008 14:00:00) [0]
> p1:=ExtractFileName(ExpandFileName(fileDBF));
Нифига себе, сначала расширяем, а потом сжимаем до оригинала, нафига?
sniknik (2008-03-03 15:17:00) [11]не такое уж оно и длинное... а вот русские буквы да еще юникодом это нехорошо.
> Установлено, что на длинное имя.
"установщику" по морде, и заново "устанавливать", теперь уже учитывая текст ошибки которым ругается.
Johnmen (2008-03-03 14:57:00) [12]
> при попытке открытия запроса прога ругается.
На матерном?
av-mari (2008-03-03 14:49:00) [13]Все написано в вопросе
// p1 имеет значение 20П003_001_0001#dbf
Правильный_Вася (2008-03-03 14:05:00) [14]
> Установлено, что на длинное имя
длинное - это какое? пример