Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Access 2003
 
 автор: LilijaSt   (26.05.2008 в 10:13)   личное сообщение
 
 

Помогите пожалуйста сделать поиск по базе данных в форме!
Смысл такой - в форме вписывается/вписываются ключевые слова из базы данных, и по ним в этой же форме выдается список строк, где эти заданные выше слова встречаются. Например поиск определённого документа.
Дали задание на работе - сама сделатй не могу!!! Спасите пожалуйста!!!

  Ответить  
 
 автор: Анатолий (Киев)   (26.05.2008 в 10:29)   личное сообщение
 
 

1. Куда вписываются ключевые слова?
в одно поле через разделитель (какой)?
в ленточную/табличную форму/субформу (для каждого слова одна запись)?
2. Поиск в базе, это:
в одном поле одной таблицы?
во всех текстовых полях одной таблицы?
во всех таблицах?

  Ответить  
 
 автор: LilijaSt   (26.05.2008 в 10:50)   личное сообщение
 
 

Да, для каждого слова - своя записЬ.
К Примеру три Combo Box в которых выдается список слов по которым будет проишодитЬ поиск (1: название документа, 2: самолёт/ы к которым применим, 3: место хранения).
Под Combo Box'ами Subform/Subreport где выдаётся резулЬтат поиска.
Сам поиск идёт по 1 таблице.
Возможно нечто подобное мождо сделатЬ и более простым способом - но я пока не в курсе как.

  Ответить  
 
 автор: FORMAT   (26.05.2008 в 16:52)   личное сообщение
 
 

Допустим, в таблице есть три поля по которым осуществляется поиск - это Поле1, Поле2 и Поле3
Поиск идет по соответствующим комбобоксам ПолеСоСписком1, ПолеСоСписком2 и ПолеСоСписком3
Нужно написать запрос типа
SELECT * FROM Таблица WHERE Поле1 Like Forms!МояФорма!ПолеСоСписком1 AND Поле2 Like Forms!МояФорма!ПолеСоСписком2 AND Поле3 Like Forms!МояФорма!ПолеСоСписком3

И, например на нажатие кнопки сделать
Forms!МояФорма.ПодчиненнаяФорма.Form!Recordsource = запрос

  Ответить  
 
 автор: LilijaSt   (26.05.2008 в 17:32)   личное сообщение
 
 

А под полем - что вы имели в виду? :)

  Ответить  
 
 автор: Ю.Ш.   (26.05.2008 в 19:01)   личное сообщение
 
 

Поле, важное алгебраическое понятие, часто используемое как в самой алгебре, так и в др. отделах математики и являющееся предметом самостоятельного изучения.
Большая советская энциклопедия
http://slovari.yandex.ru/dict/bse/article/00060/76400.htm?text=%D0%9F%D0%BE%D0%BB%D0%B5%20%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0

  Ответить  
 
 автор: FORMAT   (26.05.2008 в 19:21)   личное сообщение
 
 

Под полем я имел ввиду поля в таблице. Но сейчас еще раз перечитал условие. Если поиск осуществляется по таблице в одном Поле1 таблицы, то тогда зарос должен иметь вид
SELECT * FROM Таблица WHERE Поле1 Like' *Forms!МояФорма!ПолеСоСписком1*' OR Поле1 Like' * Forms!МояФорма!ПолеСоСписком2 *' OR Поле1 Like'* Forms!МояФорма!ПолеСоСписком3*'

  Ответить  
 
 автор: FORMAT   (26.05.2008 в 19:26)   личное сообщение
 
 

>Поле, важное алгебраическое понятие, часто используемое как
>в самой алгебре, так и в др. отделах математики и являющееся
>предметом самостоятельного изучения.
>Большая советская энциклопедия
>http://slovari.yandex.ru/dict/bse/article/00060/76400.htm?text=%D0%9F%D0%BE%D0%BB%D0%B5%20%D0%BC%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0

Да уж...
Тогда бы уж советовал fields + F1

  Ответить  
 
 автор: LilijaSt   (27.05.2008 в 11:17)   личное сообщение
 
 

ну вот, я пишу:

Private Sub strSQL()
Dim strSQL As String
strSQL = "SELECT * FROM *MAINTENANCE_DATA (Boeing)* WHERE Field1 Like' *Forms!Form1!Document*' "
End Sub


естественно виходит красивое фигу... ммм?
Private Sub Command4_Click()
Forms!Form1.Maintenance_Data(Boeing).Form!RecordSource = strSQL
End Sub

  Ответить  
 
 автор: FORMAT   (27.05.2008 в 11:27)   личное сообщение
 
 

Вы объявляете strSQL в одной процедуре как dim. а обращаетесь к нему из другой процедуры. Естесвенно, strSQL не видна в процедуре нажатия кнопки. - это первое.
strSQL = "SELECT * FROM *MAINTENANCE_DATA (Boeing)* WHERE Field1 Like' *Forms!Form1!Document*' " - это вообще бред.
Выложите фрагмент базы - покажу на примере как сделать.

  Ответить  
 
 автор: LilijaSt   (27.05.2008 в 15:08)   личное сообщение
 
 

На данный момент - то что у меня есть - это аццесс с вбитой в него базой данных. и мне по ней надо делать поиск через форму. все что сделанно еще - является просто попытками добиться нужного - но в большинстве не верными. если бы был какой пример на руках - можно было бы хоть както приблизиться к цели

  Ответить  
 
 автор: FORMAT   (27.05.2008 в 17:23)   личное сообщение
 
 

Завтра сделаю пример, если еще не поздно, Сегодня по горло работы.

  Ответить  
 
 автор: Ю.Ш.   (27.05.2008 в 21:43)   личное сообщение
 
 

Дорогой, что шуток не понимаешь?

  Ответить  
 
 автор: FORMAT   (28.05.2008 в 10:03)   личное сообщение
 
 

Я то шутки понимаю.Но афтору ,похоже, не до шуток. Шеф_будет_зол.
2 Афтор: Объясните подробнее, чот требуется. ( Информация с ключевыми словами находится в одном поле таблицы или в разных полях) Если можете, сбросьте свою таблицу. Вся информация не нужна - только часть для примера.

  Ответить  
 
 автор: Скорп   (28.05.2008 в 13:06)   личное сообщение
11 Кб.
 
 

вариант поиска по одному полю

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList