Поиск по базе данных Access

Тема в разделе "Другие", создана пользователем Guest_, 23 апр 2005.

Статус темы:
Закрыта.
  1. Guest_

    Guest_ Гость

    Репутация:
    0
    Товарищи программисты, помогите плиз, как сделать поиск в vb6 по базе данных, где критерий поиска задаётся из строки.
    Например, по телефонному справочнику. Чтоб я вводил Ива, а он мне выдавал все такие фамилии типа Иванов, Иванченко, Иварян и т.д.

    Data1.RecordSource = "SELECT * FROM Телефоны WHERE [Фамилия] _ LIKE 'Ива*'"

    или как здесь задавать вместо Ива* из строки ввода
     
  2. Barmutik

    Barmutik Гость

    Репутация:
    0
    Систаксис запроса указан правильно. Единственное что за знак "_" ?

    При всех остальных выполненных условиях, запрос должен работать ....
     
  3. Guest_

    Guest_ Гость

    Репутация:
    0
    Не, "_" это у меня просто не влезло - это как продолжение строчки...
    Мне надо, чтоб можно было задавать это Ива* из программы непосредственно, как переменную.
    Подскажите плз как это сделать этим методом, или укажите другой :lol:
    буду сильно благодарен... :)
     
  4. Barmutik

    Barmutik Гость

    Репутация:
    0
    Ну так задfвайте это где-то в Edit-е в программе ... а на момент выполнения запроса просто подставляйте в нужное место и добавляйте знак '*'
     
  5. Xeonic

    Xeonic Гость

    Репутация:
    0
    Извините, а можно поподробнее ,я в vb новичек....
     
  6. Barmutik

    Barmutik Гость

    Репутация:
    0
    Ну у вас есть форма где пользователель вводит требуемые ему параметры поиска. Вы их оттуда вычитываете и на основании их формируете ему строку запроса .. с помощью которую потом получаете данные...
     
  7. Xeonic

    Xeonic Гость

    Репутация:
    0
    Извините Barmutik, что к вам в аську ломился, просто был в отчаянье(завтра сдавать уже надо)...
    А насчёт кода кое-как допёр(при помощи MSDN), так что привожу его далее(может кому понадобится)


    Private Sub Command1_Click()
    Dim nam As Variant
    Dim x As Variant
    x = "SELECT * FROM Телефоны WHERE [Фамилия] LIKE '#$%*'"
    nam = Text1.Text
    Data1.RecordSource = Replace(x, "#$%", nam)
    Data1.Refresh
    End Sub

    корявенько конечно, но может кому пригодится...
     
  8. Barmutik

    Barmutik Гость

    Репутация:
    0
    Можно было написать немного проще:

    Код (Text):
    ....
    Data1.RecordSource = "SELECT * FROM Телефоны WHERE [Фамилия] LIKE '" + Text1.Text + "*'"
    Data1.Refresh
    ...
    А насчёт Аськи .. я отходил просто .. не было на месте... так что вот только увидел Ваш запрос...
     
  9. Nadin

    Nadin Гость

    Репутация:
    0
    Здраввуйте програММисты!
    При разработке приложения возникает Вдруг после вроде обычных манипуляций ошибка
    Error accessing file.Network connection may been lost
    И почти готовое приложение перестаёт работать!
    Полный крах!!! Помогите кто знает! Заранее благодарна! :(
     
  10. Nadin

    Nadin Гость

    Репутация:
    0
    Здраввуйте програММисты!
    При разработке приложения возникает Вдруг после вроде обычных манипуляций ошибка
    Error accessing file.Network connection may been lost
    И почти готовое приложение перестаёт работать!
    Полный крах!!! Помогите кто знает! Заранее благодарна! :(
     
  11. Barmutik

    Barmutik Гость

    Репутация:
    0
    Ну вполне возможно что локальная сеть сглюканула .. в чём проблема? Переоткрывайте базу и переустанаваливайте соединение ...
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей