Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.60/230: Рейтинг темы: голосов - 230, средняя оценка - 4.60
4 / 4 / 0
Регистрация: 13.05.2009
Сообщений: 106

Поиск в базе данных MS Access по данным из поля формы

19.05.2011, 16:39. Показов 44903. Ответов 108
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.Стоит такая задача : реализовать поиск по одной таблице.В форме есть поле.Данные из поля нужны для поиска.После поиска вывести соответствующую строчку из таблицы.Я так понимаю без VBA не обойтись.Но ничего в нем не шарю.Помогите кто чем могёт
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.05.2011, 16:39
Ответы с готовыми решениями:

Поиск в таблице по данным из поля формы
Подскажите пожалуйста, как сделать поиск в таблице по двум полям формы? Private Sub Edit_BUT_Click() Dim dbs As DAO.Database ...

Поиск в базе данных MS Access по данным из поля формы
Есть БД. Нужно реализовать поиск по ней за значение (текстом) в поле (смотрите рисунок). Кнопка «Пошук» вызывает форму для поиска...

Сортировка поля типа Дата в базе данных Access
Привет всем! У меня проблема. Не могу отсортировать поле "Дата", т.е. по дате. Сортировка остальных полей получилась. Вот код: ...

108
4 / 4 / 0
Регистрация: 13.05.2009
Сообщений: 106
20.05.2011, 12:27  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Agapov_stas Посмотреть сообщение
Вот пример кода.Думаю дальше сами разберетесь:-)
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
' Сортировка по критериям
Private Sub Кнопка25_Click()
On Error Resume Next
Dim sQ As String
 
sQ = " SELECT TblZarplata.* " & _
     " FROM TblZarplata " & _
     " WHERE (TblZarplata.[Data]) " & _
     " BETWEEN #" & Format(Me.Поле13, "mm\/dd\/yy") & _
     "# AND #" & Format(Me.Поле15, "mm\/dd\/yy") & "# " & _
     " AND ((TblZarplata.idChief)=[Forms]![FrmZarplataChief]![ПолеСоСписком11] OR [Forms]![FrmZarplataChief]![ПолеСоСписком11] Is Null)" & _
     " ORDER BY TblZarplata.[Data] DESC "
 Me![PodZarplataChief].Form.RecordSource = sQ
 Me![PodZarplataChief].Form.Requery
 
End Sub
Скажите а можно ли формат даты изменить на dd/mm/yy?
И вот смысл этого не понятен :
(TblZarplata.idChief)=[Forms]![FrmZarplataChief]![ПолеСоСписком11]
что за поле idChief и зачем нам поле со списком?
0
3357 / 1776 / 83
Регистрация: 05.08.2010
Сообщений: 4,471
20.05.2011, 12:30
Скажите а можно ли формат даты изменить на dd/mm/yy?
Акс воспринимает дату в американском формате.Так что, - нужно именно так(mm\/dd\/yy).
И вот смысл этого не понятен :
(TblZarplata.idChief)=[Forms]![FrmZarplataChief]![ПолеСоСписком11]
что за поле idChief и зачем нам поле со списком?
Моё это, - МОЁ!
Я же написал, - это пример(вытащил из СВОЕЙ базы ) кода, - дальше сами разберетесь.
Просто идет дальше условия для фильтрации после даты.
1
4 / 4 / 0
Регистрация: 13.05.2009
Сообщений: 106
20.05.2011, 12:32  [ТС]
Понятно.А вы не пробовали сделать выбор дат выпадающими списками? Это красивее походу
0
3357 / 1776 / 83
Регистрация: 05.08.2010
Сообщений: 4,471
20.05.2011, 12:35
Цитата Сообщение от Lampard7 Посмотреть сообщение
А вы не пробовали сделать выбор дат выпадающими списками? Это красивее походу
Нет, но примеры баз в которых реализовано,есть.
Красивее?...Ну,может Вы и правы.Оригинальне,конечно,чем простой вызок кнопочкой.Смотрится лучше.
Соб-сно, тут "на вкус и цвет.."

Да и самих ведь календариков много(ну лично я где-то около 5-и видел..)
0
4 / 4 / 0
Регистрация: 13.05.2009
Сообщений: 106
20.05.2011, 12:45  [ТС]
А в форму нельзя случайно вставить поле с выбором дат? При заполнении таблицы в правом нижнем углу выскакивает календарик маленький и можно выбирать.А в форме возможно поставить такой же?

Добавлено через 4 минуты
Цитата Сообщение от Agapov_stas Посмотреть сообщение
Акс воспринимает дату в американском формате.Так что, - нужно именно так(mm\/dd\/yy).
У меня дата в записях в кратком виде дд/мм/гг.По другому не могу сделать так как там нету представления мм/дд/гг.При сравнении здесь не будет проблем?
0
3357 / 1776 / 83
Регистрация: 05.08.2010
Сообщений: 4,471
20.05.2011, 12:52
У меня дата в записях в кратком виде дд/мм/гг.По другому не могу сделать
это сюдЫ не отностися:-) Так и сотавляйте. АКС вопринимает дату в американском формате, а на форме и в таблах храните в кратком виде.
У меня тоже в таблах именно так.
А в форму нельзя случайно вставить поле с выбором дат?
Вообще-то НУЖНО
0
4 / 4 / 0
Регистрация: 13.05.2009
Сообщений: 106
20.05.2011, 13:06  [ТС]
Я так понял это элемент ActiveX.Не подскажете как он называется а то их тут до чёрта?

Добавлено через 9 минут
Фух,все разобрался.Называется Microsoft Data and Time Picker.Все работает.
Осталось добавить форму удаления желаемой записи и все.
У Вас кстати, Стас, не найдется такого примера? Чтоб выбрал запись щелчком и "Удалить"
0
3357 / 1776 / 83
Регистрация: 05.08.2010
Сообщений: 4,471
20.05.2011, 15:48
Цитата Сообщение от Lampard7 Посмотреть сообщение
Я так понял это элемент ActiveX
Нет..(ну в смысле и да и нет )
Есть микрософтовский(который Вы нашли), а есть просто сторонние.
Цитата Сообщение от Lampard7 Посмотреть сообщение
Чтоб выбрал запись щелчком и "Удалить"
Не понял...Если одиночная форма, то можно ничего не искать, уже все сделано до нас На панели инструментов выберите "Кнопка" и установите ее к себе на форму.Появится окошко, выберите пункт обработка записей-->удалить запись.
Все.
Или Вы о чем-то ином говорите?
0
4 / 4 / 0
Регистрация: 13.05.2009
Сообщений: 106
20.05.2011, 15:57  [ТС]
Всё сделал как выше описано.Выдает ошибку "Команда или макрокоманда "Удалить Запись" в данное время недоступна"
0
3357 / 1776 / 83
Регистрация: 05.08.2010
Сообщений: 4,471
20.05.2011, 16:08
Если одиночная форма...
Вы текущую запись желаете удалить?или же на подчиненной форме?
Покажите пример,где не получается...
0
4 / 4 / 0
Регистрация: 13.05.2009
Сообщений: 106
20.05.2011, 16:14  [ТС]
На подчиненной форме хочу удалить
0
3357 / 1776 / 83
Регистрация: 05.08.2010
Сообщений: 4,471
20.05.2011, 16:24
Создаешь кнопку на основной форме.
Visual Basic
1
2
3
4
5
6
7
8
Private Sub Кнопка_Click()
Dim strSQL As String
strSQL = "Delete " & _
" FROM Таблица " & _
" Where Таблица.id=" & Me.ПодчиненнаяФорма.Form.id
DoCmd.RunSQL (strSQL)
Me.ПодчиненнаяФорма.Form.Requery
End Sub
Таблица - таблица, которая является источником для подчиненной формы
id - ключевое поле в твоей таблице.

Пошагово:
Выделяешь или строку в подчиненной форме или установить курсор в ЛЮБОМ( так как id определяется строки) поле и жманаешь Кнопку.
0
4 / 4 / 0
Регистрация: 13.05.2009
Сообщений: 106
20.05.2011, 16:26  [ТС]
Люди говорят с Runом геморно работать.Как такой вариант?
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub Кнопка2_Click()
On Error GoTo Err_Кнопка2_Click
 
Me.Form2.SetFocus
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
 
Exit_Кнопка2_Click:
    Exit Sub
 
Err_Кнопка2_Click:
    Resume Exit_Кнопка2_Click
    
End Sub
0
3357 / 1776 / 83
Регистрация: 05.08.2010
Сообщений: 4,471
20.05.2011, 16:31
Цитата Сообщение от Lampard7 Посмотреть сообщение
Люди говорят с Runом геморно работать.
Люди всегда много говорят
Не нравится тогда так напиши:
Visual Basic
1
2
3
4
Private Sub Кнопка_Click()
CurrentDb.Execute "DELETE * FROM Таблица WHERE Таблица.id = " & Me![ПодчиненнаяФорма].Form.id & ";"
Me.[ПодчиненнаяФорма].Form.Requery
End Sub
так людям должно понравиться
Как такой вариант?
не сработает.
1
4 / 4 / 0
Регистрация: 13.05.2009
Сообщений: 106
20.05.2011, 16:40  [ТС]
А вот и работает
Вложения
Тип файла: rar База юр документов.rar (45.6 Кб, 287 просмотров)
1
3357 / 1776 / 83
Регистрация: 05.08.2010
Сообщений: 4,471
20.05.2011, 16:44
Цитата Сообщение от Lampard7 Посмотреть сообщение
А вот и работает
прикольно,однако...Не знал
Взял на заметку
0
4 / 4 / 0
Регистрация: 13.05.2009
Сообщений: 106
21.05.2011, 01:10  [ТС]
Да я сам это нашел на нашем форуме.Вот собственно эта тема : Удаление записей через подчинённую форму
Говорят при большой базе (>65000 записей) эта тема может не прокатить так что хз

Добавлено через 8 часов 17 минут
еще раз обращаюсь с вопросом : есть задача создать БД юридических договоров.Сделал добавление договора,поиск,удаление договора.Что еще можно добавить?
0
4 / 4 / 0
Регистрация: 13.05.2009
Сообщений: 106
24.05.2011, 11:32  [ТС]
Стас,скажите пож-та почему данный код не работает? Брал из вашего примера поиска.Вот:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Private Sub Кнопка2_Click()
Dim sQ As String
u = Forms!Форма!ПолеСоСписком9
 
sQ = " SELECT Табл_Договори.* " & _
     " FROM Табл_Договори " & _
     " WHERE (([Табл_Договори].[" & u & "]) Like '*" & Forms!Форма!Поле0 & "*' or Forms!Форма!Поле0 is null) "
 
If Checkbox1.Value = 1 Then
sQ = " SELECT Табл_Договори.* " & _
     " FROM Табл_Договори " & _
     " WHERE (([Табл_Договори].[" & u & "]) Like '*" & Forms!Форма!Поле0 & "*' or Forms!Форма!Поле0 is null) " & _
     " AND (Табл_Договори.[Термін]) " & _
     " BETWEEN #" & Format(Me.DTPicker2, "mm\/dd\/yy") & _
     "# AND #" & Format(Me.DTPicker4, "mm\/dd\/yy") & "# "
    End If
 
 Me![TestForm].Form.RecordSource = sQ
 Me![TestForm].Form.Requery
 
End Sub
Добавлено через 4 минуты
Обычный поиск работает,а вот когда отмечаеш чекбокс на поиск по периодам кажется что толку от этого ноль так как ничего не изменяется.
Вроде раньше работало,сейчас решил проверить - и крыша
0
3357 / 1776 / 83
Регистрация: 05.08.2010
Сообщений: 4,471
24.05.2011, 11:34
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub Кнопка2_Click()
Dim sQ AS String
u = Forms!Форма!ПолеСоСписком9
 IF Checkbox1.Value = 1 Then
sQ = " SELECT Табл_Договори.* " & _
     " FROM Табл_Договори " & _
     " WHERE (([Табл_Договори].[" & u & "]) Like '*" & Forms!Форма!Поле0 & "*' or Forms!Форма!Поле0 is null) " & _
     " AND (Табл_Договори.[Термін]) " & _
     " BETWEEN #" & Format(Me.DTPicker2, "mm\/dd\/yy") & _
     "# AND #" & Format(Me.DTPicker4, "mm\/dd\/yy") & "# "
    End IF
 
 Me![TestForm].Form.RecordSource = sQ
 Me![TestForm].Form.Requery
 
End Sub
Добавлено через 57 секунд
Цитата Сообщение от Agapov_stas Посмотреть сообщение
IF Checkbox1.Value = 1
Кстати,а что это?
Может правильнее так:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub Кнопка2_Click()
Dim sQ AS String
u = Forms!Форма!ПолеСоСписком9
 IF Checkbox1.Value <>0 Then
sQ = " SELECT Табл_Договори.* " & _
     " FROM Табл_Договори " & _
     " WHERE (([Табл_Договори].[" & u & "]) Like '*" & Forms!Форма!Поле0 & "*' or Forms!Форма!Поле0 is null) " & _
     " AND (Табл_Договори.[Термін]) " & _
     " BETWEEN #" & Format(Me.DTPicker2, "mm\/dd\/yy") & _
     "# AND #" & Format(Me.DTPicker4, "mm\/dd\/yy") & "# "
    End IF
 
 Me![TestForm].Form.RecordSource = sQ
 Me![TestForm].Form.Requery
 
End Sub
0
4 / 4 / 0
Регистрация: 13.05.2009
Сообщений: 106
24.05.2011, 11:37  [ТС]
Дак вот в этом то и весь прикол.Пока не отметил чекбокс - обычный поиск,отметил - поиск по периоду.Ты просто кусок скопировал

Добавлено через 1 минуту
Checkbox1 - это там где птенчик ставиш.Так вот он принимает значения либо 0 либо 1.Если чекбокс не отмечен идет просто поиск,если отмечен идет поиск с учетом того что дата заключения должна попадать в выставленый DTPickerами период
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.05.2011, 11:37

Поиск данных в базе access
Всем доброго всемени суток . Хочу проект перенести из Эксель в полноценное приложение.)) пользуюсь vs express. Базы данных уже...

Поиск по базе данных Access
Хочу сделать поиск по базе с помощью метода Locate. procedure TForm1.MyLocate (s:string); begin ...

Поиск по базе данных Access
Товарищи программисты, помогите плиз, как сделать поиск в vb6 по базе данных, где критерий поиска задаётся из строки. Например, по...

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

Реализовать поиск и выбор данных в форме в базе данных Access
Здравствуйте! Подскажите пожалуйста,как реализовать поиск и выбор данных в форме в базе данных Access. Заданы таблицы товар,тип товара,...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru