powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Отбор записей по ключевым полям с помощью запроса?
11 сообщений из 11, страница 1 из 1
Отбор записей по ключевым полям с помощью запроса?
    #32586104
Ukraina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа!
Имеется некоторая форма «Ф1». В форме 10 записей. Каждая запись имеет свой ключ: 1,2,3,4,5,6,7,8,9,10 . (ключевое поле, счетчик).
С помощью некоего запроса (связанного с формой «Ф1» косвенно) получил набор записей кодов 2,5,7 , т.е. значения выдаваемые запросом будут являться подмножеством из множества ключевых полей основной формы «Ф1»
Задача: Нужно теперь открыть форму «Ф1» таким образом, чтобы было показано только три записи с ключевыми полями 2,5,7 (в данном случае).
Вариант: Если запрос покажет результат 1,5.8,10 , то открыть форму «Ф1» и показать в ней только записи с ключевыми полями 1,5,8,10 .
...
Рейтинг: 0 / 0
Отбор записей по ключевым полям с помощью запроса?
    #32586115
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ежли система однопользовательская - то сделать в таблице(на которой основанна F1) дополнительное поле - флажок
соответственно взводить его ,где надо например в записях с Id=2,5,7

ежли многопользовательская то нужна локальная табличка для каждого User связь 1-1 содержит только Id и флажок

другой вариант динамически менять запрос для F1 вставляя в Where
Id=2 Or Id=5 Or Id=7

экзотический вариант применение In в нотации
Select * from TTT where Id in(2,5,7) - с программной -же генерацией запроса
(RecordSource)
...
Рейтинг: 0 / 0
Отбор записей по ключевым полям с помощью запроса?
    #32586129
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно показать как в форме «Ф1» выбираются 10 записей? Там есть таблица и это запрос или это лист или просто есть 10 чеков?

Если это запрос из другой таблицы, тогда легко воспользоваться построением

Select * from TTT where Id in (Select Id from T where (...))
...
Рейтинг: 0 / 0
Отбор записей по ключевым полям с помощью запроса?
    #32586135
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ukraina аууу!
ночью код клепать не будем - колись сейчас!!!
...
Рейтинг: 0 / 0
Отбор записей по ключевым полям с помощью запроса?
    #32586138
Ukraina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дайте хоть минут 15. сейчас пробую
...
Рейтинг: 0 / 0
Отбор записей по ключевым полям с помощью запроса?
    #32586177
Ukraina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообщем ничего пока не получилось. Куда только не вставлял предложенное. Каких только ошибок мне не выдавало. Попробую объяснить ситуацию еще раз:
Есть форма «Ф1». У нее есть ключевое поле П1 и обычное техтовое поле П2, текстовое поле П3
В другой форме «Ф2» использую поле со списком ПС (находится в подчиненной форме), где выбираю значения техтового поля П2 из «Ф1» таким образом, что значение этого поля присваивается ПС(Ф2)=П1(Ф1). Потом делаю запрос по ПС и получаю несколько значений (список) кодов П1. На основании этого списка нужно открыть форму «Ф1». Знаю, что лучше использовать некий фильтр, т.к. если открою форму на основе запроса, то не получиться редактировать эту форму, а мне необходимо будет вносить изменения в другие поля.

Перечитывал. То, что написал, сам не понимаю, правильно ли описал ситуацию, но надеюсь кто-нибудь понял
...
Рейтинг: 0 / 0
Отбор записей по ключевым полям с помощью запроса?
    #32586185
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
Потом делаю запрос по ПС и получаю несколько значений (список) кодов П1. На основании этого списка

под списком ты понимаешь контрол Access или массив в памяти ?

и так и так надо сделать Update флажку в табличке и requery(refresh) списку/форме
...
Рейтинг: 0 / 0
Отбор записей по ключевым полям с помощью запроса?
    #32586190
Ukraina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я делаю запрос и у меня получается список (2,4,7). Я честно говоря даже не знаю как это назвать контрол Access или массив в памяти.
Можно ли как нибудь на основании результата создать фильтр и потом открыть форму на основании этого фильтра.
Попробовал в ручную на свойстве "Фильтр" поставить [Код] in (2,4,7). Получилось. Но как это сделать програмно на основании полученного результата запроса. Типа на кнопке написать
(?).Filter=[Код] in (2,4,7), где строка (2,4,7) генерируется на основании результатов запроса.
...
Рейтинг: 0 / 0
Отбор записей по ключевым полям с помощью запроса?
    #32586203
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очень трудно среди ночи, после длинного раб. дня телепятить. Показал бы код и что ты делаешь. Когда сам себе сможешь объяснить, тогда и наполовину решишь проблемы.
Как на кнопку можно писать фильтр? Она, что понимает уже язык человечий?
Фильтр можно поставить на запрос. ва где он у тебя? На форме? Так и фильтр ставь на форму:
Sub MyButton_Clik()
Forms!MyFrom.Filter = "Code In (1,3,5)"
Forms!MyFrom.FilterOn = True
...
Рейтинг: 0 / 0
Отбор записей по ключевым полям с помощью запроса?
    #32586213
Ukraina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SHURAD
Я все-таки т…л эту задачу. Правда через «заданный квадрат 3» (от слова за….ца). Использовал твою идею, но гибридную. Привожу схему, может как нибут можно оптимизировать?

1. Пришлось писать функцию, которая переводит полученные записи в запросе в вид «Код4, Код7, Код9». Как я не пытался избежать RecordSetа, не получилось.
2. На кнопку посадил следующий код:
DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70
ss = "[Код] in (" & conc1 & ")"
DoCmd.OpenForm "Имя нужной открываемой формы", , , ss


Conc1 – та самая функция. Которая переводит запрос в строку через запятые
ss-полученное значение фильтра типа «[Код] in (4,7,9)»

Все открывает как нужно. Спасибо за навеянные идеи и тем кто придумал этот форум.

Rivkin Dmitry
Решил все до таго как прочитал твое сабжу, но тогда возникает вопрос в отношении оптимизации
Твое
Forms!MyFrom.Filter = "Code In (1,3,5)"
Forms!MyFrom.FilterOn = True
Как использовать можно в приведенной выше схеме? Чувствую своей левой печенью, что это немного оптимизирует...
...
Рейтинг: 0 / 0
Отбор записей по ключевым полям с помощью запроса?
    #32586232
Ukraina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shuhard
Вечно спешу и чаго-нибудь не дописываю. Приношу извинения за искажение имени
Еще раз спасибо
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Отбор записей по ключевым полям с помощью запроса?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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