powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Специальные символы в имени файла acces 2003
10 сообщений из 10, страница 1 из 1
Специальные символы в имени файла acces 2003
    #39531406
СергейS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите пожалуйста.
Есть переменная с именем файла
F = "Log-2017-09-26.csv"
и запрос к нему
Rs.Open "select * from '" & F & "' , cnn

запрос ругается на недопустимое имя файла (подозреваю что на символ "-" в имени файла)

Подскажите как побороть ???
...
Рейтинг: 0 / 0
Специальные символы в имени файла acces 2003
    #39531409
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имена таблиц, полей, алиасы и пр. для устранения проблем подобного рода следует обрамлять квадратными скобками.
Код: vbnet
1.
Rs.Open "select * from [" & F & "] , cnn


А у Вас, с одинарными кавычками, вообще делается SELECT из строкового литерала...
...
Рейтинг: 0 / 0
Специальные символы в имени файла acces 2003
    #39531489
СергейS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
так то это имя файла, его нет возможности менять, без одинарных ковычек ничего не изменяется
...
Рейтинг: 0 / 0
Специальные символы в имени файла acces 2003
    #39531544
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как предложил Akina с квадратными скобками пробовали?
...
Рейтинг: 0 / 0
Специальные символы в имени файла acces 2003
    #39531571
Думаю, что "-" здесь ни при чем. Имя файла надо указывать либо в квадратных скобках (как вам уже советовали), либо (если нет пробелов в имени) так: Log-2017-09-26 # csv.
Другие csv файлы у вас открываются?
Если со скобками не получится - покажите строку подключения.
...
Рейтинг: 0 / 0
Специальные символы в имени файла acces 2003
    #39531740
СергейS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если вот так то все работает
cnn.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;" & _
"Extended Properties='Driver={Microsoft Text Driver (*.txt; *.csv)};" & _
"DriverId=27;Extensions=txt,csv,tab,asc;FIL=text;" & _
"MaxBufferSize=2048;PageTimeout=5" & _
"DefaultDir=" & DatabaseFullPath & ";" & _
"Data Source = " & DatabaseFullPath & "Log-2017-09-26.csv'"
cnn.CursorLocation = adUseClient
cnn.Open

Rs.Open "select * from " & DatabaseFullPath & "[Log-2017-09-26.csv]", cnn

подскажите как правильно написать строку подключения и запрос чтобы имя файла было в переменной
...
Рейтинг: 0 / 0
Специальные символы в имени файла acces 2003
    #39532039
СергейS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробывал вот так
cnn.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;" & _
"Extended Properties='Driver={Microsoft Text Driver (*.txt; *.csv)};" & _
"DriverId=27;Extensions=txt,csv,tab,asc;FIL=text;" & _
"MaxBufferSize=2048;PageTimeout=5" & _
"DefaultDir=" & DatabaseFullPath & ";" & _
"Data Source = [" & F & "] '"
cnn.CursorLocation = adUseClient
cnn.Open

Rs.Open "select * from [" & F & "] ", cnn

если F="D:\Log.csv" все работает
если F="D:\Log-2017-09-26.csv" Rs.Open ругается - [Microsoft][Драйвер ODBC Текст]объект 'D:\Log-2017-09-26.csv' не найден ядром базы данных Microsoft Jet

Помогите пожалуйста разобраться
...
Рейтинг: 0 / 0
Специальные символы в имени файла acces 2003
    #39532059
СергейS, попробуйте с другим провайдером:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
strPathtoTextFile = "C:\Databases\"

objConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
          "Data Source=" & strPathtoTextFile & ";" & _
          "Extended Properties=""text;HDR=YES;FMT=Delimited"""

objRecordset.Open "SELECT * FROM PhoneList.csv", _
          objConnection, adOpenStatic, adLockOptimistic, adCmdText
...
Рейтинг: 0 / 0
Специальные символы в имени файла acces 2003
    #39532063
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СергейSПопробывал вот так
cnn.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;" & _
"Extended Properties='Driver={Microsoft Text Driver (*.txt; *.csv)};" & _
"DriverId=27;Extensions=txt,csv,tab,asc;FIL=text;" & _
"MaxBufferSize=2048;PageTimeout=5" & _
"DefaultDir=" & DatabaseFullPath & ";" & _
"Data Source = [" & F & "] '"
cnn.CursorLocation = adUseClient
cnn.Open

Rs.Open "select * from [" & F & "] ", cnn

если F="D:\Log.csv" все работает
если F="D:\Log-2017-09-26.csv" Rs.Open ругается - [Microsoft][Драйвер ODBC Текст]объект 'D:\Log-2017-09-26.csv' не найден ядром базы данных Microsoft Jet

Помогите пожалуйста разобраться
кажись имя файла должно быть не более восьми символов (сократите до "D:\Log-2017.csv" и посмотрите, что будет, в крайнем случае можно именовать так "D:\20170926.csv")
...
Рейтинг: 0 / 0
Специальные символы в имени файла acces 2003
    #39532082
СергейS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое помогло использование другого провайдера
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Специальные символы в имени файла acces 2003
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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