
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
07.12.2018, 15:09
|
|||
|---|---|---|---|
|
|||
ADODataSet при коннекте к файлу Excel |
|||
|
#18+
Здравствуйте. Создал подключение элемента ADODataSet к файлу excel. На одном компьютере работает отлично. При запуске программы на другом компьютере - выдает ошибку пути (см. картинку), как сделать путь к файлу с таблицей такой, чтобы можно было запустить программу на другом компьютере без ошибок? Проблема именно в пути. Если поменять в ручную, то нормально работает, а что если на другом компьютере не окажется Делфи, чтобы изменить путь? Вот в этом проблема. Прошу помощи! http://prntscr.com/lrxt4k ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.12.2018, 15:20
|
|||
|---|---|---|---|
ADODataSet при коннекте к файлу Excel |
|||
|
#18+
EasyCodeПроблема именно в пути. Русские буквы? Пробелы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.12.2018, 15:29
|
|||
|---|---|---|---|
|
|||
ADODataSet при коннекте к файлу Excel |
|||
|
#18+
wadman, Нет. На данный момент - G:\Rasschet\Project1.exe Дело в том, что я не знаю на другом компьютере какая буква будет и не могу путь прописать именно для другого компьютера, чтоб там работало. У меня на компьютере все нормально функционирует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.12.2018, 15:42
|
|||
|---|---|---|---|
|
|||
ADODataSet при коннекте к файлу Excel |
|||
|
#18+
EasyCodeЕсли поменять в ручную, то нормально работает, а что если на другом компьютере не окажется Делфи, чтобы изменить путь? Вот в этом проблема. TOpenFileDialog уже отменили? Заставь пользователя выбирать нужный ему файл Экселя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.12.2018, 15:45
|
|||
|---|---|---|---|
|
|||
ADODataSet при коннекте к файлу Excel |
|||
|
#18+
DarkMaster, Дело в том, что по функционалу программы, пользователь не должен сам открывать файл. Эта таблица используется как БД для последующих процедур в программе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.12.2018, 15:48
|
|||
|---|---|---|---|
ADODataSet при коннекте к файлу Excel |
|||
|
#18+
EasyCodeДело в том, что по функционалу программы, пользователь не должен сам открывать файл. Указать расположение файла и открыть его - разные операции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.12.2018, 15:51
|
|||
|---|---|---|---|
|
|||
ADODataSet при коннекте к файлу Excel |
|||
|
#18+
wadman, Это я понимаю. В коде запрос к таблице 1 раз только используется, когда ищет значение из таблицы. Дальше запросов к таблице нет. Она даже не открывается в программе, ее пользователь вообще не видит и не должен. Путь прописать как правильно, чтоб программа вообще открывалась без этой ошибки, вот в чем вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.12.2018, 15:54
|
|||
|---|---|---|---|
|
|||
ADODataSet при коннекте к файлу Excel |
|||
|
#18+
EasyCodewadman, Путь прописать как правильно, чтоб программа вообще открывалась без этой ошибки, вот в чем вопрос. Ну так держи рядом к программой файл настроек (да хоть ini тот же) где и храни правильный путь для пользователя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.12.2018, 15:56
|
|||
|---|---|---|---|
ADODataSet при коннекте к файлу Excel |
|||
|
#18+
1) Не указан драйвер. Странно. 2) У тебя в ADOConnection всегда забиты твои настройки. Даже свойство Connected будет именно в том состоянии, в котором находилось в момент компиляции. Поскольку оно становится активным при любых попытках что-то получить из базы при разработке, то на другом компе оно просто полезет по твоим настройкам. Меня в свое время это настолько достало, что сейчас в любом DataModule, где лежит соединение (не только ADO касается). Первым делом выполняю сразу в onCreate Код: pascal 1. 2. 3. 4. 5. Т. е. даже под отладкой не допускаю запуска с активным соединением. 3) Посмотри строку соединения. Тебе нужно все эти параметры как-то сохранить и при запуске программа должна их считать. На их основе собираешь строку соединения и подключаешься. Как именно будешь сохранять это уже на твое усмотрение. Только с прочими настройками не следует мешать. Если у тебя файл Access, то можно путь к нему делать относительным. Ну или в папку с прогой положить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.12.2018, 16:02
|
|||
|---|---|---|---|
|
|||
ADODataSet при коннекте к файлу Excel |
|||
|
#18+
Вот что в ConnectionString указано авторProvider=MSDASQL.1;Persist Security Info=False;Extended Properties="DBQ=D:\table.russia.xls;DefaultDir=D:\;Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DriverId=1046;FIL=excel 12.0;FILEDSN=D:\table.russia.xls.dsn;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;ReadOnly=1;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes;" Просто это настройки для моего ПК, а на другом ПК допустим будет буква не D, а "E". И я не знаю как прописать путь так, чтобы он смог считывать эту таблицу и на другом ПК. Сам файл таблицы лежит в основной папке с программой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.12.2018, 16:03
|
|||
|---|---|---|---|
|
|||
ADODataSet при коннекте к файлу Excel |
|||
|
#18+
DarkMaster, Вот именно что, то что правильного пути на другом ПК нет. Потому что буква диска с расположением программы постоянно меняется. На разных ПК по разному. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.12.2018, 16:36
|
|||
|---|---|---|---|
|
|||
ADODataSet при коннекте к файлу Excel |
|||
|
#18+
EasyCodeВот именно что, то что правильного пути на другом ПК нет. Потому что буква диска с расположением программы постоянно меняется. На разных ПК по разному.Вот для подобных задач и существуют конфиги для программ. А где они лежат - в ini-файлах, реестре, базе данных, локально, удаленно и т.д и т.п. или каждый раз спрашиваются у юзера - решаешь ты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.12.2018, 16:40
|
|||
|---|---|---|---|
|
|||
ADODataSet при коннекте к файлу Excel |
|||
|
#18+
EasyCode, Вот это: Код: plaintext Замени на: Код: plaintext 1. Строчку хранишь в ini. На старте приложения читаешь строку из ini. Делаешь замену %%DIRNAME%% и %%TABLENAME%% на путь к файлу и директорию по умолчанию для пользователя и спокойно работаешь. DIRNAME и TABLENAME хранишь в Ini. И настраиваешь для каждого конкретного пользователя... Аминь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.12.2018, 16:41
|
|||
|---|---|---|---|
|
|||
ADODataSet при коннекте к файлу Excel |
|||
|
#18+
DarkMaster, А ну и FILEDSN не забыть. По аналогии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=58&mobile=1&tid=2040028]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
164ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 470ms |

| 0 / 0 |
