Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.10.2009, 17:33   #1
Allan Stark
Пользователь
 
Регистрация: 23.10.2009
Сообщений: 11
По умолчанию Как лучше сделать форму редактирования таблицы ?

Добрый день.
Прошу прощения за глупые вопросы, я начинающий в VB...

Как лучше сделать форму редактирования таблицы ?

Есть простая таблица (справочник). Есть форма, в которой в списке она отображается.
Необходимо обеспечить ее редактирование.

Думал сделать это через вызов (посредством нажатия кнопки или двойного щелчка на списке) отдельной формы, в которую передавать ID редактируемой записи.
В форме будут соотв. поля записи.

Правильное ли мышление ?
И как передать в форму значение записи ?
Allan Stark вне форума Ответить с цитированием
Старый 27.10.2009, 19:31   #2
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Allan Stark.
выложив архив содержащий заранее подготовленый (избавленый от переизбыточного набора данных, объектов OLE, картинок и сжатый средствами MS Access) файл БД и описание, Вы многократно увеличите вероятность получения ответа.
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 28.10.2009, 14:22   #3
Allan Stark
Пользователь
 
Регистрация: 23.10.2009
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Teslenko_EA Посмотреть сообщение
Здравствуйте Allan Stark.
выложив архив содержащий заранее подготовленый (избавленый от переизбыточного набора данных, объектов OLE, картинок и сжатый средствами MS Access) файл БД и описание, Вы многократно увеличите вероятность получения ответа.
Евгений.
Прошу прощения, просто привык к стандартам ресурсов вроде mista.ru - там всем начинающим сразу начинают объяснять где их место и куда они должны идти с подобными вопросами...

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

Входящие в комплект учебные базы типа "Борей" - визуально устроены иначе, потому готового примера не нашел.
Вложения
Тип файла: zip test.zip (15.0 Кб, 34 просмотров)
Allan Stark вне форума Ответить с цитированием
Старый 28.10.2009, 18:30   #4
Allan Stark
Пользователь
 
Регистрация: 23.10.2009
Сообщений: 11
По умолчанию

Есть еще идея передавать ID редактируемой записи через свойство OpenArgs и при открытии формы делать запрос и извлекать соотв. данные из записи в поля на форме.

Еще вычитал, что можно всю форму связывать с конкретным источником данных, так сделано в том же "Борее".
Но как по мне, юзабилити такого решения - весьма специфическое для Access. Все же неискушенному пользователю привычнее иметь отдельные кнопки с понятными надписями вроде "Редактировать" или "Удалить" вместо малопонятных внизу формы...
Хотя когда мастером стандартную кнопку создаешь, то там тоже есть возможность привязки к данным.
Allan Stark вне форума Ответить с цитированием
Старый 29.10.2009, 20:18   #5
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Allan Stark.
не о таком ли способе вы спрашивали?
Евгений.
Вложения
Тип файла: zip test.zip (16.8 Кб, 103 просмотров)
Teslenko_EA вне форума Ответить с цитированием
Старый 02.11.2009, 19:27   #6
Allan Stark
Пользователь
 
Регистрация: 23.10.2009
Сообщений: 11
По умолчанию

Спасибо, все именно так как и нужно ;-)
Allan Stark вне форума Ответить с цитированием
Старый 02.11.2009, 19:38   #7
Allan Stark
Пользователь
 
Регистрация: 23.10.2009
Сообщений: 11
По умолчанию

Извините, можно еще вопрос с догонку.
Как принудительно выставить для компонента ListBox выбор первой строки при открытии формы ?

Вроде бы для этого предназначено свойство ListIndex, но во встроенной справке чушь: сказано что данное свойство есть Read-Only, но предлагается вариант его изменения через коллекции Forms & Controls (что на практике не работает)...
Allan Stark вне форума Ответить с цитированием
Старый 02.11.2009, 23:17   #8
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Allan Stark.
в Вашем случае будет работать подобная конструкция
Код:
Sub Form_Open(Cancel As Integer)
    ListBox0.Selected(1) = True
End Sub
почему "в Вашем..." - нумерация строк начинается с нуля, но Ваш ListBox настроен на отображение "Заглавий столбцов" (.ColumnHeads = True), это нормально, но при этом к значению ListIndex добавляется еденица.
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 03.11.2009, 11:00   #9
Allan Stark
Пользователь
 
Регистрация: 23.10.2009
Сообщений: 11
По умолчанию

Простите, я так делал - возникает неприятный эффект блокирования записи в списке, т.е. нельзя выбрать другой элемент.
Мне просто необходимо, чтобы при открытии формы автоматически выбиралась первая строка...
Allan Stark вне форума Ответить с цитированием
Старый 03.11.2009, 15:22   #10
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Allan Stark.
"проблема" может решаеться заменой строки на:
ListBox0.Selected(ListBox0.ListInde x) = False
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Посоветуйте, как лучше сделать бегущий график Shaienn Общие вопросы C/C++ 3 20.10.2009 18:31
Как заполнить форму данными из таблицы применяя макет dgadavin Microsoft Office Excel 5 11.09.2009 14:45
Как сделать форму прозрачной? guffer Общие вопросы Delphi 7 08.07.2009 13:37
Как сделать форму? HAMMAN Помощь студентам 1 29.01.2008 22:11
Подскажите как лучше сделать Gendolff БД в Delphi 1 10.02.2007 08:47