Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обновление списка 
:(
    Опции темы
Xen0ff
Дата 28.8.2008, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 28.8.2008

Репутация: нет
Всего: нет



База данных клиентов стоматологии. Для регистрации клиента и оказанных ему услуг (стом. операций), подсчета стоимости.

Такая вот проблема:

В некоторых стом. операциях нужно выбрать материал. Для каждой операции набор материалов из общего списка, своя норма расхода, с помощью которой считается цена.

Связь между операциями и материалами я сделал через дополнительную таблицу: ID_операции - ID_материала - норма_расхода. (если можно проще, подскажите).

Дык вот, как это реализовать, чтобы после выбора в форме операции выпадающий список отфильтровывал только нужные материалы, умножал их стоимость на норму расхода.

При этом в карточке несколько оказанных услуг, т.е. запрос + реколл обновляет фильтр и материалы по предыдущим операциям не показываются.
PM MAIL   Вверх
Akina
Дата 28.8.2008, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Цитата(Xen0ff @  28.8.2008,  12:27 Найти цитируемый пост)
как это реализовать, чтобы после выбора в форме операции выпадающий список отфильтровывал только нужные материалы, умножал их стоимость на норму расхода.

Обработать программно соотв. событие контрола выбора операции.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Xen0ff
Дата 28.8.2008, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 28.8.2008

Репутация: нет
Всего: нет



В том-то и дело. С access'ом не очень дружу. То что смог сделать - только фильтр нужных материалов для операции, а подсчет их стоимости (т.е. умножение цены на норму расхода в данной операции) - никак. При внесении новых операций мой фильтр обновлялся и предыдущие значения пропадали.

Подскажите какие методы можно использовать, может литературу с похожими примерами.
PM MAIL   Вверх
bopoha
Дата 28.8.2008, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: 21
Всего: 21



Очень смутно представляю вашу проблему. Будет проще если будет мдб (с примером) или скриншот формы и структуры таблиц, которые в этом учавствуют.
PM MAIL WWW ICQ Skype GTalk   Вверх
Xen0ff
Дата 28.8.2008, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 28.8.2008

Репутация: нет
Всего: нет



Вот сам мдб. Сдесь вырезан выбор материалов, оставлено только то что работает, но таблицы и структура оставлены. Строго не судите, собрано на скорую руку, первый раз в жизни, лишь бы не вручную считать.

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  ______________final.rar 178,45 Kb
PM MAIL   Вверх
bopoha
Дата 28.8.2008, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: 21
Всего: 21



Xen0ff, вот и зря что убрали. Пришлось догадываться. 

Догадка 1.
Я так поинмаю в ленточной форме к услуге добавиться колонка метериалы, где в ячейке будет поле со списком. В ленточных и табличных формах накладывание фильтра на поле со списком приводит к тому, что могут пропасть наименования в других строчках. Поэтому фильтр стоит накладывать при входе в элемент управления, а при выходе из него убирать фильтр. Будет мигать. Но работать можно.

Догадка 2. 
Мужду операцией и материалом отношение один-ко-многим или один-ко-одному. То зачем вообще тогда поле со списком.

В общем поясняйте. Ничего не понятно. Что есть? Что получить?


PM MAIL WWW ICQ Skype GTalk   Вверх
Xen0ff
Дата 29.8.2008, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 28.8.2008

Репутация: нет
Всего: нет



С первого раза угадали smile Да, в подчиненной табличной форме будет еще столбец с выбором материала. В главной форме поле с их суммарной стоимостью.

Про убрать фильтр не додумался, сегодня-завтра попробую. То что мигать будет это ладно, главное чтобы стоимость считало (т.е. не пропадала норма расхода).

По второй догадке: а что тогда вместо списка?

Всего материалов штук 40. В некоторых операциях нужно выбрать 1 из списка (2-3 шт.). Для каждой операции не только свой список, но и своя норма расхода. Как я связал операцию-материал-норму расхода я писал выше.

Что посоветуете?
PM MAIL   Вверх
bopoha
Дата 29.8.2008, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: 21
Всего: 21



Посоветую добавить вторую подчиненную форму, в которой пользователь будет выибрать материалы для выделенной операции. Т.е. при выборе операции накладывать фильтр на подчиненныую форму с материалами.
PM MAIL WWW ICQ Skype GTalk   Вверх
Xen0ff
Дата 3.9.2008, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 28.8.2008

Репутация: нет
Всего: нет



Пробую делать через 2-ю подчиненную форму.

Как сделать рекол 2-й подчиненной формы через 1-ю? Т.е. как к ней обратится?


PM MAIL   Вверх
bopoha
Дата 3.9.2008, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: 21
Всего: 21



1. Напрямую.
Код

Dim frmSub2 As Form_sub_frm_2 '-- или просто Form

if Me.Parent is Nothing Then
    MsgBox "Нет подчиненной формы", vbCritical
    Exit Sub
End if

'-- предполагается что элемент управления на главной форме и подчиненная форма имеют одинаковое имя
Set frmSub2 = Me.Parent.sub_frm_2.Form

'-- ...


2. при помощи событий
На первой подчиненной форме
Код

Even OnUslSelect(ByVal idUsl as Long)

Private Sub Form_Current()
    RaiseEvent OnUslSelect( Nz( Me.Id, 0 ) )
End Sub


На главной форме:
Код

Dim frmSub1 as Form_sub_frm_1

Private Sub Form_Open()
    '-- предполагается что элемент управления на главной форме и подчиненная форма имеют одинаковое имя
    Set frmSub1 = Me.sub_frm_1.Form
End Sub

Private Sub frmSub1_OnUslSelect(ByVal idUsl as Long)
    '-- обращаемся ко второй форме
    Dim frmSub2 As Form_sub_frm_2 '-- или просто Form

    '-- предполагается что элемент управления на главной форме и подчиненная форма имеют одинаковое имя
    set frmSub2 = Me.sub_frm_2.Form
End Sub


Второй вариант, более гибче.

P.S. Пример для второго варианта написан и не проверен. Увы, я все никак не напишу к статье на эту тему пример, как напишу кину сюда ссылочку.

Это сообщение отредактировал(а) bopoha - 3.9.2008, 12:14
PM MAIL WWW ICQ Skype GTalk   Вверх
Xen0ff
Дата 5.9.2008, 09:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 28.8.2008

Репутация: нет
Всего: нет



Так. Еще такие мелочи:

1. Как сделать округление до десятКОВ?

2. Функцию Sum и DSum нельзя применять к полям, значение которых получено какой-либо статистической функцией. Что тогда делать если нужно получить сумму таких полей?
PM MAIL   Вверх
Akina
Дата 5.9.2008, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Модератор: Пожалуйста, один топик - один вопрос.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Xen0ff
Дата 5.9.2008, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 28.8.2008

Репутация: нет
Всего: нет



Извиняюсь. А с округлением сам разобрался.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Access | Следующая тема »


 




[ Время генерации скрипта: 0.0565 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.