|
|
|
Отбор записей по ключевым полям с помощью запроса?
|
|||
|---|---|---|---|
|
#18+
Господа! Имеется некоторая форма «Ф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 . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2004, 19:50:29 |
|
||
|
Отбор записей по ключевым полям с помощью запроса?
|
|||
|---|---|---|---|
|
#18+
ежли система однопользовательская - то сделать в таблице(на которой основанна 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) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2004, 19:58:29 |
|
||
|
Отбор записей по ключевым полям с помощью запроса?
|
|||
|---|---|---|---|
|
#18+
А можно показать как в форме «Ф1» выбираются 10 записей? Там есть таблица и это запрос или это лист или просто есть 10 чеков? Если это запрос из другой таблицы, тогда легко воспользоваться построением Select * from TTT where Id in (Select Id from T where (...)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2004, 20:21:30 |
|
||
|
Отбор записей по ключевым полям с помощью запроса?
|
|||
|---|---|---|---|
|
#18+
Ukraina аууу! ночью код клепать не будем - колись сейчас!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2004, 20:28:59 |
|
||
|
Отбор записей по ключевым полям с помощью запроса?
|
|||
|---|---|---|---|
|
#18+
дайте хоть минут 15. сейчас пробую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2004, 20:30:56 |
|
||
|
Отбор записей по ключевым полям с помощью запроса?
|
|||
|---|---|---|---|
|
#18+
Вообщем ничего пока не получилось. Куда только не вставлял предложенное. Каких только ошибок мне не выдавало. Попробую объяснить ситуацию еще раз: Есть форма «Ф1». У нее есть ключевое поле П1 и обычное техтовое поле П2, текстовое поле П3 В другой форме «Ф2» использую поле со списком ПС (находится в подчиненной форме), где выбираю значения техтового поля П2 из «Ф1» таким образом, что значение этого поля присваивается ПС(Ф2)=П1(Ф1). Потом делаю запрос по ПС и получаю несколько значений (список) кодов П1. На основании этого списка нужно открыть форму «Ф1». Знаю, что лучше использовать некий фильтр, т.к. если открою форму на основе запроса, то не получиться редактировать эту форму, а мне необходимо будет вносить изменения в другие поля. Перечитывал. То, что написал, сам не понимаю, правильно ли описал ситуацию, но надеюсь кто-нибудь понял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2004, 21:55:54 |
|
||
|
Отбор записей по ключевым полям с помощью запроса?
|
|||
|---|---|---|---|
|
#18+
автор Потом делаю запрос по ПС и получаю несколько значений (список) кодов П1. На основании этого списка под списком ты понимаешь контрол Access или массив в памяти ? и так и так надо сделать Update флажку в табличке и requery(refresh) списку/форме ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2004, 22:22:53 |
|
||
|
Отбор записей по ключевым полям с помощью запроса?
|
|||
|---|---|---|---|
|
#18+
Я делаю запрос и у меня получается список (2,4,7). Я честно говоря даже не знаю как это назвать контрол Access или массив в памяти. Можно ли как нибудь на основании результата создать фильтр и потом открыть форму на основании этого фильтра. Попробовал в ручную на свойстве "Фильтр" поставить [Код] in (2,4,7). Получилось. Но как это сделать програмно на основании полученного результата запроса. Типа на кнопке написать (?).Filter=[Код] in (2,4,7), где строка (2,4,7) генерируется на основании результатов запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2004, 22:36:16 |
|
||
|
Отбор записей по ключевым полям с помощью запроса?
|
|||
|---|---|---|---|
|
#18+
Очень трудно среди ночи, после длинного раб. дня телепятить. Показал бы код и что ты делаешь. Когда сам себе сможешь объяснить, тогда и наполовину решишь проблемы. Как на кнопку можно писать фильтр? Она, что понимает уже язык человечий? Фильтр можно поставить на запрос. ва где он у тебя? На форме? Так и фильтр ставь на форму: Sub MyButton_Clik() Forms!MyFrom.Filter = "Code In (1,3,5)" Forms!MyFrom.FilterOn = True ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2004, 23:01:36 |
|
||
|
Отбор записей по ключевым полям с помощью запроса?
|
|||
|---|---|---|---|
|
#18+
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 Как использовать можно в приведенной выше схеме? Чувствую своей левой печенью, что это немного оптимизирует... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2004, 23:50:35 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32586232&tid=1673472]: |
0ms |
get settings: |
4ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
178ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 183ms |
| total: | 424ms |

| 0 / 0 |
