Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: автоматизация БД инвентаризации мобильных номеров (MS Access 2010)
 
 автор: mybox_and   (31.07.2011 в 04:50)   личное сообщение
 
 

Опыта в программировании мало. Нашел книжку как показалось с ответами на вопросы, но увы.
Организация предоставляет сотрудникам мобильные номера и оплачивает определенный лимит по расходам за использование мобильной связи.
задача БД: ведение учета мобильных номеров в организации.
В БД созданы таблицы и связи. Теперь необходимо автоматизировать ввод и редактирование данных.
Имеется главная форма fmMain без источника данных, на ней размещена подчиненная форма fmMainSubListOfNumbers. В подчиненной форме отображается список номеров телефонов. Источником данных для подчинённой формы является запрос qrMainSubListOfNumbers на основе нескольких таблиц.
Необходимо программным способом присвоить набор данных подчиненной форме.
Private Sub btnRecordset_Click()
Dim rstListOfNumbers As New ADODB.Recordset
With rstListOfNumbers
.CursorLocation = adUseClient
.Open "qrMainSubListOfNumbers", CurrentProject.Connection
End With
Set Forms("fmMainSubListOfNumbers").Recordset = rstListOfNumbers
End Sub
Поскольку нельзя обратиться напрямую к подчиненной форме, то строка
Set Forms("fmMainSubListOfNumbers").Recordset = rstListOfNumbers
Должна быть в виде
Set ГлавнаяФорма.ПодчиненнаяФорма.Recordset = rstListOfNumbers
Что должно быть в коде VBA вместо ГлавнаяФорма.ПодчиненнаяФорма ?

  Ответить  
 
 автор: snipe   (31.07.2011 в 06:32)   личное сообщение
 
 

А ни чего (вроде как)


Имеется главная форма fmMain без источника данных


вы работаете напрямую с Recordset-ом
т.е. когда вы открыли рекодсет, то работаете с клоном источника записей подчиненной формы
записи в подчиненной форме не появятся до тех пор пока не обновится форма
должно быть примерно так

открываем рекордсет на основе запроса (ну или клонируем из подчиненной формы)
добавляем в него записи
сохраняемся
обновляем источник строк подчиненной формы
закрываем рекордсет
Это если добавление новой записи

если измененние
открываем рекордсет на основе запроса (ну или клонируем из подчиненной формы)
считываем id активной строки в подчиненной форме
ищем в рекордсете запись с таким же id
вносим изменения
сохраняемся
обновляем источник строк подчиненной формы
закрываем рекордсет

могут быть и другие варианты

  Ответить  
 
 автор: час   (31.07.2011 в 15:11)   личное сообщение
 
 

типа
Forms("DIRECTOR_FRM").LIST_PRODUCT_FRM.Form.Requery
Me.LIST_PRODUCT_FRM.Form.RecordSource = "LIST_ACTUAL_PRODUCT"
Forms("DIRECTOR_FRM").LIST_PRODUCT_FRM.Form.RecordSource = "LIST_ACTUAL_PRODUCT"
где Me. - основная форма "DIRECTOR_FRM"
LIST_PRODUCT_FRM - подчинённая форма

  Ответить  
 
 автор: snipe   (31.07.2011 в 15:42)   личное сообщение
 
 

только сейчас дошло


Необходимо программным способом присвоить набор данных подчиненной форме.



тогда к часу - это чуть выше

можно добавить
Forms("DIRECTOR_FRM").LIST_PRODUCT_FRM.Form.RecordSource = "Select........From ......."

  Ответить  
 
 автор: Stanislav   (31.07.2011 в 16:45)   личное сообщение
 
 


Поскольку нельзя обратиться напрямую к подчиненной форме


Почему нельзя? Я так делаю:

Form_MySubform.RecordSource = "SELECT ..."

Только тут условие - нужно чтобы форма была в списке объектов проекта Visual Basic. Дляя этого можешь просто создать в visual basic обработчик события OnLoad этой формы, в обработчик можно ничего не писать, просто тогда форма появляется в списке объектов и к ней можно таким образом обращаться. Ну или как Час посоветовал.

  Ответить  
 
 автор: osmor   (01.08.2011 в 11:26)   личное сообщение
 
 

есть такая база
ADP+MSSql (для ввода данных)+ автоматическая обработка счетов мтс в html формате с добавлением данных в базу
msSQL+lotus domino (для просмотра данных по расходам через web)

А занафига рекордсет? почему не просто запрос?
и еще схему данных покажите...

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList