Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [MS ACCESS] Справочник шаблонов


Автор: Gal4onoK_89 1.2.2008, 03:06
Здравствуйте, подскажите пожалуйста, как базе данных MS ACCESS создать справочник шаблонов, привязанный к конкретному полю в форме, из которого при выборе записи из него, будет вставляться в это поле.

Заранее Вам спасибо.

Автор: kapbepucm 4.2.2008, 15:39
Gal4onoK_89, можешь по-подробнее задание объяснить и ещё маленький примерчик привести?

Автор: Gal4onoK_89 4.2.2008, 23:12
Здравствуйте kapbepucm, спасибо, что откликнулся, имеется ввиду справочник в базе данных, в нем будут перечислены данные, которыми народ будет постоянно пользоваться, что бы каждый раз не набирать одно и то же. Что-то типа как в 1С (пример вложен). Заранее спасибо  smile .

Автор: kapbepucm 5.2.2008, 21:07
Т.е. нужно сделать такой механизм, который бы заполнял самостоятельно определённые поля в главной форме так, как заполнена строка (строку выбирает сам пользователь) в таблице шаблонов?

Автор: Gal4onoK_89 7.2.2008, 07:07
Да, Вы меня правильно поняли smile.

Автор: kapbepucm 7.2.2008, 12:00
Реализовать можно разными путями. Приведу простой пример, где можно увидеть принцип.
1) Создаёшь таблицы нужной структуры, пусть они будут называться MainTable (здесь будет храниться основная информация) и Templates (для шаблонов).
Главная таблица:
Код
================================
           MainTable
--------------------------------
LineID   Company         Account   
--------------------------------
   1     Предприятие1    0000001
   2     Предприятие1    0000002
   3     Предприятие2    0100000
   4     Предприятие2    0000005
   5     Предприятие1    0000001
   6     Предприятие1    0000001
   7     Предприятие1    0000001
================================
Шаблоны:
Код
====================================
             Templates
------------------------------------
Info        Company          Account
------------------------------------
Оплата1     Предприятие1     0000001
Оплата2     Предприятие2     0100000
====================================
Заполняешь таблицы этими данными. Как, я надеюсь, видно, что в главной таблице уже по шаблону заполнены 1,3,5,6 и 7 строки.
2)Далее, создаёшь форму "MainForm" (обычного вида), привязанную к главной таблице. Создаешь форму "SubForm" (табличного вида), привязанную к таблице шаблонов. Создаёшь простую форму "Templates"
3)В MainForm создаёшь кнопку Button1 с надписью "Открыть шаблны". Пишешь для неё макрос:
Код
Private Sub Button1_Click()
  DoCmd.OpenForm "Templates", acNormal, , , , acDialog
End Sub
4)В форме Templates создаёшь подчинённую форму Child1, привязанную к нашей SubForm. Здесь-же создаёшь две кнопки Button1 и Button2 с надписями "заполнить по шаблону" и "закрыть". Пишешь макросы для кнопок:
Код
Private Sub Button1_Click()
  Forms("MainForm").Controls("Company").Value = Child1.Form.Recordset.Fields("Company")
  Forms("MainForm").Controls("Account").Value = Child1.Form.Recordset.Fields("Account")
End Sub
Private Sub Button2_Click()
  DoCmd.Close
End Sub
5)Пример готов! Запускаешь MainForm, переходишь на нужную запись, нажимаешь на кнопку "Открыть шаблны", в подчинённой форме открывшегося окна ставишь курсор на нужную запись, нажимаешь на "заполнить по шаблону", закрываешь форму шаблонов, наблюдаешь, что текущая запись заполнена по шаблону.

Автор: Gal4onoK_89 21.2.2008, 02:55
Большое спасибо за помощь  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)