Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/query excel источник данных и рабочий файл в одной папке - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
query excel источник данных и рабочий файл в одной папке
makc1985 Дата: Четверг, 24.07.2014, 11:36 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Здравствуйте подскажите пожалуйста, создал запрос query, который берет данные из файла источника(БДДС.xlsx), и файл источник и рабочий файл лежит в одной папке, все нормально работает, но когда я эту папку перемещаю в другое место на диске или на другой компьютер он ругается, что не может найти источник данных.
Данные -> подключения -> свойства -> строка подключения сейчас такая
DSN=Excel Files;DBQ=C:\Информационное поле\БДДС.xlsx;DefaultDir=C:\Информационное поле;DriverId=1046;MaxBufferSize=2048;PageTimeout=5;
я так понимаю, что здесь нужно прописать, как то указать, что файл источник лежит в той же папке что и рабочий файл. А как прописать?
Помогите пожалуйста весь интернет перерыл ничего не нашел.
К сообщению приложен файл: 4771346.jpg (52.6 Kb)
 
Ответить
СообщениеЗдравствуйте подскажите пожалуйста, создал запрос query, который берет данные из файла источника(БДДС.xlsx), и файл источник и рабочий файл лежит в одной папке, все нормально работает, но когда я эту папку перемещаю в другое место на диске или на другой компьютер он ругается, что не может найти источник данных.
Данные -> подключения -> свойства -> строка подключения сейчас такая
DSN=Excel Files;DBQ=C:\Информационное поле\БДДС.xlsx;DefaultDir=C:\Информационное поле;DriverId=1046;MaxBufferSize=2048;PageTimeout=5;
я так понимаю, что здесь нужно прописать, как то указать, что файл источник лежит в той же папке что и рабочий файл. А как прописать?
Помогите пожалуйста весь интернет перерыл ничего не нашел.

Автор - makc1985
Дата добавления - 24.07.2014 в 11:36
_Boroda_ Дата: Четверг, 24.07.2014, 11:45 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16916
Репутация: 6617 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Макросом можно. Что-то типа этого
[vba]
Код
Sub tt()
p_ = ThisWorkbook.Path
n_ = ThisWorkbook.Name
DBQ_ = p_ & "\" & n_
DSN_ = "Excel Files;DBQ=" & DBQ_ & ";DefaultDir=" & p_ & ";DriverId=1046;MaxBufferSize=2048;PageTimeout=5;"
DSN = DSN_
End Sub
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеМакросом можно. Что-то типа этого
[vba]
Код
Sub tt()
p_ = ThisWorkbook.Path
n_ = ThisWorkbook.Name
DBQ_ = p_ & "\" & n_
DSN_ = "Excel Files;DBQ=" & DBQ_ & ";DefaultDir=" & p_ & ";DriverId=1046;MaxBufferSize=2048;PageTimeout=5;"
DSN = DSN_
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 24.07.2014 в 11:45
Pelena Дата: Четверг, 24.07.2014, 11:59 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 19530
Репутация: 4637 ±
Замечаний: ±

Excel 365 & Mac Excel
makc1985, посмотрите эту тему


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщениеmakc1985, посмотрите эту тему

Автор - Pelena
Дата добавления - 24.07.2014 в 11:59
makc1985 Дата: Четверг, 24.07.2014, 12:02 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Макросом можно. Что-то типа этого

Че то не помогает, сделал кнопку запихнул макрос в нее и все равно та же ошибка??Или я не так че то делаю?
 
Ответить
Сообщение
Макросом можно. Что-то типа этого

Че то не помогает, сделал кнопку запихнул макрос в нее и все равно та же ошибка??Или я не так че то делаю?

Автор - makc1985
Дата добавления - 24.07.2014 в 12:02
makc1985 Дата: Четверг, 24.07.2014, 12:45 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
и положите файл с этим макросом сюда.


Это имеете ввиду?
макрос назвал запрос
К сообщению приложен файл: 9693310.xlsm (42.1 Kb)
 
Ответить
Сообщение
и положите файл с этим макросом сюда.


Это имеете ввиду?
макрос назвал запрос

Автор - makc1985
Дата добавления - 24.07.2014 в 12:45
_Boroda_ Дата: Четверг, 24.07.2014, 13:53 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 16916
Репутация: 6617 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Не совсем так. Мне нужно, чтобы Вы ЗАНОВО, с самого начала создали нужный запрос. Тогда там будут все данные - и те, которые потом нужно поменять, и те, которые нужно оставить неизменными.
Примерный вид макроса такой[vba]
Код
Sub Макрос4()
     Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
     With ActiveWorkbook.Connections("Запрос из Excel Files1").ODBCConnection
         .BackgroundQuery = True
         .CommandText = Array( _
         "SELECT `'Реальный пример$'`.Boroda, `'Реальный пример$'`.Расходы, `'Реальный пример$'`.`692399`, `'Реальный пример$" _
         , _
         "'`.F4" & Chr(13) & "" & Chr(10) & "FROM `C:\Мои\Стереть\1231557.xls`.`'Реальный пример$'` `'Реальный пример$'`" _
         )
         .CommandType = xlCmdSql
         .Connection = _
         "ODBC;DSN=Excel Files;DBQ=C:\Мои\Стереть\1231557.xls;DefaultDir=C:\Мои\Стереть;DriverId=1046;MaxBufferSize=2048;PageTimeout=3;"
         .RefreshOnFileOpen = False
         .SavePassword = False
         .SourceConnectionFile = ""
         .SourceDataFile = ""
         .ServerCredentialsMethod = xlCredentialsMethodIntegrated
         .AlwaysUseConnectionFile = False
     End With
     With ActiveWorkbook.Connections("Запрос из Excel Files1")
         .Name = "Запрос из Excel Files1"
         .Description = ""
     End With
End Sub
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеНе совсем так. Мне нужно, чтобы Вы ЗАНОВО, с самого начала создали нужный запрос. Тогда там будут все данные - и те, которые потом нужно поменять, и те, которые нужно оставить неизменными.
Примерный вид макроса такой[vba]
Код
Sub Макрос4()
     Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
     With ActiveWorkbook.Connections("Запрос из Excel Files1").ODBCConnection
         .BackgroundQuery = True
         .CommandText = Array( _
         "SELECT `'Реальный пример$'`.Boroda, `'Реальный пример$'`.Расходы, `'Реальный пример$'`.`692399`, `'Реальный пример$" _
         , _
         "'`.F4" & Chr(13) & "" & Chr(10) & "FROM `C:\Мои\Стереть\1231557.xls`.`'Реальный пример$'` `'Реальный пример$'`" _
         )
         .CommandType = xlCmdSql
         .Connection = _
         "ODBC;DSN=Excel Files;DBQ=C:\Мои\Стереть\1231557.xls;DefaultDir=C:\Мои\Стереть;DriverId=1046;MaxBufferSize=2048;PageTimeout=3;"
         .RefreshOnFileOpen = False
         .SavePassword = False
         .SourceConnectionFile = ""
         .SourceDataFile = ""
         .ServerCredentialsMethod = xlCredentialsMethodIntegrated
         .AlwaysUseConnectionFile = False
     End With
     With ActiveWorkbook.Connections("Запрос из Excel Files1")
         .Name = "Запрос из Excel Files1"
         .Description = ""
     End With
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 24.07.2014 в 13:53
makc1985 Дата: Понедельник, 28.07.2014, 04:01 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Не совсем так. Мне нужно, чтобы Вы ЗАНОВО, с самого начала создали нужный запрос. Тогда там будут все данные - и те, которые потом нужно поменять, и те, которые нужно оставить неизменными.
Примерный вид макроса такой

Здравствуйте
Может вот так?
[vba]
Код

Sub Снуля()
'
' Снуля Макрос
'

'
     ActiveWorkbook.Worksheets.Add
     With ActiveSheet.ListObjects.Add(SourceType:=0, Destination:=Range("$A$1")) _
         .QueryTable
         .RowNumbers = False
         .FillAdjacentFormulas = False
         .PreserveFormatting = True
         .RefreshOnFileOpen = False
         .BackgroundQuery = True
         .RefreshStyle = xlInsertDeleteCells
         .SavePassword = False
         .SaveData = True
         .AdjustColumnWidth = True
         .RefreshPeriod = 0
         .PreserveColumnInfo = True
         .ListObject.DisplayName = "Таблица_Запрос_из_Excel_Files"
         .Refresh BackgroundQuery:=False
     End With
     ActiveWindow.SmallScroll Down:=-12
     Range("B6").Select
     With ActiveWorkbook.Connections("Запрос из Excel Files").ODBCConnection
         .BackgroundQuery = True
         .CommandText = Array( _
         "SELECT `БДДС$`.Дата, `БДДС$`.`Денежный фонд`, `БДДС$`.`№ бухг#`, `БДДС$`.`Вид операции`, `БДДС$`.`Форма расчета`, `" _
         , _
         "БДДС$`.`Конечный контрагент`, `БДДС$`.`Промежуточный контрагент`, `БДДС$`.Назначение, `БДДС$`.Сумма" & Chr(13) & "" & Chr(10) & "FROM `C:\Users" _
         , _
         "\86\Desktop\123\Информационное поле\БДДС.xlsx`.`БДДС$` `БДДС$`" & Chr(13) & "" & Chr(10) & "WHERE (`БДДС$`.`Вид движения ДС`=?) AND (`БДДС$`.ЦФ" _
         , "О=?) AND (`БДДС$`.`Статья бюджета`=?) AND (`БДДС$`.Дата Between ? And ?)")
         .CommandType = xlCmdSql
         .Connection = Array(Array( _
         "ODBC;DSN=Excel Files;DBQ=C:\Users\86\Desktop\123\Информационное поле\БДДС.xlsx;DefaultDir=C:\Users\86\Desktop\123\Информационное пол" _
         ), Array("е;DriverId=1046;MaxBufferSize=2048;PageTimeout=5;"))
         .RefreshOnFileOpen = False
         .SavePassword = False
         .SourceConnectionFile = ""
         .SourceDataFile = ""
         .ServerCredentialsMethod = xlCredentialsMethodIntegrated
         .AlwaysUseConnectionFile = False
     End With
     With ActiveWorkbook.Connections("Запрос из Excel Files")
         .Name = "Запрос из Excel Files"
         .Description = ""
     End With
     ActiveWorkbook.Connections("Запрос из Excel Files").Refresh
     Range("M1:M3").Select
     Selection.Borders(xlDiagonalDown).LineStyle = xlNone
     Selection.Borders(xlDiagonalUp).LineStyle = xlNone
     With Selection.Borders(xlEdgeLeft)
         .LineStyle = xlContinuous
         .ColorIndex = 0
         .TintAndShade = 0
         .Weight = xlThin
     End With
     With Selection.Borders(xlEdgeTop)
         .LineStyle = xlContinuous
         .ColorIndex = 0
         .TintAndShade = 0
         .Weight = xlThin
     End With
     With Selection.Borders(xlEdgeBottom)
         .LineStyle = xlContinuous
         .ColorIndex = 0
         .TintAndShade = 0
         .Weight = xlThin
     End With
     With Selection.Borders(xlEdgeRight)
         .LineStyle = xlContinuous
         .ColorIndex = 0
         .TintAndShade = 0
         .Weight = xlThin
     End With
     With Selection.Borders(xlInsideVertical)
         .LineStyle = xlContinuous
         .ColorIndex = 0
         .TintAndShade = 0
         .Weight = xlThin
     End With
     With Selection.Borders(xlInsideHorizontal)
         .LineStyle = xlContinuous
         .ColorIndex = 0
         .TintAndShade = 0
         .Weight = xlThin
     End With
     Columns("M:M").ColumnWidth = 11.71
End Sub
[/vba]
 
Ответить
Сообщение
Не совсем так. Мне нужно, чтобы Вы ЗАНОВО, с самого начала создали нужный запрос. Тогда там будут все данные - и те, которые потом нужно поменять, и те, которые нужно оставить неизменными.
Примерный вид макроса такой

Здравствуйте
Может вот так?
[vba]
Код

Sub Снуля()
'
' Снуля Макрос
'

'
     ActiveWorkbook.Worksheets.Add
     With ActiveSheet.ListObjects.Add(SourceType:=0, Destination:=Range("$A$1")) _
         .QueryTable
         .RowNumbers = False
         .FillAdjacentFormulas = False
         .PreserveFormatting = True
         .RefreshOnFileOpen = False
         .BackgroundQuery = True
         .RefreshStyle = xlInsertDeleteCells
         .SavePassword = False
         .SaveData = True
         .AdjustColumnWidth = True
         .RefreshPeriod = 0
         .PreserveColumnInfo = True
         .ListObject.DisplayName = "Таблица_Запрос_из_Excel_Files"
         .Refresh BackgroundQuery:=False
     End With
     ActiveWindow.SmallScroll Down:=-12
     Range("B6").Select
     With ActiveWorkbook.Connections("Запрос из Excel Files").ODBCConnection
         .BackgroundQuery = True
         .CommandText = Array( _
         "SELECT `БДДС$`.Дата, `БДДС$`.`Денежный фонд`, `БДДС$`.`№ бухг#`, `БДДС$`.`Вид операции`, `БДДС$`.`Форма расчета`, `" _
         , _
         "БДДС$`.`Конечный контрагент`, `БДДС$`.`Промежуточный контрагент`, `БДДС$`.Назначение, `БДДС$`.Сумма" & Chr(13) & "" & Chr(10) & "FROM `C:\Users" _
         , _
         "\86\Desktop\123\Информационное поле\БДДС.xlsx`.`БДДС$` `БДДС$`" & Chr(13) & "" & Chr(10) & "WHERE (`БДДС$`.`Вид движения ДС`=?) AND (`БДДС$`.ЦФ" _
         , "О=?) AND (`БДДС$`.`Статья бюджета`=?) AND (`БДДС$`.Дата Between ? And ?)")
         .CommandType = xlCmdSql
         .Connection = Array(Array( _
         "ODBC;DSN=Excel Files;DBQ=C:\Users\86\Desktop\123\Информационное поле\БДДС.xlsx;DefaultDir=C:\Users\86\Desktop\123\Информационное пол" _
         ), Array("е;DriverId=1046;MaxBufferSize=2048;PageTimeout=5;"))
         .RefreshOnFileOpen = False
         .SavePassword = False
         .SourceConnectionFile = ""
         .SourceDataFile = ""
         .ServerCredentialsMethod = xlCredentialsMethodIntegrated
         .AlwaysUseConnectionFile = False
     End With
     With ActiveWorkbook.Connections("Запрос из Excel Files")
         .Name = "Запрос из Excel Files"
         .Description = ""
     End With
     ActiveWorkbook.Connections("Запрос из Excel Files").Refresh
     Range("M1:M3").Select
     Selection.Borders(xlDiagonalDown).LineStyle = xlNone
     Selection.Borders(xlDiagonalUp).LineStyle = xlNone
     With Selection.Borders(xlEdgeLeft)
         .LineStyle = xlContinuous
         .ColorIndex = 0
         .TintAndShade = 0
         .Weight = xlThin
     End With
     With Selection.Borders(xlEdgeTop)
         .LineStyle = xlContinuous
         .ColorIndex = 0
         .TintAndShade = 0
         .Weight = xlThin
     End With
     With Selection.Borders(xlEdgeBottom)
         .LineStyle = xlContinuous
         .ColorIndex = 0
         .TintAndShade = 0
         .Weight = xlThin
     End With
     With Selection.Borders(xlEdgeRight)
         .LineStyle = xlContinuous
         .ColorIndex = 0
         .TintAndShade = 0
         .Weight = xlThin
     End With
     With Selection.Borders(xlInsideVertical)
         .LineStyle = xlContinuous
         .ColorIndex = 0
         .TintAndShade = 0
         .Weight = xlThin
     End With
     With Selection.Borders(xlInsideHorizontal)
         .LineStyle = xlContinuous
         .ColorIndex = 0
         .TintAndShade = 0
         .Weight = xlThin
     End With
     Columns("M:M").ColumnWidth = 11.71
End Sub
[/vba]

Автор - makc1985
Дата добавления - 28.07.2014 в 04:01
makc1985 Дата: Вторник, 29.07.2014, 03:14 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Подскажите пожалуйста, после выполнения запроса query данные выгружаются в таблицу, но форматирование таблицы меняется, изменяется ширина столбцов, а это очень не нужно, потому что при последующей печати отчет выглядит всегда по разному??
 
Ответить
СообщениеПодскажите пожалуйста, после выполнения запроса query данные выгружаются в таблицу, но форматирование таблицы меняется, изменяется ширина столбцов, а это очень не нужно, потому что при последующей печати отчет выглядит всегда по разному??

Автор - makc1985
Дата добавления - 29.07.2014 в 03:14
makc1985 Дата: Вторник, 29.07.2014, 05:07 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Все уже сам разобрался)там есть свойство запроса надо убрать галочку устанавливать размер столбцов
 
Ответить
СообщениеВсе уже сам разобрался)там есть свойство запроса надо убрать галочку устанавливать размер столбцов

Автор - makc1985
Дата добавления - 29.07.2014 в 05:07
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!