Помогите пожалуйста (в результирующей таблице не отображается)

dragonimp
Дата: 12.11.2009 09:39:33
Начнем с того. что я новичек. и знакомство с Access, только начал.
Образовалась проблема: существует подчиненая форма ручного ввода данных,
вида: Поставщик
Начальное значение
Конечное значение
колличество: конечное значение-начальное значение
Дата
проблема возникает в том что в поле колличестве разница отображается, но после ввода данных через форму, в результирующей таблице не отображается, бьюсь уже над этой проблемой много дней. но ни как неполучается.
помогите пожалуйста.
отакота
Дата: 12.11.2009 09:47:25
dragonimp
Начнем с того. что я новичек. и знакомство с Access, только начал.
Образовалась проблема: существует подчиненая форма ручного ввода данных,
вида: Поставщик
Начальное значение
Конечное значение
колличество: конечное значение-начальное значение
Дата
проблема возникает в том что в поле колличестве разница отображается, но после ввода данных через форму, в результирующей таблице не отображается, бьюсь уже над этой проблемой много дней. но ни как неполучается.
помогите пожалуйста.
а вы не смотрите результирующую таблицу, и проблемы не будет. никогда не открывайте ее напрямую. всегда смотрите ваши данные через вашу форму или запрос - где эта разность всегда будет видна.
dragonimp
Дата: 12.11.2009 09:51:58
отакота,

в таблице как раз и надо видеть результат получившегося выражения. из за этого форма то и создавалась.
Но как можно сделать тогда эту разницу через запрос. если при этом значение 20 символьные, чтобы правильно подсчитать разницу необходимо для начала отсечь последнию цифру, оставить 19 первых, а потом убрать первые 9, и только после этого можно получить правильное значения поля колличество
отакота
Дата: 12.11.2009 09:52:05
у вас в самой этой таблице какие поля?
П-Л
Дата: 12.11.2009 09:57:15
dragonimp
в таблице как раз и надо видеть результат получившегося выражения. из за этого форма то и создавалась.
Но как можно сделать тогда эту разницу через запрос. если при этом значение 20 символьные, чтобы правильно подсчитать разницу необходимо для начала отсечь последнию цифру, оставить 19 первых, а потом убрать первые 9, и только после этого можно получить правильное значения поля колличество

Покажите пару строчек примеров своих данных. То, что вы написали, никак не выглядит как "количество".

Слои: Таблицы - Запросы - Формы
dragonimp
Дата: 12.11.2009 10:09:58
П-Л,

Поля таблицы Поставщик Начальное значение конечное значение колл-во дата
форма создана на основе это таблицы, получается что изначально таблица пуста, пользователь сам должен ее заполнять с помощью таблицы, колличество должно получаться разницей между конечным и начальным значением.
пример поставщик Начальное значение Конечное значение колличество Дата
ООО Темп 89506845940002583623 89506845940008583623 600000 01.01

Вот что примерно хотелось получится
Поставщик выбирается из списка, но может вводится вручную, разница должна считаться отбрасыванием последнего 20 символа, в данном случае 3, после этого нужно отбросить первые 9 чисел, и только после этого можно корректно сосчитать, вот как это примерно выглядит.
отакота
Дата: 12.11.2009 10:11:40
dragonimp
как можно сделать тогда эту разницу через запрос. если при этом значение 20 символьные, чтобы правильно подсчитать разницу необходимо для начала отсечь последнию цифру, оставить 19 первых, а потом убрать первые 9, и только после этого можно получить правильное значения поля колличество
А вот как у вас эта разность в форме считается? Очевидно, там выражение какое-то есть, которое вычисляет значение по описанным вами правилам на основе двух исходных полей (начальное и конечное значения) - вот в запросе можно просто написать то же самое выражение, и далее использовать этот запрос для просмотра данных (в т.ч. в качестве источника формы или отчета).
dragonimp
Дата: 12.11.2009 10:17:33
отакота,

Да есть такое выражение. ни как не могу составить правильный запрос, изначально я считал шагами. в форме есть 2 неотображемых поля, которые с помощью Left отсекают последнюю цифру пример Нач-ое.знач1=Left(Нач.Знач, 19) К.з.1=Left(К.з, 19)
после этого в поле колличество считается разница count=Right(К.з1,9) - Right(Н.з1)
все считается нормально, но корректный запрос не получается у меня составить
П-Л
Дата: 12.11.2009 10:19:13
dragonimp
Поля таблицы Поставщик Начальное значение конечное значение колл-во дата
форма создана на основе это таблицы, получается что изначально таблица пуста, пользователь сам должен ее заполнять с помощью таблицы, колличество должно получаться разницей между конечным и начальным значением.
пример поставщик Начальное значение Конечное значение колличество Дата
ООО Темп 89506845940002583623 89506845940008583623 600000 01.01

Вот что примерно хотелось получится
Поставщик выбирается из списка, но может вводится вручную, разница должна считаться отбрасыванием последнего 20 символа, в данном случае 3, после этого нужно отбросить первые 9 чисел, и только после этого можно корректно сосчитать, вот как это примерно выглядит.


автор
форма создана на основе это таблицы, получается что изначально таблица пуста, пользователь сам должен ее заполнять с помощью таблицы, колличество должно получаться разницей между конечным и начальным значением
Это уже бред. Таблица либо есть либо нет. Форма опирается на запрос, который построен на базе таблицы и делает вычисления количества как кончное - начальное.

89 506 845 940 002 583 623 - 89 506 845 940 008 583 623 = 6 000 000

Если у вас в "количестве" кроме собственно количества засписана еще какая-то билеберда, то для начала разложите свои данные на количество и прочие довески, потом с ними можно будет нормально работать. И купите учебник русского языка - слово Количество пишется с одним Л
отакота
Дата: 12.11.2009 10:20:44
dragonimp
разница должна считаться отбрасыванием последнего 20 символа, в данном случае 3, после этого нужно отбросить первые 9 чисел, и только после этого можно корректно сосчитать, вот как это примерно выглядит.
если у вас изначально 20 символов, то отбрасывая последний и 9 первых, вы фактически берете 10 символов, начиная с 10-го символа - а для этого есть готовая функция Mid([Поле],10,10), поэтому в запросе выражение для получения искомого количества выглядит очень просто:
select Val(Mid([КонечноеЗначение],10,10))-Val(Mid([начальноеЗначение],10,10)) as количество
from таблица