Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Поиск и обновление / 15 сообщений из 15, страница 1 из 1
18.02.2004, 17:56
    #32414153
Bulnik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и обновление
Я тут почитал некоторые темы в этом форуме и, стыдно признаться, почти ничего не понял. Я просто ещё относительно чайник в Access и поэтому пожайлуста объясняйте мне на простом языке :-)
У меня следующие вопросы:
-Во первых как создать простую форму со всеми полями таблицы, которая будет осуществлять поиск только по заполненным полям и автоматически переключать другую уже открытую форму на найденную запись?
-Во вторых, когда я работаю с одной главной формой и открываю с помощью кнопки другую форму для добавления новой записи, главная форма не обновляется. Новая запись появляется только после того, как я закрываю главную форму и открываю её снова. Перепробовал всё, что знаю и ничего не помогает :-(

Заранее благодарен всем сочуствующим!
...
Рейтинг: 0 / 0
18.02.2004, 18:27
    #32414229
Serafim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и обновление
Новая запись появляется только после того, как я закрываю главную форму и открываю её снова.
Попробуйте написать после добавления Me.RecordSource=Me.RecordSource
...как создать простую форму со всеми полями таблицы, которая будет осуществлять поиск только по заполненным полям и автоматически переключать другую уже открытую форму на найденную запись?
Несколько непонятно. Попробуйте поконкретнее, что такое "только по заполненным полям"... может Вы желаете создать форму формирования условий запроса и находить записи по условиям?
...
Рейтинг: 0 / 0
18.02.2004, 18:29
    #32414234
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и обновление
SerafimMe.RecordSource=Me.RecordSource
Если это будет написано в другой форме, то не Me.
...
Рейтинг: 0 / 0
18.02.2004, 18:44
    #32414267
Bulnik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и обновление
К примеру если в таблице имеются поля: код клиента, ф., И., О., дата регистрации, то я хочу чтобы когда из главной формы я нажимал кнопку поиск, открывалась дополнительная форма поиска, в которой были все вышеперечисленные поля и клиент мог заполнить к примеру только фамилию или дату регистрации и после нажатия на ок все найденные записи переходили в главную форму.
...
Рейтинг: 0 / 0
18.02.2004, 18:50
    #32414278
incold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и обновление
автортолько фамилию или дату регистрации и после нажатия на ок все найденные записи переходили в главную форму.

А зачем?
...
Рейтинг: 0 / 0
18.02.2004, 18:59
    #32414298
Bulnik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и обновление
Ну как зачем. Для того, чтобы клиент мог осуществлять поиск по любым полям, которые его интересуют. Чтобы он мог к примеру ввести фамилию Мухин и система выдала ему всех Мухиныхых или он ввёл ещё дополнительно дату и система покажет только тех Мухиных, которые были зарегестрированы в эту дату.
...
Рейтинг: 0 / 0
18.02.2004, 19:00
    #32414304
incold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и обновление
Нет, я спросил зачем чтобы записи переходили в главную форму?
...
Рейтинг: 0 / 0
18.02.2004, 19:14
    #32414330
Bulnik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и обновление
Я понял :-) У меня в главной форме кучу кнопок для работы с базой данных клиентов, а вверху выведены ф.и.о. текущего клиента, с которым проводятся все действия.
...
Рейтинг: 0 / 0
18.02.2004, 21:09
    #32414440
Bulnik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и обновление
Неужели все знают ответы только на сложные вопросы?
...
Рейтинг: 0 / 0
19.02.2004, 01:06
    #32414520
Alexander G
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и обновление
В форме поиска свободные поля и кнопочка Найти
по ее нажатию проверяем заполненность полей, формируем строку фильтра и подсовываем ее главной форме.
Код: plaintext
1.
2.
3.
4.
5.
dim strFilter as string
if not isnull([полеФамилия]) then
  strFilter= "[Фамилия]='" & [полеФамилия] & "'" 
end if
Forms( "Главная" ).Filter=strFilter
Forms( "Главная" ).FilterOn=true


Естественно, если полей несколько, соответственно усложняется формирование строки фильтра - проверяем второе поле дописываем туда
AND ляляля
предварительно проверив, а не пустая ли strFilter
Если фамилии не из списка, лучше, наверное, использовать Like
...
Рейтинг: 0 / 0
19.02.2004, 09:13
    #32414620
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и обновление
2 Alexander G
А если полей много и они разных типов?:) А если требуется организовать поиск по различным таблицам - для каждой формы на основе этой таблицы функцию поиска писать?:)

Делается так - пишется функция, на вход которой подаётся форма, в функции осуществляется переход по всем контролам формы (только интересующего типа - текстбокс, комбо, лист, галки и т.п., т.е. не затрагиваются кнопки, линии и прочая фигня такого рода) и формируется строка WHERE. В названии или в теге контрола можно указывать к какому типу данных он относится (дата, число, текст и т.п.) - это необходимо потому как по разному нужно передавать значение в WHERE. На основании этого WHERE можно построить фильтр или рекордсурс для следующей формы (которая откроется после нажатия кнопки поиск). Это просто теория....
...
Рейтинг: 0 / 0
19.02.2004, 09:40
    #32414656
Alexander G
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и обновление
Полностью согласен. Но надо же учитывать и уровень вопрошающего. Я попытался объяснить принцип. Конечно, уже на дате регистрации он воткнется с форматированием даты и т.д. Но это будет уже другой вопрос :)
...
Рейтинг: 0 / 0
19.02.2004, 09:53
    #32414686
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и обновление
2 Alexander G
Извините, если что не так:)
Да, уровень не учёл:)

Просто счёл нужным изложить общий принцип организации поиска...
...
Рейтинг: 0 / 0
19.02.2004, 11:02
    #32414845
incold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и обновление
2 Hummer
У меня тоже так работает

2 Bulnik
Наверное более правильно будет сделать чуть по-другому.
Есть форма справочник клиентов с полями для поиска и результатом выполнения поиска примерно так как здесь описывали.

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

Т.е. главная форма - это список, который просто показывает имеющихся клиентов, а напротив строки в списке есть кнопка, которая открывает форму с данными одного клиента.

Имхо - это стандратный подход в решении подобных задач.
...
Рейтинг: 0 / 0
19.02.2004, 11:13
    #32414877
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск и обновление
2 incold
Хех, у нас тоже так работает - поисковик->результат поиска->форма для просмотра или обновления одной записи из результата поиска....
Только не по кнопке, а по контекстному меню:)
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Поиск и обновление / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]