|
|
|
| на табличной форме предпологается: ввод даты и часов работы оборудования а рядом автоматом сумма часов с накоплением. Т.е. ввели дату, ввели часы нажали энтер и рядом в колонке сумма с накоплением появилась
Дата ЧасыОтработано Часывсего
01.11.2008 24 24
02.11.2008 18 42
03.11.2008 20 62
так вот как это сделать (извините, новичек) | |
|
| |
|
|
|
| '===Сумма с накоплением==='
Public Function SumField(Optional var) As Double
Static D As Double
If IsMissing(var) Then
D = 0
Else
D = D + Nz(var, 0)
End If
SumField = D
End Function
'===Нумерация==='
Public Function Numeration(Optional var) As Long
Static N As Long
If IsMissing(var) Then
N = 0
Else
N = N + 1
End If
Numeration = N
End Function | |
|
| |
|
|
|
| сперва нужно определиться, как сохранять данные
минут у Вас точно не будет? только целые часы? | |
|
| |
|
|
|
| минут не будет, но похоже сохранять надо будет в табл еще и ту колонку с почсчитываемыми суммами часов (т.е. получетеся 3 колонки в табл дата, часыотработанные, суммачасов) а вот эта набежавшая суммачасов будет использоватся.
А если точнее:
пользователь вводит дату, ставит часы, по энтеру считается суммачасов накопленная и тут же она будет сравнивается с некой нормой часов (например 300) если 300 то то, иначе ничего.
итак каждый день | |
|
| |
|
|
|
| калькулируемые поля, т.е. то, что можно посчитать, хранить в таблице крайне не рекомендуется - могут быть недоразумения | |
|
| |
|
|
|
| похоже да могут быть,
и еще а вдруг ползователь решит исправить часы за какой-то день, соответственно должны пересчитаться все остальные накопительные | |
|
| |
|
|
|
| я использую функции, которые выше привел.
в запросе.
нашел я из где-то на сейте тут. не помню уже.
единственное - необходимо чётко определиться с сортировкой, чтобы результат был корректным в Вашем контексте. | |
|
| |