С Новым годом! Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 03.10.2010
Сообщений: 8
1

Поиск в Access своими силами

05.10.2010, 10:44. Показов 1187. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub Command89_Click() 
Dim rst As Recordset
Dim strSearchName As String
    Set rst = Me.RecordsetClone
   
    strSearchName = Str(InputBox('Введите номер проекта: ', 'Поиск'))
    rst.FindFirst 'number = ' & strSearchName
    If rst.Seek.NoMatch Then
            MsgBox 'Record not found'
        Else
            Me.Bookmark = rst.Bookmark
        End If
    rst.Close
End Sub
выдает ошибку Metod or data metod not found и подсвечивает .FindFirst в строке
Visual Basic
1
rst.FindFirst 'number = ' & strSearchName
Что за ерунда? Может я не пожключил какие-то библиотеки?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.10.2010, 10:44
Ответы с готовыми решениями:

Сохранение html из-под Access силами ACCESS - как проще?
В форму встроен элемент WebBrowserControl. при выборе из ComboBox формы в WebBrowserControl по...

Регистрация апдейта своими силами
Написал скрипт съема позиций по Яндексу. Вопрос. Если из него я соберу такую систему, которая...

Преобразование DateTime в строку своими силами
Как известно для преобразования pDateTime используется готовая функция DateTimeToString. У меня...

Восстановление устройства Huawei AR1200 своими силами
1.Настроив как-то раз из нескольких попыток данный роутер, и забыв о нем на пол года, обнаружил что...

7
Joss-Dim
05.10.2010, 12:04 2
Просмотри ссылки на библиотеки ADO и DAO. Если нет DAO - то подключи. Попробуй поменять очередность ссылок.
4 / 4 / 0
Регистрация: 03.06.2010
Сообщений: 242
05.10.2010, 12:44 3
Укажи явно
Visual Basic
1
Dim rst As Dao.Recordset
0
0 / 0 / 0
Регистрация: 03.10.2010
Сообщений: 8
05.10.2010, 13:23  [ТС] 4
Седал как сказал Jos-Dim все сработало. спасибо
0
0 / 0 / 0
Регистрация: 03.10.2010
Сообщений: 8
05.10.2010, 16:02  [ТС] 5
Еще вопрос на эту тему - rsK.FindFirst kriterija ищет только точные совпадения, а как сделать чтоб можно было вводить примерный запрос? например начальные буквы улицы.
0
4 / 4 / 0
Регистрация: 03.06.2010
Сообщений: 242
05.10.2010, 16:25 6
Вместо = используй Like
Например

'Имя_поля Like '' & me.Поле_с_первыми_буквами & '*''
0
0 / 0 / 0
Регистрация: 30.11.2010
Сообщений: 4
02.12.2010, 10:03 7
Привет! Помогите, пожалуйста!
Есть таблица №|ТипДокумента| ВидДокумента| ПолноеНаименование| НомерДокумента| ДатаЗаключения|. Нужно организовать поиск по нескольким полям. Для этого создал форму с соответствующими полями, в которые вносятся искомые значения. При нажатии кнопки 'Поиск' выводится ленточная форма с найденными записями. Проблем с поиском по условию 'или' (т.е. соответстве хотя бы одному из заданных в поиске полей) у меня нет, а вот с 'и' не получается. Если не заполнено одно из полей формы поиска, то в ленточной форме не отображается ни одной записи, т.к. ведется поиск записей со значением Null, а их в исходной таблице нет. Как сделать, чтобы при наличии не заполненных полей в форме поиска они игнорировались в условиях поиска?
0
0 / 0 / 0
Регистрация: 15.12.2010
Сообщений: 12
15.12.2010, 22:29 8
Поиск по 3 значениям (пример)
В функцию Search_by_3 передаются следующие параметры
значение первого поля
значение второго поля
значение третьего поля
имя таблицы
номер столбца этой таблицы для поиска в первом поле
....
num - номер поля из которого нужно получить результат
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Private Function Search_by_3(fil1 As Variant, fil2 As Variant, fil3 As Variant, name_table As String, c1 As Integer, c2 As Integer, c3 As Integer, num As Integer) As Variant
Dim fin As Recordset
Dim search_st As Variant
Dim cu as Database
Set cu=CurrentDb
Set fin = cu.OpenRecordset(name_table)
fin.MoveFirst
search_st = 0
Do While Not fin.EOF
    If fil1 = fin.Fields(c1) Then
        If fil2 = fin.Fields(c2) Then
            If fil3 = fin.Fields(c3) Then
                search_st = fin.Fields(num)
                fin.MoveLast
            End If
        End If
    End If
    fin.MoveNext
Loop
fin.Close
Search_by_3 = search_st
End Function
Эту функцию можно немного видоизменить:
например, чтобы задавать не номера столбцов таблицы, а имена полей.
Ну в общем кому как удобно.
Замечание.
Нумерация столбцов в таблице начинается с нуля.
№ пп | FIO | Passport
0 1 2
0
15.12.2010, 22:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.12.2010, 22:29
Помогаю со студенческими работами здесь

Загрузка данных из табличного документа своими силами
Добрый день, Уважаемый СайберФорум. Я очень начинающий программист, которому понадобилось...

Возможно ли своими силами сделать из проводной клавиатуры беспроводную?
Друзья, можно ли сделать самому из проводной клавиатуры беспроводную?

Как организовать интернет-соединение в сельской местности своими силами
Здравствуйте уважаемые. Сам я не програмист и технического образования нет. Но вот в чем вопрос,...

Синхронизация 1С Битрикс и 1С УТ 11 своими силами. В каких таблицах mysql хранятся цены на товары?
Здравствуйте! Решил сам написать синхронизацию. Выгрузку yml из 1С уже сделал, хочу парсить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru