powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Update листа открытой книги Excel
13 сообщений из 13, страница 1 из 1
Update листа открытой книги Excel
    #37117458
Lockpickup
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа!

Подскажите, как проапдейтить с помощью SQL уже открытый Excel-лист?

Итак, есть уже открытая книга. В ней лист Ф1 с исходными данными.
Лист Ф1 нужно проапдейтить данными из файла .mdb. Технология подключения к стороннему файлу .mdb понятна. Непонятно как же обратится к уже открытому листу, так чтобы он выступал в качестве таблицы в SQL запросе..
...
Рейтинг: 0 / 0
Update листа открытой книги Excel
    #37117471
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lockpickup,

через Oledb ado соединение с текущим файлом
Код: plaintext
select * from [f1$];

единственное условие, файл должен быть сохранен
...
Рейтинг: 0 / 0
Update листа открытой книги Excel
    #37117569
Lockpickup
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Т.е. я к своему открытому файлу подключаюсь как
Код: plaintext
1.
Set Cnn = New ADODB.Connection
    Cnn.Open "Driver={Microsoft Excel Driver (*.xls)};DBQ=" & import_file_name & ";
Но как же тогда отобразить данные от запроса UPDATE? Ведь тогда нужно закрыть-открыть файл -->модуль VBA не может быть в обновляемом файле.
Или я что-то не правильно представляю?
...
Рейтинг: 0 / 0
Update листа открытой книги Excel
    #37117603
Lockpickup
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Чуть префразирую вопрос:

В Acces существует Application.CurrentDb для ссылки на текущую БД.
А в Excel как установить подобную ссылку, чтобы использовать в качестве БД уже открытую книгу .
...
Рейтинг: 0 / 0
Update листа открытой книги Excel
    #37117652
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lockpickup
Код: plaintext
1.
Set Cnn = New ADODB.Connection
    Cnn.Open "Driver={Microsoft Excel Driver (*.xls)};DBQ=" & import_file_name & ";

вот так удобнее

Код: plaintext
cnnConn.Open "DRIVER={Microsoft Excel Driver (*.xls)};DriverId=790;ReadOnly=True;" & "DBQ=" & ThisWorkbook.FullName & ";"

LockpickupНо как же тогда отобразить данные от запроса UPDATE? Я же написал, сохранить файл
...
Рейтинг: 0 / 0
Update листа открытой книги Excel
    #37117782
Lockpickup
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shamanus, все ж таки я никак до конца не уясню себе:

ShamanusЯ же написал, сохранить файл имеется в виду - 1)операция эквивалентная Ctr+S или сохранить файл это значит:2)Ctr+S, закрыть и открыть уже сохраненный.
Если второй вариант, то исполняемый модуль VBA не может существовать в обновляемом файле и ThisWorkbook.FullName в
Код: plaintext
cnnConn.Open "DRIVER={Microsoft Excel Driver (*.xls)};DriverId=790;ReadOnly=True;" & "DBQ=" & ThisWorkbook.FullName & ";"
теряет смысл.
И потом, если
ReadOnly=True в предыдущей инструкции
то как же быть с запросом UPDATE? То, что приводите Вы годится для SELECT...
...
Рейтинг: 0 / 0
Update листа открытой книги Excel
    #37117797
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LockpickupShamanus, все ж таки я никак до конца не уясню себе:

ShamanusЯ же написал, сохранить файл имеется в виду - 1)операция эквивалентная Ctr+S или сохранить файл это значит:2)Ctr+S, закрыть и открыть уже сохраненный.
Если второй вариант, то исполняемый модуль VBA не может существовать в обновляемом файле и ThisWorkbook.FullName в
Код: plaintext
cnnConn.Open "DRIVER={Microsoft Excel Driver (*.xls)};DriverId=790;ReadOnly=True;" & "DBQ=" & ThisWorkbook.FullName & ";"
теряет смысл.
И потом, если
ReadOnly=True в предыдущей инструкции
то как же быть с запросом UPDATE? То, что приводите Вы годится для SELECT...
Вы бы для начала просто написали бы Select,провели бы тест, а если натолкнетесь на сложности, зададите вопрос.
Если не получится, дам готовый образец для теста.
...
Рейтинг: 0 / 0
Update листа открытой книги Excel
    #37117807
Lockpickup
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Обычный SELECT в том виде как Вы говорите пашет :)). Делал не раз.
...
Рейтинг: 0 / 0
Update листа открытой книги Excel
    #37117880
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lockpickup,

А что не пашет?
...
Рейтинг: 0 / 0
Update листа открытой книги Excel
    #37119651
Lockpickup
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LockpickupПодскажите, как проапдейтить с помощью SQL уже открытый Excel-лист
Не выбрать данные из листа закрытого файла Excel, а обновить данные на листе открытого файла.
...
Рейтинг: 0 / 0
Update листа открытой книги Excel
    #37119834
кладовщик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LockpickupLockpickupПодскажите, как проапдейтить с помощью SQL уже открытый Excel-лист
Не выбрать данные из листа закрытого файла Excel, а обновить данные на листе открытого файла.
Не понял, в чем проблема. Подконнектились Вы к нужному диапазону на листе и апдейте на здоровье диапазон этого листа.
Вот по-быстрому у себя пример нашел:
'
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
   Информация о базе данных
    DBFullName = ThisWorkbook.FullName
'   Открытие соединения
    Set Connection = New ADODB.Connection
    Cnct = "Provider=Microsoft.Jet.OLEDB.4.0; "
    Cnct = Cnct & "Data Source=" & DBFullName & ";"
    Cnct = Cnct & "Extended Properties= Excel 8.0;"
    Connection.Open ConnectionString:=Cnct

Dim SQLString As String
Dim SQLAdditionalString As String
'Апдейт поля Т0
SQLString = "UPDATE [Models$E1:M1000] SET T0=T0+137 "
 Connection.Execute SQLString
...
Рейтинг: 0 / 0
Update листа открытой книги Excel
    #37119846
кладовщик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, была раньше хорошая статья по сабжу "How To Use ADO with Excel Data from Visual Basic or VBA" на английском, что-то теперь Гугль мне статью с машинным переводом на русский выдает. А где оригинал, он вроде получше был?
...
Рейтинг: 0 / 0
Update листа открытой книги Excel
    #37119921
кладовщик,
"How To Use ADO with Excel Data from Visual Basic or VBA" на английском
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Update листа открытой книги Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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