powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / mdb+ado+SQL+подчиненки - как сделать?
23 сообщений из 23, страница 1 из 1
mdb+ado+SQL+подчиненки - как сделать?
    #39706002
NVT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.

Учу АДО, дабы перевести ADP на новые рельсы. Есть mdb 2003 + SQL 2008R2. Линкованных таблиц по ОДБС нет.

Требуется сделать форму в табличном виде с подчиненной формой.
Все хочу сделать на АДО-рекордсетах.
Главная форма сделана так, все работате, фильтрация, сортировка, добавление и удаление.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Private Sub Form_Open(Cancel As Integer)
   
   Set cn = New ADODB.Connection
   With cn
      .ConnectionString = "Provider=MSDASQL;Driver=SQL Server;Server=SQLSRV;Database=dbInfoTool;Trusted_Connection=yes"
      .CursorLocation = adUseClient
      .Open
    End With

    Set rs = New ADODB.Recordset
    With rs
        .Source = "sp_PCB_Infos"           ' хранимко
        .ActiveConnection = cn
        .LockType = adLockOptimistic
        .CursorType = adOpenKeyset
        .CursorLocation = adUseClient
        .Open
    End With

    'Set rs.ActiveConnection = Nothing
    Set Me.Recordset = rs

    Set rs = Nothing
    Set cn = Nothing
End Sub



Как организовать подчиненную форму используя ADO?
Сложность (для меня?) в том, что на экране одновременно может отображаться несколько подчиненных форм одновременно, см.фото.
На фото подчиненка основана на ОДБС линкованной таблице-вьюхе и все работает, а вот как сделать без линковок?

И еще маленький вопрос:
Если в форме нажать Shift+F9, то выскакивает сообщение "Не удается инициализировать поставщика данных". Как это исправить.
Пока что перехватом нажатий обрабатываю Shift+F9 и сообщения не появляется, но "это же не наш метод"!
Код: vbnet
1.
2.
3.
4.
5.
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
   
    If KeyCode = 120 And Shift = 1 Then KeyCode = 0

End Sub
...
Рейтинг: 0 / 0
mdb+ado+SQL+подчиненки - как сделать?
    #39706012
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Режим как на картинке доступен только для при просмотре таблиц, в форме вы это не сделаете без извращений. Надеюсь, вы не собираетесь давать пользователю редактировать таблицы напрямую?
По мне так такой режим довольно неудобен для работы конечного пользователя. Чем не устраивает стандартный режим формы с одной подчиненной формой?
...
Рейтинг: 0 / 0
mdb+ado+SQL+подчиненки - как сделать?
    #39706014
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrShinРежим как на картинке доступен только для при просмотре таблиц, в форме вы это не сделаете без извращенийзапросто

подчиненная форма должна быть в обл.данных главной формы, и обе формы в режиме таблицы
...
Рейтинг: 0 / 0
mdb+ado+SQL+подчиненки - как сделать?
    #39706019
NVT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrShin, конечно не собираюсь. На картинке именно формы, а не таблицы. Связь по полям ID в главной и ifdInfo в подчиненной.
...
Рейтинг: 0 / 0
mdb+ado+SQL+подчиненки - как сделать?
    #39706023
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrShinРежим как на картинке доступен только для при просмотре таблиц, в форме вы это не сделаете без извращений.Отчего же?
...
Рейтинг: 0 / 0
mdb+ado+SQL+подчиненки - как сделать?
    #39706026
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NVTКак организовать подчиненную форму используя ADO?Создать набор в главной и присвоить его подчинённой, далее формы связать.


NVTвсе работате, фильтрацияФильтруешь форму (встроенные фильтры) или источник?
...
Рейтинг: 0 / 0
mdb+ado+SQL+подчиненки - как сделать?
    #39706036
NVT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург, формы не вяжутся, если в подчиненная основана на рекордсете. Совсем.

Фильтрую-сортирую штатно, по правой кнопке, т.е. штатные способы работают (на неотвязанном рекордсете).
...
Рейтинг: 0 / 0
mdb+ado+SQL+подчиненки - как сделать?
    #39706038
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NVTформы не вяжутся, если в подчиненная основана на рекордсете. Совсем.Попробуй указать связь для подчиненной не имя поля, а контрола.
Т.е. типа: [контрол_подчиненнаяформа]![ifdInfo]
...
Рейтинг: 0 / 0
mdb+ado+SQL+подчиненки - как сделать?
    #39706057
NVT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
court, увы. Ничего не изменилось
...
Рейтинг: 0 / 0
mdb+ado+SQL+подчиненки - как сделать?
    #39706827
NVT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемые гуру.

Неужели такое невозможно сделать средствами ADO?

Возникает сомнение, все ли можно сделать в ADO, аналогичное MDB...
...
Рейтинг: 0 / 0
mdb+ado+SQL+подчиненки - как сделать?
    #39707189
Фотография iShvedsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> Set cn = Nothing

Вот это зачем в form_open ?
...
Рейтинг: 0 / 0
mdb+ado+SQL+подчиненки - как сделать?
    #39707569
NVT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iShvedsky, ибо оно больше не нужно.

Пробовал убрать, не влияет...
...
Рейтинг: 0 / 0
mdb+ado+SQL+подчиненки - как сделать?
    #39707579
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NVT, конечно не влияет. Это просто уничтожение одной из ссылок.

Твоя проблема решаема. Проще всего в варианте главная (Одиночная)-подчинённая (табличная), в принципе и главная (табличная)-подчинённая (табличная) тоже можно решить(?). Возится времени нет. Смысл в следующем - ставить фильтр на набор данных подчинённой формы. Я прикидывал, но не доделал - проблема это отсутствие события разворачивания подчинённой формы.
...
Рейтинг: 0 / 0
mdb+ado+SQL+подчиненки - как сделать?
    #39707780
NVT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург, пробовал играться с фильтром на подформу... он действует сразу на все подформы.
Полагаю ServerFilter действует так же (не проверял).

А дДо фильтра на рекордсет не добраться, пока форму не развернешь-откроешь...
...
Рейтинг: 0 / 0
mdb+ado+SQL+подчиненки - как сделать?
    #39707853
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NVTПанург, пробовал играться с фильтром на подформу... он действует сразу на все подформы.
Полагаю ServerFilter действует так же (не проверял).

А дДо фильтра на рекордсет не добраться, пока форму не развернешь-откроешь...Ну отчего же...
...
Рейтинг: 0 / 0
mdb+ado+SQL+подчиненки - как сделать?
    #39707919
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NVT, посмотри...
...
Рейтинг: 0 / 0
mdb+ado+SQL+подчиненки - как сделать?
    #39708157
zimkon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПанургNVT, посмотри...
У меня в 2003-м ругается на IAccessible (тип не определен). Чего не хватает?
...
Рейтинг: 0 / 0
mdb+ado+SQL+подчиненки - как сделать?
    #39708179
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zimkon, или библиотеку офисовскую подключи (там есть описание), или в декларации замени на Any (смотри декларацию для более новых акцесс).
Сам делал из-под 2010, потому забыл поправить...
...
Рейтинг: 0 / 0
mdb+ado+SQL+подчиненки - как сделать?
    #39708185
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zimkon, это попытка обработать клик по кнопке для сворачивания/разворачивания табличной подформы в табличной форме. Там есть где поработать напильником...
...
Рейтинг: 0 / 0
mdb+ado+SQL+подчиненки - как сделать?
    #39708191
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробовал сейчас в 2003, не работает. Сейчас посмотрим.
...
Рейтинг: 0 / 0
mdb+ado+SQL+подчиненки - как сделать?
    #39708195
zimkon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург,

Заменил на Object. В принципе компилируется без ошибок и работает. Но фильтрует только после выбора записи в главной форме, если просто жмешь на плюсик (без выбора записи в главной форме), то не фильтрует
...
Рейтинг: 0 / 0
mdb+ado+SQL+подчиненки - как сделать?
    #39708205
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zimkon, приходится признать что для 2003 это работать не будет. Работает начиная с 2007.
Проблема в том, что я не могу понять в какое событие появляется кнопка с плюсиком (свернуть/развернуть) как кнопка и IAccessible-объект . Сильно экспериментировать некогда, но кнопка появляется точно. Может быть на событие формы клик...
...
Рейтинг: 0 / 0
mdb+ado+SQL+подчиненки - как сделать?
    #39709065
NVT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург, спасибо, обязательно посмотрю. Очень любопытно.
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / mdb+ado+SQL+подчиненки - как сделать?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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