Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2011, 22:23   #1
Serge 007
Участник клуба
 
Аватар для Serge 007
 
Регистрация: 15.12.2009
Сообщений: 1,448
По умолчанию

Ответил здесь:
http://www.planetaexcel.ru/forum.php?thread_id=34721
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru
https://yoomoney.ru: 41001419691823
Serge 007 вне форума Ответить с цитированием
Старый 27.11.2011, 22:23   #2
Serge 007
Участник клуба
 
Аватар для Serge 007
 
Регистрация: 15.12.2009
Сообщений: 1,448
По умолчанию

Ответил здесь:
http://www.planetaexcel.ru/forum.php?thread_id=34721
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru
https://yoomoney.ru: 41001419691823
Serge 007 вне форума Ответить с цитированием
Старый 28.11.2011, 00:31   #3
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

ох и намудрили Вы....

Код:
Sub Кнопка2_Щелкнуть()
Dim cnn As New ADODB.Connection
Dim i As Integer
Dim LastDoor As Long
Dim cmd As ADODB.Command
'C:\Documents and Settings\Сергей\Мои документы\db10.mdb

cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source=C:\Documents and Settings\Сергей\Мои документы\db10.mdb"
cnn.Open
LastDoor = ThisWorkbook.Sheets("ОсмотрДверей").Cells(65536, 1).End(xlUp).Row
Set cmd = New ADODB.Command
With cmd
.ActiveConnection = cnn

For i = 2 To LastDoor
kodDveri = ThisWorkbook.Sheets("ОсмотрДверей").Cells(i, 1)
.CommandText = "UPDATE Таблица1 SET Таблица1.Дата =" & DataSql(Date) _
& " WHERE Таблица1.КодДв =" & kodDveri
.Execute
Next
End With
cnn.Close
Set cnn = Nothing
End Sub
Код:
Function DataSql(dt_sql As String)
DataSql = "#" & Format(dt_sql, "mm\/dd\/yy hh\:mm\:ss") & "#"
End Function
на планете тоже ответил
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Старый 28.11.2011, 00:53   #4
Sergey112233
Пользователь
 
Регистрация: 19.12.2010
Сообщений: 82
По умолчанию передать параметр запроса на обновление из Excel в Access

Уважаемые форумчане.
Подскажите, пожалуйста, как передать параметр из Excel в запрос на обновление Access?
Вложения
Тип файла: rar Новая папка.rar (31.3 Кб, 8 просмотров)
Sergey112233 вне форума Ответить с цитированием
Старый 28.11.2011, 12:54   #5
Sergey112233
Пользователь
 
Регистрация: 19.12.2010
Сообщений: 82
По умолчанию

Serge 007,
R Dmitry.

Спасибо
Sergey112233 вне форума Ответить с цитированием
Старый 28.11.2011, 13:56   #6
Sergey112233
Пользователь
 
Регистрация: 19.12.2010
Сообщений: 82
По умолчанию

R Dmitry,
Ваш пример работает отлично!


Код:
.CommandText = "UPDATE Таблица1 SET Таблица1.Дата =" & DataSql(Date) _
& " WHERE Таблица1.КодДв =" & kodDveri
Здесь (как мне понятно) написан запрос на SQL в модуле Excel. Текст запроса передается в Access вместе с параметром "kodDveri"

А есть ли вариант управления из Excel сохраненным запросом, находящимся в Access?

Или что Вы рекомендуете почитать по Command?
Sergey112233 вне форума Ответить с цитированием
Старый 28.11.2011, 14:42   #7
gluk_fm
Форумчанин
 
Аватар для gluk_fm
 
Регистрация: 09.06.2011
Сообщений: 515
По умолчанию

Выполнения модуля (можно добавить передачу параметра):

Set appAccess = CreateObject("Access.Application")

appAccess.Visible = True
Call appAccess.OpenCurrentDatabase("путь и имя базы")
appAccess.Run "имя модуля"
appAccess.Application.Quit
gluk_fm вне форума Ответить с цитированием
Старый 28.11.2011, 14:47   #8
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Цитата:
Сообщение от Sergey112233 Посмотреть сообщение
R Dmitry,
Ваш пример работает отлично!


Код:
.CommandText = "UPDATE Таблица1 SET Таблица1.Дата =" & DataSql(Date) _
& " WHERE Таблица1.КодДв =" & kodDveri
Здесь (как мне понятно) написан запрос на SQL в модуле Excel. Текст запроса передается в Access вместе с параметром "kodDveri"

А есть ли вариант управления из Excel сохраненным запросом, находящимся в Access?


Или что Вы рекомендуете почитать по Command?

А оно Вам надо ???
С параметрами никогда не работал, стараюсь обходиться доступными для понимания вещами
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Старый 28.11.2011, 19:40   #9
Sergey112233
Пользователь
 
Регистрация: 19.12.2010
Сообщений: 82
По умолчанию

R Dmitry,
"Логика?!.... она где то рядом..."
Первым мне попался пример с сохраненным запросом с параметром.
За Ваш вариант спасибо. А как правильнее сделать, что быстрее работает? Или дело вкуса? Этого я не знаю. Вот и спрашиваю.
Sergey112233 вне форума Ответить с цитированием
Старый 28.11.2011, 19:51   #10
Sergey112233
Пользователь
 
Регистрация: 19.12.2010
Сообщений: 82
По умолчанию

gluk_fm,

спасибо за помощь.
Sergey112233 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как экспортировать результат готового запроса Access в существующую книгу Excel? Svetix13 Microsoft Office Access 1 01.11.2011 11:32
передать параметр NiCola999 JavaScript, Ajax 1 11.02.2011 07:43
VBA передать параметр в запрос на выборку и отобразить результат запроса на форме Сергей089 Microsoft Office Access 5 27.12.2010 18:12
Передать параметр в процедуру VistaSV30 Microsoft Office Access 2 18.12.2009 20:45
Как передать параметр? Иллидан Общие вопросы Delphi 8 12.07.2008 12:57