|
|
|
| Все. Приплыл.
По определенному клиенту открываю форму. Клиент добавляется если надо при открытии формы.
В ней подчиненная, в которой надо показать последнюю запись с возможностью добавить новую. (если клиент уже был) Пишу на открытие основной формы фильтр:
With Me.[подчиненная форма № истории].Form 'в подчиненной показываем последнюю запись и даем возможность добавить
.AllowEdits = False
.AllowAdditions = True
.Filter = "КодИсследования=" & DMax("КодИсследования", "№ истории")
.FilterOn = True
End With
Работает.
В следующий раз открыаю форму по другому клиенту, который уже тоже был. Не показывает последнюю запись в подчиненнке. Причина - .Filter = "КодИсследования=" & DMax("КодИсследования", "№ истории")
Максимальное значение счетчика досталось кому-то другому.
Вместо DMax ставлю Last - ругается.
Пробовал подменять запрос формы - не пахает.
Какие предложения будут? Плиз? | |
|
| |
|
|
|
| Я так понимаю, что в Dmax не хватает фильтра по клиенту. | |
|
| |
|
|
|
| Ну как бы так.
Данные уже отфильтрованы по клиенту. Теперь из них надо показать последнюю запись и только. Он мог быть 10 раз. Фильтр тоже работает. Добавляю запись новую. И!
После этого, если взять другого клиента, который тоже уже был, то последней записи его не увидим. Фильтр отфильтровывает максимальное значение которое есть в таблице. А надо что бы из формы. Надо что бы любого можно было открыть и увидеть последнюю запись.
В условия фильтра пихал типа Forms![Основная]![Подчиненная]![Код]... но ругается на синтаксис. Че-то не так. С утра воюю. | |
|
| |
|
|
|
| Слил начатое http://slil.ru/27879977
В открывающейся форме выбираем клиента и 2 щелчка на списке. Можно вводить нового прога сама вычислит есть такой или нет.
Вопрос в том, что исследования есть у всех введенных, а показывает только у сидорова, -последний, который получил запись исследования. | |
|
| |
|
|
|
| Как я и предполагал. Добавь фильтр в DMax:
.Filter = "КодИсследования=" & DMax("КодИсследования", "№ истории", Me.Filter)
|
| |
|
| |
|
|
|
|
| Снова затык. Нос вытащил хвост увяз.
В свободной форме 2 списка. На каждый из них свой запрос. Надо по значению одного списка отфильтровать данные в другом. Пишу.
With Me.Список30
.Filter = "КодПациента=" & Me.Список10
.FilterOn = True
End With
Кажется что в строке With Me.Список30 или в .Filter = "КодПациента=" & Me.Список10 чего-то не хватает. Выделяет & Me.Список10
Чего только не подставлял туда. Может не стоит связываться со списками и делать как всегда на формах? | |
|
| |
|
|
|
| Во блин я гоблин! Убрал фильтр, во втором списке создал запрос с условием по значению списка выше и главное - не было обновления!
Теперь пахает. Но проблема в том, что бы сразу по изменении данных в главном списке в нем выделялась первая строка, что бы менялись данные во втором. А то у них разница получается. | |
|
| |
|
51 Кб. |
|
| Вот примерчик работы со списками, глянь, мож пригодится:
На структуру таблиц и БД не гляди, собрано из кусков, по-быстрому. | |
|
| |
|
|
|
| Спасибо Лукас. Сдается мне что вы программист. (логика)
Примерчик в самую точку. Но возникло больше вопросов чем ясности.
Вопрос1. На открытие формы написан код.
Me.ListReport = Me.ListReport.Column(0, 0)
Смысл? Задать по умолчанию первую строку в списке активной?
И что означает код на кнопку вниз
Me.btnReport.PictureAlignment = 3 - картинка должна меняться?
да и вверх тоже самое но =0картинка на кнопе восстанавливается. - если так, то спасибо за идею.
Но это только начало.
Теперь главное: DoCmd.OpenForm Me.ListReport.Column(2)
Это открыть форму по критерию списка по 2-у столбцу? Хотя пристегнут к списку 1 столбец. Если так. То это то, что хотел только что спросить на форуме. Надо привязаться ко 2-у столбцу списка и выбирать по нему. А пристегнут 1-ый.
Далее постараюсь сам разобраться. | |
|
| |
|
|
|
| Me.ListReport = Me.ListReport.Column(0, 0) - задает значение списку (берет из первой строки (счет с 0) первого (счет с 0) столбца источника данных списка.
DoCmd.OpenForm Me.ListReport.Column(2)- открыть форму, имя которой взять из записи(строки), соответствующей выбранному Item-у списка из 3 столбца источника данных списка.
Про кнопки - это команды выравнивания рисунка. Сверху - снизу. уже точно не помню. Можно в справку глянуть.
Найди справку от А97, она на русском языке. Легче будет разбираться. | |
|
| |
|
|
|
| Спасибо. Будет время обязательно разбирусь.
DoCmd.OpenForm Me.ListReport.Column(2)- открыть форму, имя которой взять из записи(строки), соответствующей выбранному Item-у списка из 3 столбца источника данных списка.
2 - означает 3 столбец. Вот за это отдельное спасибо. Теперь фильтр заработал! | |
|
| |