Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Обработка записей подчинёной формы в Accsses

Автор: Joseph007
Дата сообщения: 28.05.2006 14:55
У меня такой вопрос.

Надо организовать редактирование записей следующим образом:

ФОРМА:

==============================================================================================
Selected Item:

Title: _______________ frm_comment
Descripton: ____________________________________________


List of Items:
---------------------------------------------------------------------------------------
Id |Title | Description |
---------------------------------------------------------------------------------------
1 | Item 1 Tile | Item 1 Desc |
--------------------------------------------------------------------------------------- frm_comment_list
2 | Item 2 Tile | Item 2 Desc |
---------------------------------------------------------------------------------------
3 | Item 3 Tile | Item 3 Desc |
---------------------------------------------------------------------------------------
4 | Item 4 Tile | Item 4 Desc |
---------------------------------------------------------------------------------------
==============================================================================================

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

Список записей реализовал подчинёной формой (в виде Ленточной формы"Continuous Forms")

дальше OnClick отследить по какой записи кликнули и
DoCmd.GoToRecord acDataForm, "frm_comment", acGoTo, RecordID
перевести форму в редактирование нужной записи

но тут и проблема - как вычислить етот RecordID по которому осуществили щелчок.

Возможно у меня неправильный подход. Я просто некое время програмировал на WinAPI - так и привык всё руками писать... знаю что в Аксес многое реализовано и возможно то что мне нужно можно включить двумя щелчками...

Задача тривиальна как мне кажется и довольно таки часто реализуема... возможно в Access есть свой механизм обработки такого функционала??? Подскажите пожалуйста... я просто не нашел никакого "готового решения", ничего в ФАКах.. по Accsses


Заранее благодарен!!
Автор: MrZeRo
Дата сообщения: 29.05.2006 15:04
Через RecordID навигацию делать, мне кажется, стремно. Я бы использовал для этого ключевое поле и метод FindFirst.
Через глобальное свойство Forms можно добраться до любой формы.
Конкретно описанную вами функциональность можно реализовать вчерне так:
у подчиненной формы написать обработчик

Цитата:

Private Sub Form_Current()
Set rs = Me.Parent.RecordsetClone
rs.FindFirst "[id]=" & Me![id]
Me.Parent.Bookmark = rs.Bookmark
End Sub

Предполагается, что id - ключевое поле редактируемой таблицы. Может быть и любая другая комбинация полей.
Здесь Parent - родительская форма.
Автор: Joseph007
Дата сообщения: 29.05.2006 18:24
Это действительно решение роблемы!

Я просто не сообразил использовать событие Form_Current() чтоб затем по FindFirst переключать записи.

Искренне признателен. Спасибо.

Ещё если можно - такой вопрос...

Ленточная форма "Continuous Form" имеет следующую структуру


Record Selector Поля для каждой записи
|| ||
V V
|--- |--------------------------------------------------------------|
| |\ | Field1 Field2 Fields3 |
| |/ | |
|--- |--------------------------------------------------------------|
| |\ | Field1 Field2 Fields3 |
| |/ | |
|--- |--------------------------------------------------------------|
| |\ | Field1 Field2 Fields3 |
| |/ | |
|--- |--------------------------------------------------------------|
| |\ | Field1 Field2 Fields3 |
| |/ | |
|--- |--------------------------------------------------------------|

Работает только при клике слева на Record Selector, тоесть происходит переключение активной записи (FormCurrent).

Можно ли сделать так чтоб событие Form_Current() происходило при клике на форму в районе полей?

Добавлено:
Всё сам решил.

Просто все поля были

.Enabled = false

РазЭнеблил одно поле и всё пошло как по маслу!!!



Спасибо MrZeRo

Тема закрыта!
Буду рад если кто извлечет для себя урок с этой темы.
Автор: jONES1979
Дата сообщения: 30.05.2006 20:38
на форуме посвященном MS Access на www.sql.ru есть ещё варианты.
В сумме их около трех разных. Пользуй поиск

Страницы: 1

Предыдущая тема: Delphi & Oracle & MS SQL


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.