Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.05.2010, 06:34   #1
BoRRuS
 
Регистрация: 19.05.2010
Сообщений: 5
По умолчанию Дробные результаты

Здравствуйте всем.

Подскажите, пожалуйста, каким образом (или с помощью каких макросов/модулей/чего-либо стандартного или дополнительного) можно проделать следующую вещь:

Допустим, у нас есть ящик таблеток. В ящике их, к примеру, 75. при списании одной списывается 1/75 от ящика. Access округляет это до 0,01 (вместо 0,001333333333...). В итоге получается расхождение с тем, что пришло, и тем, сколько списали.

Вопрос: Как можно организовать какую либо доп. ячейку для хранения дробного числа? Типа, 1/75 (или 75/75). При следующем списании в данной ячейке к числителю прибавляется еще одна единица (или убавляется). Бухгалтеру будет показываться итог деления, а само число так и останется в доп. ячейке (просто доп. ячейка - единственный вариант, который я могу придумать).

Есть ли вообще возможность так сделать? Уже запорол одну базу (съекономил 3 секунды на ctrl+c с ctrl+v)

Последний раз редактировалось BoRRuS; 21.05.2010 в 06:36.
BoRRuS вне форума Ответить с цитированием
Старый 21.05.2010, 22:49   #2
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте BoRRuS.
я думаю Вам стоит изменить логику хранения данных, "..Бухгалтеру будет показываться итог деления.." - "итог деления" это отношение (в Вашем случае кол-ва выданных таблеток к объему ящика).
Может стоит так и отображать:
Код:
Sum([выдано]) & "/" & [объем ящика]
текстовое выражение суммы выданных таблеток определенного ящика и его объема, для этого потребуется структура состоящая из двух таблиц и отображение будет наглядным без деления.
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 22.05.2010, 01:51   #3
BoRRuS
 
Регистрация: 19.05.2010
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Teslenko_EA Посмотреть сообщение
Здравствуйте BoRRuS.
я думаю Вам стоит изменить логику хранения данных, "..Бухгалтеру будет показываться итог деления.." - "итог деления" это отношение (в Вашем случае кол-ва выданных таблеток к объему ящика).
Может стоит так и отображать:
Код:
Sum([выдано]) & "/" & [объем ящика]
текстовое выражение суммы выданных таблеток определенного ящика и его объема, для этого потребуется структура состоящая из двух таблиц и отображение будет наглядным без деления.
Евгений.
Идея, конечно, шикарная, но есть маленькое но... "Босс" хочет иметь возможность наблюдать результаты в виде дробей, в то время как в бухгалтерию поступают уже итоговые данные (я не начальство, зачем это надо не пойму). Поэтому и задумался о доп. ячейке. Мозг этой фигней забит уже недели 2. Чисто теоретически: две таблицы: одна нормальная, с результатом деления, другая полностью в дробях, то есть хранит знаменатель/числитель из первой таблицы. Такое возможно? Как не пытаюсь, не получается.

Последний раз редактировалось BoRRuS; 22.05.2010 в 01:53. Причина: Добавка
BoRRuS вне форума Ответить с цитированием
Старый 22.05.2010, 09:05   #4
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

BoRRuS, "..наблюдать результаты в виде дробей.." - десятичных(?), такой вариант мало информативен. Ваша задача не только исполнять все прихоти руководства, но и предлагать варианты решения задачи максимально доступные для восприятия (Боссом в том числе) и технически правильно решаемые. Сохранять в таблицах не исходные данные, а результат математической операции не есть правильное решение.
Если задача не конфиденциальна, избавьте БД от избыточной информации, сожмите средствами MS Access, упакуйте в архив и выложите для ознакомления на этой странице, думаю помощь (совет) Вам будет оказана, с реальной БД задача нагляднее и проще для понимания.
Евгений.
P.S. термин "ячейка" в БД мало приемлем и потому не понятен в Вашем контексте.
Teslenko_EA вне форума Ответить с цитированием
Старый 07.06.2010, 04:13   #5
BoRRuS
 
Регистрация: 19.05.2010
Сообщений: 5
По умолчанию

Взял похожую базу, единственное - цены не прописаны. Насчет логики хранения - как это можно сделать на практике? В голову ничего не приходит.
Вложения
Тип файла: rar 123.rar (51.9 Кб, 10 просмотров)
BoRRuS вне форума Ответить с цитированием
Старый 07.06.2010, 06:27   #6
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте BoRRuS.
принцип "отображения дробных значений" (соответственно и "логика хранения") может быть таким:
Код:
SELECT Наименование, (
         SELECT Sum(Количество) 
         FROM [тчРасходная накладная] 
         WHERE Товар=спрТовары.Код) & " / " & НормативныйЗапас 
FROM спрТовары
расходная часть хранится в отдельной таблице а её сумма отображается строкой с полем НормативныйЗапас.
это не решение Вашей задачи, а демонстрация построения SQL конструкции для её решения.
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дробные числа Oksanator Помощь студентам 7 05.01.2010 19:11
Дробные числа Vitalik55 БД в Delphi 3 10.06.2009 23:08
Дробные на полусумму PbIska Помощь студентам 4 20.05.2009 17:40
Дробные в DBGrid Veiron Общие вопросы Delphi 4 22.12.2008 16:53
Дробные числа EAAlien Общие вопросы Delphi 8 13.05.2008 19:09