вопрос по MS Access ... ПОМОГИТЕ! :-)

homster 09.06.2004 - 20:23 | Как сделать апв запросе, чтобы вычисляемое выражение зависило от некоего условия? Ну например: Переменнапя=А*2, если дата<10.10.01, Переменнапя=А*3, если дата<10.10.02 Как такое сделать , ? ? ?
wwwNet 1 - 10.06.2004 - 08:21 | if Now<CDate("10.10.01") then Val=A*2 if Now<Cdate("10.10.02") then Val=A*3
NTFS 2 - 10.06.2004 - 10:29 | Стоит покопать в преобразовании типов. Т.е., составляешь булеву функцию вида Условие1*(A*2) + Условие2*(A*3) и т.д. Дальше смотришь, как булевы выражения преобразуются в целые. Тебе нужно, чтобы Истина в 1, Ложь в 0. Если я не ошибаюсь, в Access Истина это -1, поэтому домножаешь условие на -1. В свое время именно так и делал. Все работало. А еще лучше написать свою функцию на VB и использовать ее в запросе. Функция будет выглядеть как у wwwNet.
homster 3 - 10.06.2004 - 14:30 | а как функцию написать...и как её в запрос вставить.. подскажите плз
NTFS 4 - 10.06.2004 - 18:09 | Пишешь в модуле (вкладка модули), вызываешь в запросе как встроенную. Пример 'Сложение чисел, вставляется в модуль function Summa(a as Integer, b as Integer) as Integer Summa=a+b end function Запрос select Summa(Table1.x, table1.y) from table ; Да, если делаешь серьезный проект - не пожалей 400 руб на хорошую книгу.
NTFS 5 - 10.06.2004 - 18:10 | Извиняюсь, опечатка. Предыдущий запрос надо читать как select Summa(Table1.x, table1.y) from table1 ;

>>