powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как обновить расчеты, связанные со значением в поле со списком???
18 сообщений из 18, страница 1 из 1
Как обновить расчеты, связанные со значением в поле со списком???
    #32229117
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть форма, одно из полей которой заполняются (DAO) в зависимости от значения в поле со списком. В этом поле вычисляется сумма в у.е. Периодически возникает ситуация изменить курс валюты. Т.е если, например, на сегодня курс валюты не определен, то юзеру предлагается это сделать. Таким образом значение поля "сумма в у.е." меняется. Но отображается оно в поле только если заново выбрать в списке соответствующий элемент.
Как это автоматизировать???

Requery тут не помогает...
...
Рейтинг: 0 / 0
Как обновить расчеты, связанные со значением в поле со списком???
    #32229192
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм... Разве это такой сложный вопрос....
...
Рейтинг: 0 / 0
Как обновить расчеты, связанные со значением в поле со списком???
    #32229194
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть целая куча других Re..., например Recalc, Repaint. Их не пробовал? По-моему, они тебе нужнее.
...
Рейтинг: 0 / 0
Как обновить расчеты, связанные со значением в поле со списком???
    #32229200
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А на что эту кучу вешать? На всю форму или только на список???
...
Рейтинг: 0 / 0
Как обновить расчеты, связанные со значением в поле со списком???
    #32229209
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На самом деле я даже вопрос толком не понял.

...то юзеру предлагается это сделать. Таким образом значение поля "сумма в у.е." меняется...

Меняется пользователем непосредственно в поле? Или еще где-нить, а потом ты указанное значение подкладываешь в "сумма в у.е."?

Где ты пересчитываешь значение "одного из полей", в котором "вычисляется сумма в у.е." (назову его Поле1, а то уже путаюсь)? В обработчике события "после обновления" какого-нибудь из полей или в источнике данных поля "Поле1"?
...
Рейтинг: 0 / 0
Как обновить расчеты, связанные со значением в поле со списком???
    #32229221
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смысл такой:
Юзер этом списке код счета и в "Поле1" отображается сумма по счету в у.ё...
Каждый счет имеет свою строго определенную валюту. Если курс этой валюты не введен, то открывается форма "Ввод курсов валют".
Юзер вводит курс валюты, закрывает форму "Ввод курсов валют". И он должен увидеть значение в поле1 (оно пустое, т.к. на момент расчетов курс не был введен). Т.е необходимо заново выбрать в списке соответствующий код счет и хрен знает как сделать это программно...
...
Рейтинг: 0 / 0
Как обновить расчеты, связанные со значением в поле со списком???
    #32229223
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, а запомнить ID этой валюты в форме ввода оной и потом передать это значение гдавной форме?
...
Рейтинг: 0 / 0
Как обновить расчеты, связанные со значением в поле со списком???
    #32229224
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Есть целая куча других Re..., например Recalc, Repaint. Их не пробовал? По-моему, они тебе нужнее.

Это тоже не работает...
...
Рейтинг: 0 / 0
Как обновить расчеты, связанные со значением в поле со списком???
    #32229231
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выше был приведен узкий смысл проблемы...
Широкий смысл:
Список (AfterUpdate):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Dim r As DAO.Recordset
Dim n As DAO.Recordset
    
    Set r = CurrentDb.OpenRecordset( "SELECT Bills.Организация, Bills.Валюта, Sum(nz([Приход],0 ))-Sum(nz([Расход], 0 )) AS Остаток, (Sum(nz([Приход], 0 ))-Sum(nz([Расход], 0 )))*yr([Bills].[валюта])/yr(yetype( 1 )) AS ye, Bills.[Код счета]" _
    &  "FROM Bills RIGHT JOIN Bank ON Bills.[Код счета] = Bank.[Код счета]"  _
    &  "GROUP BY Bills.Организация, Bills.Валюта, Bills.[Код счета]" )
       
    r.FindFirst  "[код счета] = '" & Me.list1 & "'" 
        If Not r.NoMatch Then
 
            Me.org = r( "Организация" )
            Me.cur = r( "Валюта" )
            Me.rest = r( "Остаток" )
            Me.ye = r( "ye" )
                If IsNull(Me.ye) Then
                    MsgBox  "Введите используемый курс валюты" 
                    DoCmd.OpenForm  "Курсы валют" 
                End If
        Else
            Me.org =  ""
            Me.cur = "  "
            Me.rest = "  "
            Me.ye = " "
        End If
       r.close
...
Рейтинг: 0 / 0
Как обновить расчеты, связанные со значением в поле со списком???
    #32229233
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для того чтобы получить новые значения в полях
Me.org = r("Организация")
Me.cur = r("Валюта")
Me.rest = r("Остаток")
Me.ye = r("ye")
Необходимо заново запустить эту процедуру... А КАК???
...
Рейтинг: 0 / 0
Как обновить расчеты, связанные со значением в поле со списком???
    #32229238
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Руский язык хоть мни и родное, но это:
"Юзер этом списке код счета и в "Поле1" отображается сумма по счету в у.ё... ", млин, из шедевров. Дай бог, чтоб меня понимали, когда я также пишу.

Ладно.
На "код счета" у тебя скорее всего стоит процедура обработки события "после обновления". Можно сделать ее из Private в Public и вызывать при закрытии формы "Ввод курсов валют". Аналогично для остальных полей, при изменении содержимого которых пересчитывается сумма в валюте.
Еще лучше, коль скоро проблема именно при закрытии фомы "ввод курсов валют", нормально расписать, что нужно делать (т.е. requery для поля со списком "курсы валют", потом [сумма в валюте] = [курс] * [сумму в рублях] и т.д.).
Видимо, это и нужно...
...
Рейтинг: 0 / 0
Как обновить расчеты, связанные со значением в поле со списком???
    #32229240
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Можно сделать ее из Private в Public и вызывать при закрытии формы "Ввод курсов валют".

Я так делал... Не получилось...
хм...
В этом случае в модуль надо вставлять эту процедуру????
...
Рейтинг: 0 / 0
Как обновить расчеты, связанные со значением в поле со списком???
    #32229249
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На закрытие формы напиши:

Private sub ФормаВводаКурсов_OnClose(...)
...
ГлавнаяРабочаяФорма.ПолеСоСпискомКурсовВалют_AfterUpdate
...
End Sub
...
Рейтинг: 0 / 0
Как обновить расчеты, связанные со значением в поле со списком???
    #32229254
Тогда уж лучше так
объяви переменную, ссылающуюся на форму курса валют, и лови событие закрытие формы. В форме курса валют создай функцию для возврата ID валюты. Что-то вроде этого

' главная форма '
Private WithEvents FormCurr as Form_Currency

' где вызов формы '
Set FormCurr = New Form_Currency
Form_Currency.OnClose = "[Event procedure]"
Form_Currency.Visible = True

Private Sub FormCurr_Close()
id_cur = Form_Currency.GetCurrecyID()
' здесь сделай то что тебе надо '

Set FormCurr = Nothing
End Sub

' форма валют '

Public Function GetCurrencyID()
' возрати код валюты '
End Function
...
Рейтинг: 0 / 0
Как обновить расчеты, связанные со значением в поле со списком???
    #32229256
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Работает... Спасибо!
...
Рейтинг: 0 / 0
Как обновить расчеты, связанные со значением в поле со списком???
    #32229914
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нда... Может мне попонятней изъясняться? Или все разжевывать?

Ворчу...
...
Рейтинг: 0 / 0
Как обновить расчеты, связанные со значением в поле со списком???
    #32229945
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наверное для начала лучше понятнее изъясниться :) А там видно будет... :)
...
Рейтинг: 0 / 0
Как обновить расчеты, связанные со значением в поле со списком???
    #32229947
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
типа чем тебе не нравится тако вариант:

Private sub ФормаВводаКурсов_OnClose(...)
...
ГлавнаяРабочаяФорма.ПолеСоСпискомКурсовВалют_AfterUpdate
...
End Sub
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как обновить расчеты, связанные со значением в поле со списком???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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