Как реализовать макроподстановки в Access или VB
Т.е. есть таблица для расчёта и пользователь сам может добавлять строчки и в поле formula пишет формулу для расчёта, а в поле perem наименование переменной. И согласно этим формулам происходит расчёт. В foxpro я знаю как это реализовать, а вот как это сделать в ACCESS или VB не имею представления, от куда плясать?
Может кто-то эту задачку уже решил
kod naim St perem formula
1 Стоимость работ 500 K1
2 Cтоимость материала 300 K2
3 Цена продукции 800 K3 K1+k2
4 Цена продукции розн 1200 K4 K3*1.5
Просто писать твоим бухгалтерам выражения типа: Forms!Orders!ShipRegion*100 будет я думаю затруднительно :).
Как ты планируешь организовать работу с пользователями?, они будут переменные вводить?, а все переменные заранее известны (их можно легко переобозначить)?
В принципе в Access есть функция Eval() - она вычисляет строковые выражения...
Просто писать твоим бухгалтерам выражения типа: Forms!Orders!ShipRegion*100 будет я думаю затруднительно :).
Как ты планируешь организовать работу с пользователями?, они будут переменные вводить?, а все переменные заранее известны (их можно легко переобозначить)?
Приятно снова увидитеть тебя на форуме :)
Я планирую так: первоначально все настройки делает программист, но после если что-то нужно изменить в расчёте мог сделать и сам пользователь.
Названия переменным можно давать любые k1 или m1 или ... И формулы пишет пользователь сам, конечно корректные, т.е. с теми перменными что существуют.
При расчёте: k1 должно присвоиться значение из st(500),k2 тоже самое,k3 должно подсчитаться согласно формулы и поле st занестись значение k3
и т.д.
Приятно снова увидитеть тебя на форуме :)
Я планирую так: первоначально все настройки делает программист, но после если что-то нужно изменить в расчёте мог сделать и сам пользователь.
Названия переменным можно давать любые k1 или m1 или ... И формулы пишет пользователь сам, конечно корректные, т.е. с теми перменными что существуют.
При расчёте: k1 должно присвоиться значение из st(500),k2 тоже самое,k3 должно подсчитаться согласно формулы и поле st занестись значение k3
и т.д.
Ну эти переменные конечно Access не знает, тебе придется заменять эти переменные на: конкретные значения, ссылки на контролы, типа Me!txtSumma - Eval это скушает
Ну эти переменные конечно Access не знает, тебе придется заменять эти переменные на: конкретные значения, ссылки на контролы, типа Me!txtSumma - Eval это скушает
Класс :} Все получилось. Только я использовала Evaluate для объекта Excel, а Eval я нашла для ScriptControl тоже можно.
Кому интересно, то ловите файл ...
Класс :} Все получилось. Только я использовала Evaluate для объекта Excel, а Eval я нашла для ScriptControl тоже можно.
Кому интересно, то ловите файл ...
Не нашла, странно.. в Access функция Eval является методом объекта Access.Application так что в коде можно просто писать Eval (Access.Application по умолч. будет браться)