Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Access > Как перевести код из MS Access на VBA Excel


Автор: Dinchik 1.3.2006, 15:56
Здрасьте!

В общем мне теперь нужно перевести следующий код на VBA Excel

Код

SELECT '1 день' AS [Сроки действия],
Sum([rest]) AS [Сумма остатков], Sum([rest]*[percent])/Sum([rest])  AS [Средневзвешенный процент], Sum([rest]*[period])/Sum([rest])  AS [Средневзвешенный срок]
FROM table2
where ([period])<=1;

UNION ALL SELECT '7 дней'  AS  [Сроки действия],
Sum([rest]) AS [Сумма остатков], Sum([rest]*[percent])/Sum([rest])  AS [Средневзвешенный процент], Sum([rest]*[period])/Sum([rest])  AS [Средневзвешенный срок]
FROM table2
where ([period])  between 2 and 9;

UNION ALL 
SELECT '14 дней' AS  [Сроки действия],
Sum([rest]) AS [Сумма остатков], Sum([rest]*[percent])/Sum([rest])  AS [Средневзвешенный процент], Sum([rest]*[period])/Sum([rest])  AS [Средневзвешенный срок]
FROM table2
where   ([period])  between 10 and 16;
и т.д.
У меня не получается посчитать остатки и проценты точно, данные обработанные в Ассеss не совпадают с данными из Excel. Пришла к выводу что если работа с цифрами, то для точности лучше считать в Excel.

Автор: Akina 1.3.2006, 16:08
Бред из разряда

Код

c = a + b ' Посчитаем сумму
c = a + b ' Это на случай, если первый раз посчитается неправильно


Если и есть проблемы - так только от типа поля в Аксессе.

Автор: Romikgy 1.3.2006, 16:36
Цитата(Dinchik @ 1.3.2006, 14:56 Найти цитируемый пост)
Пришла к выводу что если работа с цифрами, то для точности лучше считать в Excel.

повышать точность поля надо , для повышения точности расчета

Автор: Dinchik 1.3.2006, 16:58
Да Вы не поняли
мне нужно перевести этот текст на VBA
так требуется
Пожалуйста Помогите!
Добавлено @ 17:06

У меня таблицы с сотни тысячи записями, и везде цифры
ну даже если в Аксес то как? Я в конструкторе задаю там всякие, в начале у меня была ошибка оттуда, но это тоже не помогает. Мне нужно точно точно точно. Переведите ПЛИИИИИЗ
Добавлено @ 17:12

В Аксесе размер поля ставлю как "действительное", с этим я уже сидела
не помогает. Но ошибки такие, что если допустим там трилионы, она ошибается на 20 тысячь а то и больше
а экскель, когда те же самые данные суммируешь, получается точно!

Автор: Papirus 2.3.2006, 09:13
Цитата(Dinchik @ 1.3.2006, 16:58 Найти цитируемый пост)
У меня таблицы с сотни тысячи записями, и везде цифры

В Ексель на лист поместиться 65536 записей и всё!! Этого хватит?

Цитата(Dinchik @ 1.3.2006, 16:58 Найти цитируемый пост)
а экскель, когда те же самые данные суммируешь, получается точно

Это иллюзия. Разработчик один. Типы данных одинаковы. Только тип данных ексель устанавливает автоматом, если не установлен флаг "точность как на экране", а Акс - как Вы ему сказали. Скорее проблема в округлениях. Тем не менее, попробуйте для денег указать тип данных Currerncy, а для процентов Single.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)