Основываясь на раздобытом
примере, сделал вот такую функцию:
Код:
Public Function counter(countcell As Double)
Const sQ1 = "SELECT TOP 1 товар1 FROM Отчет"
Dim db As Database
Dim rs As Recordset
s = sQ1
Set db = CurrentDb
Debug.Print s
Set rs = db.OpenRecordset(s)
If Not rs.EOF Then
counter = countcell - rs(0)
End If
rs.Close
Set rs = Nothing
End Function
Для начала, эту функцию в дизайнере ставлю в новые поля запроса(для каждого товара своё поле)
Есть две проблемы.
1)Переменная
rs(0), всегда имеет значение самой первой записи, в отличие от
countcell, значение которой увеличивается в цикле перемещения по записям. В итоге результатом функции является
текущая запись - первая запись, что не верно, так как нужно
текущая - предыдущая
2)В sQ1 явно указано поле
товар1. Хотя оно же, как бы является аргументом для функции. Ума не приложу как заставить SQL, понять этот аргумент? То-есть что бы строка выгладела примерно так:
Код:
Const sQ1 = "SELECT TOP 1 (countcell) FROM Отчет"
для того что бы одной функцией, можно было бы пересчитывать все
товары
Как не мучился, не смог впихнуть в SQL аргумент этой функции...