![]() |
|
Модераторы: mihanik |
![]()
|
|
| ПервыйРазВЕкселе |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 15.12.2008 Где: Челябинская облас ть Репутация: нет Всего: нет |
Имеется книга Excel с базой данных на листе1, создал запрос на выборку через мастер подключений и поместил результаты запроса на лист2, проделал всё это при включенной записи макроса. Загвоздка в том что в коде VBA в строке connect прописывается полный путь к файлу и при его перемещении в другую папку запрос престаёт работать. Можно ли обойтись без всех этих полных путей, чтобы можно было файл поместить на любой компьютер и зопрос работал???
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 26 Всего: 454 |
А поправить код, записанный макрорекордером, религия не позволяет, что ли?
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| ТоляМБА |
|
||||||
![]() Котэ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1607 Регистрация: 15.12.2004 Репутация: нет Всего: 252 |
|
||||||
|
|||||||
| ПервыйРазВЕкселе |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 15.12.2008 Где: Челябинская облас ть Репутация: нет Всего: нет |
Akina, это мне придётся при каждом перемещении файла поправлять код, хотелось бы чиобы файл и запрос в нём были абсолютно автономны. Может тогда скажешь что такое Recordset, как его создавать и с чем его едят?
|
|||
|
||||
| Akina |
|
||||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 26 Всего: 454 |
Нет
Не скажу - прочитайте встроенную справку самостоятельно. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||
|
|||||
| ПервыйРазВЕкселе |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 15.12.2008 Где: Челябинская облас ть Репутация: нет Всего: нет |
Akina, снова о запросе, я пробовал изменить код
QueryTables.add(connection:=array.......дальше идёт DefaultDir="путь к папке в которой находится мой файл" когда файл премещаешь путь становится неправильным, пробовал совсем его убирать выдаётся сообщение об ошибке, пробовал чтобы путь задавался автоматически с помощью Application.DefaultFilePath выдаётся такое сообщение "неправильно задан путь C:/Мои документы/Application.DefaultFilePath" |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 26 Всего: 454 |
Неудивительно - кто сказал, что конкатенация обозначается во всех языках так же, как ПХП? справку-то надо иногда читать... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| ПервыйРазВЕкселе |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 15.12.2008 Где: Челябинская облас ть Репутация: нет Всего: нет |
Akina, в том то и дело, что без DefaultDir=..... запрос не работает. Если в строке DefaultDir ничего не пишу, в надежде что запрос автоматически обратиться к активной книге, то запрос не работает. Если в DefaultDir вписываю Application.DefaultFilePath (возвращает путь к папке, содержащей файл) то выводится сообщение что путь не верный и Application.DefaultFilePath вписывает в путь, получается что то вроде C:/Мои документы/Работа/Application.DefaultFilePath. Читал справку в Excel по VB С ПЕРЕВОДЧИКОМ и ничего подходящего не нашёл.
|
|||
|
||||
| kapbepucm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: 3 Всего: 12 |
Может код покажешь?
-------------------- (С) kapbepucm |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 26 Всего: 454 |
Код - в студию... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| ПервыйРазВЕкселе |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 15.12.2008 Где: Челябинская облас ть Репутация: нет Всего: нет |
Akina,
Sub Макрос3() Range("F14").Select With ActiveSheet.QueryTables.Add(Connection:="ODBC;DSN=Файлы Excel;DBQ=База.xls;DefaultDir=C:\Documents and Settings\Мои документы\", Destination:=Range("F14")) .CommandText = Array( _ "SELECT протокол.`дата протокола`, протокол.Номер, протокол.`кто составил`, протокол.нарушитель" & Chr(13) & "" & Chr(10) & "FROM протокол протокол" & Chr(13) & "" & Chr(10) & "WHERE (протокол.нарушитель<>0)" _ ) .Name = "Запрос из Файлы Excel_1" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = True .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .PreserveColumnInfo = True .Refresh BackgroundQuery:=False End With Columns("F:F").ColumnWidth = 6.57 Columns("G:G").ColumnWidth = 29.57 Columns("H:H").ColumnWidth = 16.43 Columns("I:I").ColumnWidth = 11# End Sub Вот такая загогулина. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 26 Всего: 454 |
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| ПервыйРазВЕкселе |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 15.12.2008 Где: Челябинская облас ть Репутация: нет Всего: нет |
Akina,
Мне бы твои мозги, последний вопрос, можно ли научиться нормально программировать читая учебники? |
|||
|
||||
| kapbepucm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: 3 Всего: 12 |
Возможно, только ещё практика нужна.
-------------------- (С) kapbepucm |
|||
|
||||
![]()
|
| Правила форума "Программирование, связанное с MS Office" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще!
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Программирование, связанное с MS Office | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |