Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Какой объект использовать? Для выбора строки в таблице 
:(
    Опции темы
DelphianOracle
Дата 24.4.2008, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 20.5.2007

Репутация: нет
Всего: нет



Объект List позволяет пользователю выбрать строку из таблицы, но это все некрасиво и неудобно. SubForm позволяет красиво показать пользователю таблицу, но как из нее выбрать строку? Мне надо что-нибудь, что выглядело как SubForm, но со свойством ListIndex.
Пожалуйста, помогите.
PM MAIL   Вверх
bopoha
Дата 24.4.2008, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: 21
Всего: 21



А зачем вам ListIndex? Значение ключевого поля, выделенной записи в подчиненной форме, вас не устраивает?
PM MAIL WWW ICQ Skype GTalk   Вверх
DelphianOracle
Дата 24.4.2008, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 20.5.2007

Репутация: нет
Всего: нет



Цитата(bopoha @  24.4.2008,  12:59 Найти цитируемый пост)
 Значение ключевого поля, выделенной записи в подчиненной форме, вас не устраивает?

Устраивает. А как узнать номер выделенной записи?

Добавлено через 9 минут и 8 секунд
Спс, понял. Нужное свойство - CurrentRecord. Огромное вам спасибо!!!
PM MAIL   Вверх
bopoha
Дата 24.4.2008, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: 21
Всего: 21



Очень любопытно, зачем?
PM MAIL WWW ICQ Skype GTalk   Вверх
DelphianOracle
Дата 25.4.2008, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 20.5.2007

Репутация: нет
Всего: нет



Пользователь выбирает нужную запись, и по нажатию на кнопку выполняются действия с выбраной записью.
Кстати, CurrentRecord как-то странно работает - в окне Watch одно значение (правильное), а реально в программе другое (0). Т.е. я ставлю условие If SubForm.Report.CurrentRecord = 0 then ... , условие выполняется, хотя в окне Watch стоит  совсем не 0.
И если навести на выражение мышку, показывается тоже 0. Что это - баг, фича, или помутнение рассудка smile?
PM MAIL   Вверх
bopoha
Дата 25.4.2008, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: 21
Всего: 21



Цитата(DelphianOracle @  25.4.2008,  14:47 Найти цитируемый пост)
выполняются действия с выбраной записью.


Зачем для этого знать номер? Причем по порядку. Он не уникальный и при обновлении меняется. При этом, если обратится к полям формы, то будут доступны данные выбранной пользователем записи. Используйте значение ключевого поля для операций над записью и будет счастье.
PM MAIL WWW ICQ Skype GTalk   Вверх
DelphianOracle
Дата 25.4.2008, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 20.5.2007

Репутация: нет
Всего: нет



Цитата(bopoha @  25.4.2008,  15:03 Найти цитируемый пост)
Зачем для этого знать номер? Причем по порядку.

Чтобы использовать метод Move для объекта recordset
Цитата(bopoha @  25.4.2008,  15:03 Найти цитируемый пост)
Используйте значение ключевого поля для операций над записью

Как? Можно поподробнее?
PM MAIL   Вверх
bopoha
Дата 25.4.2008, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: 21
Всего: 21



Я так понимаю в Recordset необходимо найти ту же запись. 
Варианта два:
1. 
Код

Set rst = Me.RecordsetClone
...
rst.Bookmark =  Me.Bookmark



2.
Код

Dim lPK as Long
lPK = Me.ПолеСУникальнымиЗначениями
rst.FindFirst "ПолеСУникальнымиЗначениями = " & lPK
if Not rst.NoMatch Then
    '-- Нашли
endif


ПолеСУникальнымиЗначениями - находится в таблице и имеет тип счетчик.
PM MAIL WWW ICQ Skype GTalk   Вверх
DelphianOracle
Дата 25.4.2008, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 20.5.2007

Репутация: нет
Всего: нет



Код

lPK = Me.№
rst.FindFirst "№ = " & lPK
If rst.NoMatch Then
    Exit Sub
End If

Method or data member not found и выделяет Me.№
Код

rst.Bookmark = Me.Bookmark

Введенное выражение содержит недопустимую ссылку на свойство "Bookmark".
PM MAIL   Вверх
DelphianOracle
Дата 25.4.2008, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 20.5.2007

Репутация: нет
Всего: нет



Вместо CurrentRecord поставил SelTop, и все заработало!!!
bopoha, хотя задача решена, хотелось бы все-таки узнать альтернативное, и, возможно, более правильное решение. Плизз, ответьте...
PM MAIL   Вверх
bopoha
Дата 26.4.2008, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: 21
Всего: 21



Что есть №?

Как в таблице поле счетчика называется?


Цитата(DelphianOracle @  25.4.2008,  18:27 Найти цитируемый пост)

Введенное выражение содержит недопустимую ссылку на свойство "Bookmark". 


Bookmark будет работать, если recordset получен методом RecordsetClone с формы.
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Access | Следующая тема »


 




[ Время генерации скрипта: 0.0806 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.