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

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Работа с методом Find... помогите....  (Прочитано 13260 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Scania
Гость
« : 10-08-2008 11:46 » 

Есть база данных в Access 97, в базе только одна таблица. Формы сделаны в VB 6. Столкнулся с такой проблемой. Надо организовать поиск по фамилии. В проекте есть форма для занесения данных, и форма с элементом Datagrid. на этой форме расположены Adodc, Datagrid и 2 кнопки: "Поиск" и "Выход". При нажатии кнопки "Поиск" загружается форма на которой размещены 2 кнопки:"Поиск"(Command1) и "Выход"(Command2) и текстовое поле text1. Смысл такой: ввожу в поле критерий поиска, нажимаю поиск, и в Dаtagridе отображается нужная мне информация.

Вот такой код у меня получился:

Private Sub Command1_Click()
Dim strSurname As String
strSurname = "[Фамилия]= " + Text1.Text
SearchForm!Data1.Recordset.MoveFirst
SearchForm!Data1.Recordset.Find strSurname
Unload Me
End Sub

Но при выполнении выдает ошибку:

Код ошибки 3001: Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом, устанавливая фокус на эту строчку:

SearchForm!Data1.Recordset.Find strSurname

VB 6 начал не так давно изучать, может у кого есть другие варианты решения этой задачи?? Поделитесь пожалуйста.....
Записан
HandKot
Молодой специалист

ru
Offline Offline

« Ответ #1 : 11-08-2008 04:21 » new

скорее всего, т.к. Вы ищете текст, то его надро оборачивать в кавычки (одинартные или двойные не помню)
примертно так (для одиночных кавычек)
Код:
strSurname = "[Фамилия]= '" + Text1.Text + "'"
Записан

I Have Nine Lives You Have One Only
THINK!
Scania
Гость
« Ответ #2 : 12-08-2008 19:53 » 

Спасибо большое!!!!!!!!!!! Улыбаюсь Улыбаюсь) Сработало!!!!!!!!!!!!!!!!! Улыбаюсь) Улыбаюсь) Улыбаюсь)
Записан
Scania
Гость
« Ответ #3 : 12-08-2008 19:55 » 

Скажи, а можно сделать так, что бы после поиска в DATAGRIDe, отображались только те данные которые удовлетворили условию поиска?Не понялНе понялНе понялНе понял?? Улыбаюсь
Записан
HandKot
Молодой специалист

ru
Offline Offline

« Ответ #4 : 13-08-2008 04:15 » 

тогда надо не поиск использовать, а выставлять св-во Filtr у рекордсета
хотя такое св-во может быть и у датагрида
Записан

I Have Nine Lives You Have One Only
THINK!
Scania
Гость
« Ответ #5 : 13-08-2008 16:36 » 

Чего-то с Filter не получается..... в принципе что хотел, сделал.... Спасибо за помощь Улыбаюсь) Дальше буду сам разбираться. Не подскажешь, где можно нарыть нормальную литературу по VB. У меня есть несколько букварей, но толку от них никакого Не понял
Записан
HandKot
Молодой специалист

ru
Offline Offline

« Ответ #6 : 14-08-2008 04:10 » 

Цитата
Чего-то с Filter не получается
там достаточно все просто
Цитата
У меня есть несколько букварей, но толку от них никакого

точно не скажу, но вот тема "чтиво"
+ МСДН
Записан

I Have Nine Lives You Have One Only
THINK!
Scania
Гость
« Ответ #7 : 16-08-2008 19:31 » 

Если я правильно понял, то с фильтром примерно так должна выглядеть строчка:

SearchForm!Data1.Recordset.Filter (strSurname, Фамилия)

HandKot У тебя есть материалы как настроить занесение графического изображения (в частности фотографии) в базу данных через приложение доступа к БД??? Пробовал через OLE-объект, но не получается его связать с источником данных, с Picturebox таже ерунда. В базе есть соотвествующее поле типа:"объект OLE".
« Последнее редактирование: 16-08-2008 19:37 от Scania » Записан
HandKot
Молодой специалист

ru
Offline Offline

« Ответ #8 : 18-08-2008 04:12 » 

по поводу фильра, то похоже
по поводу фотографий - никогда не работал с фотками я-ля ОЛЕ-объект, поищите в гугле или яндех
в своих проектах для объектов вида фотографии использовал либо STREAM, либо ф-ции AppendChunk, GetChunk
Записан

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

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines