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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Список для перехода к записи в форме, проблемы с переходом на нужную запись 
V
    Опции темы
mws
Дата 22.5.2008, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Хочу для перехода к записи в форме использовать раскрывающийся список (ComboBox). Создал его с  помощью мастера. В списке отображались Фамилии и при выборе конкретной Фамилии из списка  осуществлялся переход на запись об этом сотруднике. Здесь все понятно.
Но фамилии естественно повторяются. Сделал новый список с помощью мастера, чтобы в нем отображались фамилия, имя, отчество (3 разных поля), в списке они отображаются, а переход осуществляется на первую из совпадающих фамилий в БД, т.е. имя и отчество игнорируются. Иначе говоря, если в списке у меня Иванов Андрей, Иванов Олег, Иванов Тимур и т.д., то при выборе любого из них я перехожу на первого в списке (у меня данные автоматически сортируются).
Как же быть, а если Ивановых у меня 500, то после перехода к первому дальше ищем кнопками перехода по записям? 

Подскажите, плиз!

Это сообщение отредактировал(а) Akina - 22.5.2008, 16:38
PM MAIL   Вверх
bopoha
Дата 22.5.2008, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Как насчет фильтра. Например, отображать только Ивановых.
PM MAIL WWW ICQ Skype GTalk   Вверх
Akina
Дата 22.5.2008, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

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



Не до конца ясно, как всё реализовано. 
Приложите упакованную БД (таблица с 5-6 записями и форма) в ZIP-архиве - это быстрее, чем обяснять.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
bopoha
Дата 22.5.2008, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(Akina @  22.5.2008,  16:40 Найти цитируемый пост)
Приложите упакованную БД (таблица с 5-6 записями и форма) в ZIP-архиве - это быстрее, чем обяснять. 


Переход к первой найденой записи. Такой код генерит мастер.
PM MAIL WWW ICQ Skype GTalk   Вверх
Akina
Дата 22.5.2008, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

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



Вот не убежден... 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
mws
  Дата 23.5.2008, 07:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Вот база. В форме "список" есть список для перехода к сотруднику. При повторяющихся фамилиях, игнорируютя имя и отчество - переходит все равно на первую в списке! 

Присоединённый файл ( Кол-во скачиваний: 7 )
Присоединённый файл  kadry.zip 107,48 Kb
PM MAIL   Вверх
ТоляМБА
Дата 23.5.2008, 08:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


Профиль
Группа: Завсегдатай
Сообщений: 1607
Регистрация: 15.12.2004

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



mws, вопрос можно: а как код то смотреть?
PM   Вверх
Akina
Дата 23.5.2008, 08:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

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



Код

Private Sub ПолеСоСписком167_AfterUpdate()
    ' Поиск записи, соответствующей этому элементу управления.
    Dim rs As Object
    Dim strSQL As String

    Set rs = Me.Recordset.Clone
    strSQL = "([Фамилия] = '" & Me.ПолеСоСписком167.Column(0) & "') AND " & _
             "([Имя] = '" & Me.ПолеСоСписком167.Column(1) & "') AND " & _
             "([Отчество] = '" & Me.ПолеСоСписком167.Column(2) & "')"
    rs.FindFirst strSQL
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub
ТоляМБА, открывайте базу при нажатом Shift.



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
mws
Дата 23.5.2008, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Akina, спасибо. Глянул код, как сам не догадался... Ларчик просто открывался!
PM MAIL   Вверх
mws
Дата 23.5.2008, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Прошу прощения за назойливость, но возник вопрос в продолжение темы.

В первом случае все 3 поля (ФИО) - текстовые, а если 1 - текст, а 2 - дата, тут как быть (учреждение-отчетная дата)?
Получилось у меня так:
Код

Private Sub ПолеСоСписком40_AfterUpdate()
    Dim rs As Object
    Dim strSQL As String

    Set rs = Me.Recordset.Clone
    strSQL = "([Учреждение] = '" & Me.ПолеСоСписком40.Column(0) & "') AND " & _
             "([Отчетная дата] = '" & Me.ПолеСоСписком40.Column(1) & "')    "
    rs.FindFirst strSQL
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub


Естественно, что выдает "несоответствие типов"
Пробовал и через str и через Cdate, в итоге запутался... Если дата, то может использовать вместо кавычек решетку #           Только куда ее ставить?

Это сообщение отредактировал(а) Akina - 23.5.2008, 13:33
PM MAIL   Вверх
bopoha
Дата 23.5.2008, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Дату нужно приводить к формату:
Код

Format(дата, "#mm/dd/yyyy#")

PM MAIL WWW ICQ Skype GTalk   Вверх
mws
Дата 23.5.2008, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



bopoha, , спасибо!!! Для этого случая все заработало. Попробовал сделать такой же переход по полям "Учреждение" и "Отчетная дата", возникла проблема - разный тип данных, как тут быть?
Подскажите, плиз! Пробовал и str и CDate, в итоге запутался. Может тут вместо кавычек для даты использовать решетку #


Код

Private Sub ПолеСоСписком40_AfterUpdate()
    Dim rs As Object
    Dim strSQL As String

    Set rs = Me.Recordset.Clone
    strSQL = "([Учреждение] = '" & Me.ПолеСоСписком40.Column(0) & "') AND " & _
             "([Отчетная дата] = '" & Me.ПолеСоСписком40.Column(1) & "')    "
    rs.FindFirst strSQL
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub


Это сообщение отредактировал(а) Akina - 23.5.2008, 13:33
PM MAIL   Вверх
Akina
Дата 23.5.2008, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

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




M
Akina
1) Используйте тег "Код";
2) Один топик - один вопрос.



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
bopoha
Дата 26.5.2008, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Немного ошибся в формате даты для поиска - #dd.mm.yyyy#.
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.0869 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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