Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: 1 2 3 [Все]   Вниз
  Печать  
Автор Тема: Поиск записи в Access  (Прочитано 74630 раз)
0 Пользователей и 1 Гость смотрят эту тему.
monrus
Опытный

ru
Offline Offline

« : 10-02-2007 08:16 » 

Как сделать, чтобы при вводе данных в поле на форме - находилась похожая строка в базе и выводилась на форму КАК В СТРОКЕ СОСТОЯНИЯ ФОРМЫ В ACCESS 2007?
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 10-02-2007 14:24 » 

monrus, после каждого введенного символа выполняй поиск с LIKE. Только какая от этого польза?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Хз, я не очень просто не очень во всё это верю, во всякие там сатурны и прочую поебень.
monrus
Опытный

ru
Offline Offline

« Ответ #2 : 10-02-2007 17:19 » 

Просто у меня на форме в Акцессе 2007 есть поле "поиск" (см. рисунок - №1), где по первым введенным буквам отображается на форме нужная запись. А в Акцессе 2003, который на работе - такого поля нет. Хотелось бы такое же реализовать с обычным полем (см. рис.- №2). Чтобы не нажимать постоянно для поиска Ctrl+F

* Буфер обмена02.gif (15.19 Кб - загружено 1351 раз.)
Записан
HandKot
Молодой специалист

ru
Offline Offline

« Ответ #3 : 12-02-2007 06:28 » 

что-то типа этого
Код:
Private Sub MyTextBox_Change()
    Dim rst As DAO.Recordset, intI As Integer

    Set rst = Form.Recordset
    rst.FindFirst "[MyField] like '" & MyTextBox.Text & "*'"
    Debug.Print rst.NoMatch
    MyTextBox.SelStart = Len(MyTextBox.Text)
   
End Sub
« Последнее редактирование: 15-12-2007 16:23 от Алексей1153++ » Записан

I Have Nine Lives You Have One Only
THINK!
monrus
Опытный

ru
Offline Offline

« Ответ #4 : 12-02-2007 15:28 » 

HandKot, большое спасибо!!!
Записан
monrus
Опытный

ru
Offline Offline

« Ответ #5 : 13-02-2007 15:48 » 

А как сделать чтобы он во всех полях искал?
Записан
HandKot
Молодой специалист

ru
Offline Offline

« Ответ #6 : 14-02-2007 06:07 » 

А как сделать чтобы он во всех полях искал?
попробуйте так
rst.FindFirst "[MyField] like '" & MyTextBox.Text & "*' OR [MyField2] like '" & MyTextBox.Text & "*'"
« Последнее редактирование: 15-12-2007 16:25 от Алексей1153++ » Записан

I Have Nine Lives You Have One Only
THINK!
monrus
Опытный

ru
Offline Offline

« Ответ #7 : 14-02-2007 13:58 » 

спасибо. это получается надо все поля прописывать?
Записан
HandKot
Молодой специалист

ru
Offline Offline

« Ответ #8 : 15-02-2007 06:12 » 

спасибо. это получается надо все поля прописывать?
а вы как думали
Если взять, к примеру вас, тоже ведь глазами будете пробегать все поля
а комп ничем не лучше, по крайней мере, телепатией и предсказаниями не владеет Улыбаюсь
Записан

I Have Nine Lives You Have One Only
THINK!
monrus
Опытный

ru
Offline Offline

« Ответ #9 : 15-02-2007 14:14 » 

Улыбаюсь. Извиняюсь - я имел ввиду, чем каждый раз новое поле прописывать, можно было бы как в SQL типа all или *. Но все равно большое спасибо что помог!!!
Записан
monrus
Опытный

ru
Offline Offline

« Ответ #10 : 22-02-2007 15:30 » 

Еще один вопрос - этот метод ищет в строке с первого символа. а как слелать чтобы с любогоместа в строке искал.
Записан
HandKot
Молодой специалист

ru
Offline Offline

« Ответ #11 : 26-02-2007 05:55 » 

Еще один вопрос - этот метод ищет в строке с первого символа. а как слелать чтобы с любогоместа в строке искал.
поставить символ "звездочка" в начале
Код:
rst.FindFirst "[MyField] like '*" & MyTextBox.Text & "*' OR [MyField2] like '*" & MyTextBox.Text & "*'"
« Последнее редактирование: 15-12-2007 16:26 от Алексей1153++ » Записан

I Have Nine Lives You Have One Only
THINK!
monrus
Опытный

ru
Offline Offline

« Ответ #12 : 27-02-2007 13:40 » 

Огромное спасибо!
Записан
corvin-nik
Гость
« Ответ #13 : 03-05-2007 08:20 » 

monrus, HandKot,  Везет же людям, все у них заработало. А я уже второй день бьюсь и ничего кроме ошибки 3077 (пропущен оператов в выражении) ничего не получается, если же поставить одиночные кавычки, вроде как по правилам, то вообще ничего не ищется.
Помогите пожалуста понять, что может быть не так? Изначальный пример кода не работает.
« Последнее редактирование: 03-05-2007 08:22 от corvin-nik » Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #14 : 03-05-2007 13:45 » 

corvin-nik,
rst.FindFirst "[MyField] like '*" & MyTextBox.Text & "*' OR [MyField2] like '*" & MyTextBox.Text & "*'"

corvin-nik, тоже в ИЕ сидишь ? )
Записан

corvin-nik
Гость
« Ответ #15 : 03-05-2007 14:49 » 

corvin-nik,
rst.FindFirst "[MyField] like '*" & MyTextBox.Text & "*' OR [MyField2] like '*" & MyTextBox.Text & "*'"

corvin-nik, тоже в ИЕ сидишь ? )


Спасибо! Сижу, блином Билли эдак и так р-р-р-р Улыбаюсь
Записан
corvin-nik
Гость
« Ответ #16 : 03-05-2007 14:51 » 

Еще один вопрос: как можно выделять найденные символы, чтоб не шарить глазами по строкам?
Записан
daikmax
Гость
« Ответ #17 : 30-07-2008 22:35 » 

Может уже не актуально, но всетаки интересно, как сделать такойже поиск, но по двум полям, дапустим имя и фамилия???
Записан
daikmax
Гость
« Ответ #18 : 30-07-2008 22:38 » 

Может уже не актуально, но всетаки интересно, как сделать такойже поиск, но по двум полям, дапустим имя и фамилия???
задача такова: два поля даля ввода текста на поиск, сам поиск по одной колонке, только так как в примере сверху... Так сказатй поиск в реалйном времени Улыбаюсь)
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #19 : 31-07-2008 03:53 » 

daikmax, поиск по N поляд делается почти точно также, как и поиск по одному полю: ищем по первому, совпадения проверяем по остальным полям.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Хз, я не очень просто не очень во всё это верю, во всякие там сатурны и прочую поебень.
daikmax
Гость
« Ответ #20 : 01-08-2008 20:16 » 

Private Sub MyTextBox_Change()
    Dim rst As DAO.Recordset, intI As Integer

    Set rst = Form.Recordset
    rst.FindFirst "[MyField] like '*" & MyTextBox.Text & "*' OR [MyField2] like '*" & MyTextBox.Text & "*'"
    Debug.Print rst.NoMatch
    MyTextBox.SelStart = Len(MyTextBox.Text)
   
End Sub

этот код выполняет поиск по двум разным полям базы, каждый раз когда я набераю символ в  один текстбокс?! Верно?
У меня немного другая задача, таблица дапустим в две колонки, 1-я имя, 2-а фамилия! Надо
идентичный поиск, если я ввел фамилию, и в базе фамилии одинаковые, то я ввожу есчо и имя!
Как сделать правелйый провеку, и возможена ли реализацыя такова поиска?!
Записан
HandKot
Молодой специалист

ru
Offline Offline

« Ответ #21 : 04-08-2008 04:26 » 

попробуйте так
Код:
'где вводим фамилию
Private Sub MyTextBoxFamily_Change()
    Dim rst As DAO.Recordset, intI As Integer

    Set rst = Form.Recordset
    rst.FindFirst "[MyField_Family] like '*" & MyTextBoxFamily.Text & "*' AND [MyField_Name] like '*" & MyTextBoxName.Text & "*'"
    Debug.Print rst.NoMatch
    MyTextBoxFamyly.SelStart = Len(MyTextBoxFamily.Text)
End Sub

'где вводим имя
Private Sub MyTextBoxName_Change()
    Dim rst As DAO.Recordset, intI As Integer

    Set rst = Form.Recordset
    rst.FindFirst "[MyField_Family] like '*" & MyTextBoxFamily.Text & "*' AND [MyField_Name] like '*" & MyTextBoxName.Text & "*'"
    Debug.Print rst.NoMatch
    MyTextBoxName.SelStart = Len(MyTextBoxName.Text)
End Sub
Записан

I Have Nine Lives You Have One Only
THINK!
LexandrIII
Гость
« Ответ #22 : 19-11-2008 09:02 » 

А как сделать поиск, чтобы в таблице оставались толке записи, которые набираешь в отдельном поле поиска?
Записан
HandKot
Молодой специалист

ru
Offline Offline

« Ответ #23 : 19-11-2008 10:50 » 

не совсем понятен вопрос
возможно Вы имели ввиду св-во Filtr объекта RecordSet
Записан

I Have Nine Lives You Have One Only
THINK!
LexandrIII
Гость
« Ответ #24 : 26-11-2008 11:25 » 

HandKot, возможно. Есть таблица и есть поле ввода. Мне нужно, чтобы в таблице оставались только записи соответствующие тому, что набирается в поле ввода. Соответствие допустим будет по полю Name таблицы.
Записан
HandKot
Молодой специалист

ru
Offline Offline

« Ответ #25 : 27-11-2008 05:09 » 

на событие изменения в поле (txtFilter) ввода пишете, что-то похожее на это
sub txtFilter_Change
  myRecordset.Filtr = "Name like '" + txtFilter + "*'"
 
end sub
Записан

I Have Nine Lives You Have One Only
THINK!
EnergyUzh
Гость
« Ответ #26 : 10-06-2009 07:25 » 

Код:
Private Sub Поиск_Change()
Dim rst As DAO.Recordset, intI As Integer
    Set rst = Form.Recordset
    rst.FindFirst "Инструкции like '*" & Поиск.Text & "*'"
    Debug.Print rst.NoMatch
    Поиск.SelStart = Len(Поиск.Text)
End Sub

Выбивает ошибку 3070 "Инструкции" не распознается ядром базы даных Microsoft Jet
Записан
HandKot
Молодой специалист

ru
Offline Offline

« Ответ #27 : 10-06-2009 10:08 » 

 а такое поле вообще есть в таблице/рекордсете ?

так же попробуйте обернуть "брикетами"
Код:
rst.FindFirst "[Инструкции] like '*" & Поиск.Text & "*'"
Записан

I Have Nine Lives You Have One Only
THINK!
EnergyUzh
Гость
« Ответ #28 : 10-06-2009 10:16 » 

Спасибо, не заметил ошибку в написании. И еще одно можно ли как-то переделать этот код что бы в поле можно было писать не только одно слово, и пользоваться пробелом...
Записан
HandKot
Молодой специалист

ru
Offline Offline

« Ответ #29 : 10-06-2009 10:25 » 

не понял
Записан

I Have Nine Lives You Have One Only
THINK!
EnergyUzh
Гость
« Ответ #30 : 10-06-2009 10:27 » 

Нету возможности писать "пробел" в поле Поиск. После нажатия на него, предидущий поиск как бы отменяеться:)
Записан
HandKot
Молодой специалист

ru
Offline Offline

« Ответ #31 : 10-06-2009 10:33 » 

поле Поиск - это текстовое поле?
Записан

I Have Nine Lives You Have One Only
THINK!
EnergyUzh
Гость
« Ответ #32 : 10-06-2009 10:41 » 

Да, Текст Бокс
Записан
HandKot
Молодой специалист

ru
Offline Offline

« Ответ #33 : 10-06-2009 10:51 » 

так вроде в текст бокс не запрещено писать "пробел"

объясните подробнее никак не пойму
Записан

I Have Nine Lives You Have One Only
THINK!
EnergyUzh
Гость
« Ответ #34 : 10-06-2009 10:56 » 

Спасибо уже разобрался.
Записан
saintrough
Гость
« Ответ #35 : 23-07-2009 09:54 » 

Подскажите пожалуйста, как решить следующую задачу:


Код:
Private Sub MyTextBox_Change()
    Dim rst As DAO.Recordset, intI As Integer

    Set rst = Form.Recordset
    rst.FindFirst "[MyField] like '" & MyTextBox.Text & "*'"
    Debug.Print rst.NoMatch
    MyTextBox.SelStart = Len(MyTextBox.Text)
   
End Sub


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

ru
Offline Offline

« Ответ #36 : 24-07-2009 05:02 » 

если правильно понял, то на форме расположите грид
источником данных у грида сделайте рекордсет rst
и при установке фильтра на рекордсете rst.Filter в гриде будут отображатся отфильтрованные записи

ЗЫЖ за указание правильности свойств не отвечаю, но такие точно есть
Записан

I Have Nine Lives You Have One Only
THINK!
saintrough
Гость
« Ответ #37 : 24-07-2009 10:56 » 

Спасибо! надо будет попробовать)
Записан
Johann
Гость
« Ответ #38 : 13-12-2009 15:31 » 

Если не в тот топик, извините, хотя смысл моего вопроса похож на смысл присутствующих в этой теме вопросов.

Итак, имеется БД в access 2007.

Не могу реализовать следующее:
Чтобы при введении записи в поле на форме, проверялись совпадения этого поля с полем в таблице и если совпадений нет, то добавлять запись в таблицу. А если есть, то выводить сообщение об ошибке.

Пример.
Таблица - students (Поля: id, fio, zachetka)
Форма - form (Поля: id, fio, zachetka)
Если у определенного студента номер зачетки совпадает с вводимым номером, то выводить ошибку. (Такой номер зачетки уже есть у студента "такого-то". Введите другой номер зачетки.)

Помогите пожалуйста. На мой взгляд объяснил доступно.
Заранее всем спасибо.
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #39 : 13-12-2009 17:04 » 

Johann, попробуй создать уникальный индекс по этому полю: если при вставке такое значение в столбце уже есть, то выдаст ошибку.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Хз, я не очень просто не очень во всё это верю, во всякие там сатурны и прочую поебень.
Johann
Гость
« Ответ #40 : 13-12-2009 17:41 » 

Ну вот мне желательно бы без индексов. Я реализовывал такое с помощью поля: "Индексирование поля" при создании структуры таблицы, но мне нужно именно путем VBA решить проблему! Ага
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #41 : 13-12-2009 17:47 » 

Тогда сперва сделай запрос на наличие такого значения. Только без индекса оно будет выполняться медленно (если конечно таблица не из 100 записей).
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Хз, я не очень просто не очень во всё это верю, во всякие там сатурны и прочую поебень.
Johann
Гость
« Ответ #42 : 13-12-2009 17:55 » 

А подробнее?))

Записей в таблице действительно не много.

P.s прошу прощения сразу за мою непонятливость. Работаю с акцесс всего пару месяцев вынужденно, поэтому много непонятного для меня. Мне много ближе веб-программирование.
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #43 : 13-12-2009 18:10 » 

Johann, сформулируй вопрос - что не понятно?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Хз, я не очень просто не очень во всё это верю, во всякие там сатурны и прочую поебень.
Johann
Гость
« Ответ #44 : 13-12-2009 18:13 » 

Как сделать запрос на наличие значения.
Записан
Johann
Гость
« Ответ #45 : 13-12-2009 18:21 » 

А еще конкретнее, я хочу сделать цикл с параметром, который начиная с первого значения и кончая самым последнем проверяет есть ли запись с таким значением, если есть - ошибка, нет - вставляем запись.
Просто я не знаю как реализовать это в VBA, а времени читать литературу нет, поэтому обратился к вам.
Точнее, я читал некоторые фрагменты по циклам в VBA, но никак не смог сделать так, чтобы он из таблицы значения проверял.
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #46 : 13-12-2009 18:21 » 

Как же ты веб-программированием занимаешься без баз? Меня одолевают смутные сомнения

Код:
SELECT id FROM tab WHERE id = $new_value;
« Последнее редактирование: 13-12-2009 18:22 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Хз, я не очень просто не очень во всё это верю, во всякие там сатурны и прочую поебень.
Johann
Гость
« Ответ #47 : 13-12-2009 18:24 » 

Брр, ну это понятно. Ага Прочти выше пост.
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #48 : 13-12-2009 18:54 » 

Johann, см. в MSDN описание объектов ADO - это не сложно. Примером сейчас помочь не могу.
Можно тут статьи про ADO почитать: https://club.shelek.ru/view.php?id=17
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Хз, я не очень просто не очень во всё это верю, во всякие там сатурны и прочую поебень.
Johann
Гость
« Ответ #49 : 14-12-2009 14:59 » 

Спасибо за советы. Сделал все. Даже больше чем нужно было!
Записан
Spirit
Новенький

ru
Offline Offline

« Ответ #50 : 07-01-2011 18:16 » 

подскажите пожалуйста..
При работе в форме с текущей таблицей пользуюсь FindFirst - проблем никаких не возникает.
А при открытии из той же формы другой таблицы (например, Set rstDao = CurrentDb.OpenRecordset("Склад"))
FindFirst не работает!!!  Проверял - таблица точно прицеплена. В чем может быть причина?
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #51 : 07-01-2011 18:24 » 

Если курсор однонаправленный, то перемотка невозможна.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Хз, я не очень просто не очень во всё это верю, во всякие там сатурны и прочую поебень.
Spirit
Новенький

ru
Offline Offline

« Ответ #52 : 07-01-2011 18:35 » 

А есть какой либо правильный путь?
Задание таково: есть две таблицы  приход и склад. При вводе данных в приход (поле товар) должно проверяться наличие  таково же товара  в  таблице складе. если есть - запрос на объединение, нет - на дополнение. Все работает но вручную. Как в VB лучше оформить
поиск для дальнейшей обработки
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #53 : 07-01-2011 18:43 » 

Алгоритм прост:

1. открыл
2. проверил на конец
3. прочитал
4. перешел к следующему (п.2)
5. закрыл

Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Хз, я не очень просто не очень во всё это верю, во всякие там сатурны и прочую поебень.
slb51
Новенький

ru
Offline Offline

« Ответ #54 : 27-08-2011 08:45 » 

Я попробовал реализовать этот код. Работает без проблем.
Код:
Private Sub MyTextBox_Change()
    Dim rst As DAO.Recordset, intI As Integer

    Set rst = Form.Recordset
    rst.FindFirst "[MyField] like '*" & MyTextBox.Text & "*' OR [MyField2] like '*" & MyTextBox.Text & "*'"
    Debug.Print rst.NoMatch
    MyTextBox.SelStart = Len(MyTextBox.Text)
   
End Sub
Однако, в этой связи у меня возникло два вопросов. Во-первых, как сделать, чтобы MyTextBox был на главной форме, а поиск происходил по подчинённой форме? И, во-вторых, если это единичная форма, в смысле нет у неё подчинённой формы, а поиск ведётся прямо в ней же, можно ли сделать, чтобы форма была в режиме таблицы и на ней было бы видно MyTextBox?

Добавлено через 1 час, 37 минут и 50 секунд:
Цитата
вроде в текст бокс не запрещено писать "пробел"
Цитата
Спасибо, уже разобрался
А я не разобрался. Объясните, пожалуйста.
« Последнее редактирование: 27-08-2011 10:22 от slb51 » Записан
HandKot
Молодой специалист

ru
Offline Offline

« Ответ #55 : 29-08-2011 04:23 » 

Цитата: slb51
поиск происходил по подчинённой форме
замените на нужную форму
Код:
Set rst = FormПодчиненная.Recordset

Цитата: slb51
форма была в режиме таблицы и на ней было бы видно MyTextBox
тут я не знаю.
но что мешает на форме разместить грид?
Записан

I Have Nine Lives You Have One Only
THINK!
slb51
Новенький

ru
Offline Offline

« Ответ #56 : 31-08-2011 13:33 » 

Так не получается.
Цитата
Set rst = FormПодчиненная.Recordset
Здесь Form - это же не имя формы.

Добавлено через 8 часов, 2 минуты и 51 секунду:
Разобрался:
Цитата
Set rst = FormПодчиненная.Recordset
Почти правильно. Только надо вот так:
Код:
Set rst = Подчиненная.Form.Recordset
« Последнее редактирование: 31-08-2011 21:35 от slb51 » Записан
ivanov2000
Новенький

ru
Offline Offline

« Ответ #57 : 11-09-2012 11:11 » 

EnergyUzh,
Нету возможности писать "пробел" в поле Поиск. После нажатия на него, предидущий поиск как бы отменяеться:)
, та же проблема, как решить?
Записан
HandKot
Молодой специалист

ru
Offline Offline

« Ответ #58 : 12-09-2012 04:00 » 

давно это было....
расскажите о Вашей проблеме более конкретно, что, где, как
Записан

I Have Nine Lives You Have One Only
THINK!
ivanov2000
Новенький

ru
Offline Offline

« Ответ #59 : 13-09-2012 06:33 » 

давно это было....
расскажите о Вашей проблеме более конкретно, что, где, как
Имеется форма:

и
Код:
Private Sub Поиск_Change()
   
    Dim rst As DAO.Recordset
    Set rst = Form.Recordset
    rst.FindFirst "[ЛПУ] like '*" & Поиск.Text & "*'"
    Debug.Print rst.NoMatch
    Поиск.SelStart = Len(Поиск.Text)

End Sub
Когда пытаюсь найти конкретную аптеку в поле Поиск, например Аптека № 4 /85, то не могу ввести пробелы. Поле Поиск - это текстовое поле!
Записан
HandKot
Молодой специалист

ru
Offline Offline

« Ответ #60 : 14-09-2012 04:12 » 

странно, у меня такого не наблюдается
на форме расположил обычный textbox и вводится туда все, что угодно
если есть возможность, вылодите свой проект или создайте новый пустой проект, создайте там форму подобную показанной и выложите его
Записан

I Have Nine Lives You Have One Only
THINK!
ivanov2000
Новенький

ru
Offline Offline

« Ответ #61 : 17-09-2012 21:24 » 

HandKot, огромное спасибо за помощь! Вот файл -

* Database1.accdb (620 Кб - загружено 200 раз.)
Записан
HandKot
Молодой специалист

ru
Offline Offline

« Ответ #62 : 19-09-2012 05:14 » 

замените свою процедуру, осуществляющую поиск, следующей
Код:
Private Sub Поиск_Change()

    Dim rst As DAO.Recordset

    'полуучаем набор записей для поиска
    Set rst = Me.Recordset.Clone
    'делаем поиск
    rst.FindFirst "[ЛПУ] like '*" & Поиск.Text & "*'"
   
    Debug.Print rst.NoMatch
   
    'если неудачно, то просто выходим
    If rst.NoMatch Then Exit Sub
   
    'иначе переходим на найденнную запись
    Me.Bookmark = rst.Bookmark
   
    'встаем в поле поиска
    Поиск.SelStart = Len(Поиск.Text)
End Sub

должно работать
Записан

I Have Nine Lives You Have One Only
THINK!
ivanov2000
Новенький

ru
Offline Offline

« Ответ #63 : 19-09-2012 08:37 » 

HandKot, огромное спасибо за помощь, ещё раз! Все работает.
Записан
HandKot
Молодой специалист

ru
Offline Offline

« Ответ #64 : 21-09-2012 03:54 » 

кстати, тут подумалось
что можно вместо текстбокса использовать комбобокс (поле со списком)
в настройках указать, что для поиска записей
Записан

I Have Nine Lives You Have One Only
THINK!
Страниц: 1 2 3 [Все]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines