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

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

19.05.2011, 16:39. Показов 44301. Ответов 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
Ответ Создать тему
Новые блоги и статьи
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов. import "math" func angleClock(hour int, minutes int) float64 { . . .
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html и его же старой инструкции по установке Lazarus с gtk2. . .
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru