powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Обновляемый запрос к серверу как источник формы
15 сообщений из 15, страница 1 из 1
Обновляемый запрос к серверу как источник формы
    #32443604
Ольга_T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как получить набор записей с SQL-сервера, отобранных с параметрами, для последующего редактирования в Access в форме? Использование ADODB.Connection не позволяет засунуть полученный рекордсет в источник формы. Запросы к серверу - необновляемы. В подлинкованные таблицы и представления нельзя заслать параметры. А хочется получить скромный набор записей для тыкания в него в DataSheet. Есть ли компактное решение этой задачи?
...
Рейтинг: 0 / 0
Обновляемый запрос к серверу как источник формы
    #32443680
ищ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
напрямую с сервером
редактировать
в mdb можно толко
целиком таблицы
условия не получаца.
с условиями можна
тока в adp
естли отвечать
по существу вопроса.
хотя есть обходные
варианты
...
Рейтинг: 0 / 0
Обновляемый запрос к серверу как источник формы
    #32443698
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ADODB.Connection не позволяет засунуть полученный рекордсет в источник формы

это зависит от версии аксесса.

если не ошибаюсь можно начиная с MSAccess 2000
...
Рейтинг: 0 / 0
Обновляемый запрос к серверу как источник формы
    #32443724
Ольга_Т
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторесли не ошибаюсь можно начиная с MSAccess 2000 Нельзя, если только не извращаться через функции с обратным вызовом.
...
Рейтинг: 0 / 0
Обновляемый запрос к серверу как источник формы
    #32443728
Ольга_Т
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ищестли отвечать
по существу вопроса.
хотя есть обходные
варианты Вот именно об этом я и спрашиваю.
Нельзя ли поподробнее?
...
Рейтинг: 0 / 0
Обновляемый запрос к серверу как источник формы
    #32443736
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в 2002 точно можно...

думаю что и в 2000 проблем быть не должно ....

почему ты решила что нельзя????
...
Рейтинг: 0 / 0
Обновляемый запрос к серверу как источник формы
    #32443757
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
оставь источник данных формы пустым.

создай адо рекордсет, подключи его к серверу и назначь его форме рекордсетом

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Private Sub Form_Load()
Dim rs As New ADODB.Recordset
rs.Open ( "select * from <таблица>" ), _
 "Provider=SQLOLEDB.1 ;Persist Security Info=True;Data Source=<Имясервера\инстанс>;User ID=<Логин>;Password=<Пароль>;Initial Catalog=<Имябазы>", _
adOpenStatic, adLockReadOnly
Set Me.Recordset = rs

End Sub





<параметр> замени на свои вместе с <>
...
Рейтинг: 0 / 0
Обновляемый запрос к серверу как источник формы
    #32443795
ищ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
временные таблицы
на локале.
но это так ужастно
...
Рейтинг: 0 / 0
Обновляемый запрос к серверу как источник формы
    #32443863
Ольга_Т
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К сожалению, это проходит только с параметрами adOpenStatic, adLockReadOnly, а adOpenDynamic вызывает ошибку. А мне нужен редактируемый DataSheet, и такой, чтобы можно было быстрые фильтры накладывать. А в вашем примере полученный список даже не сортируется и не фильтруется из-под Access'а.
...
Рейтинг: 0 / 0
Обновляемый запрос к серверу как источник формы
    #32443868
Ольга_Т
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторвременные таблицы
на локале.
но это так ужастно Даже не обсуждается. Временная таблица на сервере, по SUSER_SNAME для юзера отфильтрованная. Там, где нужно 1-2 поля. Но не для списков, где в 30 полей подлинкована из трех таблиц информация о товаре, каталожные данные, складские и торговый анализ.
...
Рейтинг: 0 / 0
Обновляемый запрос к серверу как источник формы
    #32443904
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
уже и забыл что в 2000 были пробемы с "Обновляемостью" -

там надо так:

Подключение, с использованием двух драйверов DATASHAPE + OLEDB


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
dim conn as adodb.connection

Conn.Provider =  "MSDataShape" 
ADOConnection.ConnectionString = _
 "DATA Provider=Microsoft.Access.OLEDB.10 . 0 ;Persist Security Info=True;Data Source= <SERVER_NAME>;User ID=<USER_NAME>;Password=<PASSWORD>;Initial Catalog=<BASE_NAME>;Data Provider=SQLOLEDB. 1 "

Conn.Open
Dim rs As New ADODB.Recordset
rs.Open ( "select * from <таблица>" ), Conn ,  3 , 2 , 1 
Set Me.Recordset = rs


что касается фильтрации то в используют серверную фильтрацию вместо обычной.
...
Рейтинг: 0 / 0
Обновляемый запрос к серверу как источник формы
    #32443910
ищ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
боюсь, что
стандартным
ничего не получица.
если б было
так как ты хошь,
...
Рейтинг: 0 / 0
Обновляемый запрос к серверу как источник формы
    #32444106
Ольга_Т
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексейК, большое спасибо, получилось.
...
Рейтинг: 0 / 0
Обновляемый запрос к серверу как источник формы
    #32444128
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну слава господи ...

а то я уже перепугался , ты так категорично заявила:
авторНельзя, если только не извращаться через функции с обратным вызовом.

думал что отменили, задним числом ))
...
Рейтинг: 0 / 0
Обновляемый запрос к серверу как источник формы
    #32485572
Ольга_Т
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Продолжение этого интересного вопроса.
Для табличных источников или простых запросов это работает.
А вот если уровень вложенности SELECT'ов - 3, да есть вычитание списков, то в форме рекордсет редактировать не получается. В коде он редактируемый, а из-под формы - нет.
Еще наблюдаю забавный эффект. После редактирования одной записи через форму (галочку поставила в CheckBox) обнаруживаю Me.Recordset.RecordCount = 1 !!!
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Обновляемый запрос к серверу как источник формы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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