Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Клиенты и контакты на одной форме / 12 сообщений из 12, страница 1 из 1
01.12.2004, 17:04:49
    #32808093
Accessor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиенты и контакты на одной форме
У меня вопрос к знающим людям.
Есть 2 таблицы - clients , contacts . У каждой записи из первой таблицы может быть несколько записей из второй:
Clients - id, name, и т.д.
Contacts - clientid, phone, и т.д.
Возможно ли сделать одну форму которая будет отображать одну запись из clients и все контакты для этой записи с возможностью изменения данных клиента и добавления/изменения его контактов.
Я знаю что это возможно, т.к. имею немалый опыт программирования, однако никогда не работал с MS Access. Задача состоит в наилучшем использовании инструментов предоставляемых этой средой, не изобретая колесо в 1000-й раз.
База данных MDB формата (если это на что-то влияет).

Заранее благодарен!
Игорь.
...
Рейтинг: 0 / 0
01.12.2004, 17:07:27
    #32808099
Kelme
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиенты и контакты на одной форме
глянь Northwind.mdb (Борей.mdb), там есть пример
...
Рейтинг: 0 / 0
01.12.2004, 17:11:44
    #32808112
RVI
RVI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиенты и контакты на одной форме
Главная форма (одиночная) - источник записей таблица clients,
подчиненная форма (табличная или ленточная) - источник записей таблица contacts, связать их по id и clientid
...
Рейтинг: 0 / 0
01.12.2004, 17:19:38
    #32808135
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиенты и контакты на одной форме
:)
...
Рейтинг: 0 / 0
01.12.2004, 17:28:21
    #32808165
Accessor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиенты и контакты на одной форме
Программист-Любитель:)
Это картинка из Борея?
...
Рейтинг: 0 / 0
01.12.2004, 21:49:56
    #32808500
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиенты и контакты на одной форме
Это из меня, любимого. :)

Плюс - редактируемый справочник типов контактной инофрмации. Кое-какие: Адрес, Телефон дом., Телефон раб. уже занесены и не удаляются. Остальные можно добавлять/редактировать по вкусу.

Люди и их контакты/адреса настолько общее место, что где их только нет.

Кстати, посмотрите ГОТОВЫЙ ШАБЛОН База данных Контакты в мысы оффис. Можно от него отталкиваться.
...
Рейтинг: 0 / 0
02.12.2004, 00:07:30
    #32808563
Accessor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиенты и контакты на одной форме
Спасибо всем за ответы!
Одной проблемой меньше :)
...
Рейтинг: 0 / 0
02.12.2004, 00:17:29
    #32808566
Accessor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиенты и контакты на одной форме
Но возникла другая проблема.
Есть форма, привязанная к таблице А. На ней сидят 2 подформы, обе привязаны к таблице Б. Первая подформа показывает все поля из Б, вторая - одно - выбраное в первой подформе.
На форме также есть кнопка, которая должна добавить пустую запись в таблицу Б. При нажатии на нее я вызываю AddNew рекордсета в первой подформе. В ответ выскакивает сообщение " Action cancelled by an associated object ". Поискал в инете, написано что такое происходит когда установлен один из флагов EOF / BOF рекордсета, но в моем случае это не так. Может Знаете в чем проблема?
...
Рейтинг: 0 / 0
02.12.2004, 08:26:44
    #32808756
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиенты и контакты на одной форме
Access довольно сложно дергать изнутри. Чисто програмно довавить новую запись в рекодсет, загнать значения в поля и сохранить ее очень просто. Но если эта рекорсет от формы, то могут возникнуть как раз такого рода проблемы.

Вопрос 1. Если кнопка делает только AddNew то зачем она собственно ? Достаточно перейти курсором на новую запись и начать давить клавиши. Вот ежели бы по ее нажатию модальное окошко открыть, там спросить пару обязательных полей для новой записи и после ОК их в таблицу втсавить...

Вопрос 2. Кнопка добавления в подчиненную сетку/таблицу Б нажимается не тогда, когда форма А стоит на новой записи ?

Вопрос 3. Кусочек кода в студию!
...
Рейтинг: 0 / 0
02.12.2004, 11:32:50
    #32809119
Accessor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиенты и контакты на одной форме
Программист-ЛюбительAccess довольно сложно дергать изнутри. Чисто програмно довавить новую запись в рекодсет, загнать значения в поля и сохранить ее очень просто. Но если эта рекорсет от формы, то могут возникнуть как раз такого рода проблемы.

Вопрос 1. Если кнопка делает только AddNew то зачем она собственно ? Достаточно перейти курсором на новую запись и начать давить клавиши. Вот ежели бы по ее нажатию модальное окошко открыть, там спросить пару обязательных полей для новой записи и после ОК их в таблицу втсавить...

Вопрос 2. Кнопка добавления в подчиненную сетку/таблицу Б нажимается не тогда, когда форма А стоит на новой записи ?

Вопрос 3. Кусочек кода в студию!

Ответы:
1. У меня есть навигация по таблице А, по таблице Б ее нет. Я не хочу чтобы была возможность добавлять и удалять записи из Б. Добавление записи в Б происходит только по нажатию кнопки и максимум раз в день (описывается визит к врачу - требование грубое, но это требование).
2. Таблица А - таблица пациентов, таблица Б - их визитов к врачу. Кнопка добавления нажимается когда форма А стоит на существующей записи.
3. Кусочек кода? Пожалуйста:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Private Sub AddVisit_Click()
On Error GoTo Err_AddVisit_Click

    VisitInfo.Form.Recordset.AddNew
'    PatientVisitList.Form.Recordset.AddNew
'    PatientVisitList.Form.Recordset!patientid = Me.Recordset!id
'    PatientVisitList.Form.Recordset.Update

Exit_AddVisit_Click:
    Exit Sub

Err_AddVisit_Click:
    MsgBox Err.Description
    Resume Exit_AddVisit_Click
    
End Sub

VisitInfo и PatientVisitList это подчиненные формы привязанные к таблице A по ID пациента.
То что закоментировано - мои тщетные попытки добиться результата.
Спасибо!
...
Рейтинг: 0 / 0
02.12.2004, 13:22:35
    #32809492
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиенты и контакты на одной форме
Если вы запрещаете добавление в подчиненную таблицу, то, очевидно, в конструкторе или коде стоит AllowAdditions=False. Стало быть надо

Код: plaintext
1.
2.
3.
4.
5.
6.
VisitInfo.Form.AllowAdditions=True
With VisitInfo.Form.Recordset
.AddNew
.Fields!"<вам виднее, какое>" = <что хотите>
.Update
VisitInfo.Form.AllowAdditions=False
...
Рейтинг: 0 / 0
02.12.2004, 15:13:58
    #32809867
Accessor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиенты и контакты на одной форме
Конгениально! Мне надо было самому об этом догадаться...
Большое спасибо!
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Клиенты и контакты на одной форме / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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