Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Остаток на начало-конец дня
 
 автор: час   (19.04.2010 в 19:18)   личное сообщение
 
 

Чё та у мну не понятка.....
Имеется таблица приходников-расходников
Приход | Расход | Остаток
500....... | 0..........| 500.......
0............| 500......| ....0.......

При проведении очередной операции нужно вычислить остаток

Как найти в таблице в поле остаток предыдущую запись
==========================================================
Блин по привычке пишу здеся а делаю всё в VB6 , извиняюся

  Ответить  
 
 автор: ДрЮня   (19.04.2010 в 19:57)   личное сообщение
 
 

по значению поля "дата-время" ?

  Ответить  
 
 автор: час   (19.04.2010 в 20:50)   личное сообщение
 
 

а, получится???
При пересчёте всех значений как быть???

  Ответить  
 
 автор: час   (19.04.2010 в 21:39)   личное сообщение
 
 

может поле типа счётчик - может на него держать ориентир???
Может так???


SELECT Max(SHAPKA_PKO_RKO_TBL.ID) AS [Max-ID], First(SHAPKA_PKO_RKO_TBL.OSTATOK) AS [First-OSTATOK]
FROM SHAPKA_PKO_RKO_TBL;



Где коллегия советчиков?
Где завсегдатаи клуба чё де када??

  Ответить  
 
 автор: snipe   (20.04.2010 в 03:58)   личное сообщение
 
 

час - а зачем расчитывать значение после каждой операции

ладно бог с ним

сумма всех записей по полю приход минус сумма всех записей по полю расход = остаток в кассе

  Ответить  
 
 автор: Stanislav   (20.04.2010 в 05:28)   личное сообщение
 
 


а зачем расчитывать значение после каждой операции


Это основа бухгалтерии - знать остаток на счете после каждой транзакции.

  Ответить  
 
 автор: Stanislav   (20.04.2010 в 05:24)   личное сообщение
 
 


При проведении очередной операции нужно вычислить остаток
Как найти в таблице в поле остаток предыдущую запись


Не надо искать предыдущую запись. Сделай по методу Юрия Шермана "Запрос, нумерующий записи и выдающий сумму полей с накоплением" http://hiprog.com/index.php?option=com_content&task=view&id=369&Itemid=35.
Еще есть такой встроенный вариант от Microsoft: Вычисление суммы с накоплением (интегральной суммы) http://office.microsoft.com/ru-ru/access/HP051873881049.aspx Но я не разобрался, где там свойство Running Sum.

  Ответить  
 
 автор: час   (20.04.2010 в 08:36)   личное сообщение
 
 

Спасибо!!!
пишу здеся а делаю всё в VB6 , извиняюся

  Ответить  
 
 автор: час   (20.04.2010 в 08:41)   личное сообщение
 
 


сумма всех записей по полю приход минус сумма всех записей по полю расход = остаток в кассе


А остаток на конкретную запись ???
придётся как то высчитывать....
а остаток с прошлого года...

Потому остаток лучшее не высчитывать общим сложением, а хранить просчитав после очередной операции
А вот если произвели какие то изменения в середине года - за предыдущий месяц - тада
надо брать первый остаток на начало года и фигачить от него перерасчёт........
так, видимо.

  Ответить  
 
 автор: Силblч   (20.04.2010 в 08:46)   личное сообщение
 
 

ну йомайо :) это ж азы

в таблице должна быть дата, как минимум!
как максимум - счет дебет, счет кредита

остаток на дату считается классическим запросом в большинстве случаев, если нет, меня поправит Анатолий(Киев) :)


select sum([Приход]-[Расход]) from [Таблица] where arcdate<=[На какую дату] 

  Ответить  
 
 автор: час   (20.04.2010 в 09:01)   личное сообщение
 
 



ну йомайо :) это ж азы

а выводя реестр приходов и расходов - там колонка остаток - посля данной операции - то чё кажный раз для этого поля перерасчёт врубать ????
==================================================================================
потому как кажный новый год всё кладётся в архив и нумерация документов ведётся с № 1
чё тада первый приходник на начало года делать автоматом - без участия оператора, занося сумму остатка с прошлого года - это выход!

  Ответить  
 
 автор: Stanislav   (20.04.2010 в 09:12)   личное сообщение
 
 


А остаток на конкретную запись ???
придётся как то высчитывать....
а остаток с прошлого года...

Потому остаток лучшее не высчитывать общим сложением, а хранить просчитав после очередной операции
А вот если произвели какие то изменения в середине года - за предыдущий месяц - тада
надо брать первый остаток на начало года и фигачить от него перерасчёт........
так, видимо.


Я уже где-то писал. Что есть нормальных варианта. Либо хранить остатки, тогда перерасчет не делать. Либо вычислять остатки. Ты уже определись, каким путем пойдешь.
Остаток на заданную дату тебе функция нарастающего итога посчитает. Ты просто выбери запросом записи до этой даты включительно.

  Ответить  
 
 автор: час   (20.04.2010 в 09:14)   личное сообщение
 
 

каким путём идти?
каким путём идти?
каким путём идти?
========= ===================================

  Ответить  
 
 автор: час   (20.04.2010 в 09:19)   личное сообщение
 
 

Буду создавать приходник № 0 на начало каждого года с суммой остатка перевалившей с предыдущего года
Буду хранить остатки, расчитывая их при каждой операции в той же строке таблицы
При необходимости (корректировка данных) - буду использовать функцию пересчёта остатков
При необходимости (контроль за правильностью расчётов) - буду использовать функцию пересчёта остатков

  Ответить  
 
 автор: Stanislav   (20.04.2010 в 09:33)   личное сообщение
 
 


Буду создавать приходник № 0 на начало каждого года с суммой остатка перевалившей с предыдущего года

В бухгалтерии так и делается. Просто пишется "Входящее сальдо" и берется остаток на конец прошлого периода.
По поводу остального - и получится у тебя не программа, а монстр :) Смайлика подходящего не нахожу :)

  Ответить  
 
 автор: час   (20.04.2010 в 09:39)   личное сообщение
 
 

вот подходящий смайлик --->

  Ответить  
 
 автор: Stanislav   (20.04.2010 в 09:47)   личное сообщение
 
 


вот подходящий --->

Нет, вот так: http://fotki.yandex.ru/users/ppiissuunn/view/41762/?page=0

  Ответить  
 
 автор: час   (20.04.2010 в 09:49)   личное сообщение
 
 


======== .....................................................................http://hiprog.com/forum/read.php?id_forum=1&id_theme=7130&page=1

  Ответить  
 
 автор: час   (20.04.2010 в 13:50)   личное сообщение
 
 

А может зря я сумму прихода и расхода в одном столбце пишу

  Ответить  
 
 автор: snipe   (20.04.2010 в 15:29)   личное сообщение
 
 

Чё пристали - в отпуске я

остаток или сальдо или (как вы его там называете) на определенный период расчитывается просто
в пассивном счете - кредит (приход) минус дебет(расход) за весь период операций (пока ведется журнал)

таким образом важно иметь дату(и время) проведения операции и какая операция проведена - кредитовая или дебетовая

а что там получилось или осталось это расчетные значения

  Ответить  
 
 автор: alex77755   (20.04.2010 в 16:05)   личное сообщение
 
 


Как найти в таблице в поле остаток предыдущую запись


Я только начинаю изучать Аксес и потому возникает сомнения
Я бы сделал так

        rs.MoveLast ' перешел на последнюю запись
        rs.MovePrevious ' а потом на предыдущую

В чём ошибочность моих рассуждений?

А вот если произвели какие то изменения в середине года - за предыдущий месяц 

Тада пора сушить сухари. В бухгалтерии это уже мошенничество. А по сути перерасчет начиная с даты изменения. Остаток из предыдущей строки и вперёд

  Ответить  
 
 автор: osmor   (20.04.2010 в 17:17)   личное сообщение
 
 

все неправильно!
Таблица должна быть другая:
счет
направление
сумма
дата и т.д.

или
счет с
счет куда
сумма
дата и т.д.

если очень хочется остаток, то можно и остаток сдесь же хранить и вычислять его при добавлении записи, "последнюю" запись можно найти по дате, но вообще это плохо.
Или тупо посчитать все обороты по нужному счету.
остаток всегда можно посчитать, если это долго, то можно завести отдельную таблицу для хранения остатка на дату (в 1С вроде регистрами называются) и "закрывать" периоды.

  Ответить  
 
 автор: alex77755   (20.04.2010 в 17:58)   личное сообщение
 
 

Вообще-то вопрос не стоял о правильности-неправильности таблицы.
Правильная она или неправилльная, но она уже:


Имеется таблица приходников-расходников
Приход | Расход | Остаток


а по бухгалтерии ещё можно ещё добавить субконто дебита, субконто кредита, счёт, субсчёт, сальдо.... Только к чему это

  Ответить  
 
 автор: osmor   (21.04.2010 в 08:21)   личное сообщение
 
 

to alex77755

Вообще-то вопрос не стоял о правильности-неправильности таблицы.


Многие вопросы возникают именно из-за "неправильности" организации табциц.
Если разработка еще не ушла слишком далеко лучше сразу все переделать, что бы в будующем проблем было меньше.

ЗЫ. (пояснение на всякий случай)
Тон ответа "Все не правильно", был выбран потому, что вопрос задал Час . Если бы вопрос задали Вы, то ответ бы начинался примерно так:
"Я бы Вам советовал изменить структуру таблиц на примерно такой ...."

to Час.

А ваще повторюся - я в VB6 делаю


Какая разница на чем ты делаешь Front-end... правила организации БД остаются неизменными.

  Ответить  
 
 автор: Explorer   (20.04.2010 в 18:30)   личное сообщение
 
 

+100

  Ответить  
 
 автор: snipe   (20.04.2010 в 18:52)   личное сообщение
 
 

To alex77755
не забывайте что необходима кассовая книга т.е. субконто не в с чет
тут как я понимаю синтетический учет а при чем аналитический

час - делай как жена говорит

  Ответить  
 
 автор: alex77755   (20.04.2010 в 20:13)   личное сообщение
 
 

To snipe
Да яж не спорю. Просто не увидел упоминания о кассовой или какой-нибудь другой книге
А вопрос врезаля в память "Как узнать значение предыдущей строки". И что таблица то уже готова.

  Ответить  
 
 автор: час   (20.04.2010 в 20:16)   личное сообщение
 
 


час - делай как жена говорит


=====================================================================================
жена говорит что я её уже достал
================================================
А ваще повторюся - я в VB6 делаю .........

  Ответить  
 
 автор: час   (20.04.2010 в 21:10)   личное сообщение
 
 

неужто такой вот запрос - правомерен???

SELECT Last(SHAPKA_PKO_RKO_TBL.OSTATOK) AS [Last-OSTATOK]
FROM SHAPKA_PKO_RKO_TBL;


Выдаёт последнюю запись остатка, но мне не верится чё скажете

  Ответить  
 
 автор: alex77755   (20.04.2010 в 21:32)   личное сообщение
 
 


rs.MoveLast ' перешел на последнюю запись
AS [Last-


Что-то в них есть похожее....

  Ответить  
 
 автор: час   (20.04.2010 в 21:36)   личное сообщение
 
 

АГА ИМХО
Last

  Ответить  
 
 автор: osmor   (21.04.2010 в 08:26)   личное сообщение
 
 

Про Last говорили неделю назад, там есть пример получения "последней" записи.
http://hiprog.com/forum/read.php?id_forum=1&id_theme=7051&page=1

  Ответить  
 
 автор: час   (21.04.2010 в 08:55)   личное сообщение
 
 

Спасибо....!

  Ответить  
 
 автор: Explorer   (20.04.2010 в 21:43)   личное сообщение
 
 


не забывайте что необходима кассовая книга


кассовая книга просто отчет - при чем тут она вообще?

  Ответить  
 
 автор: час   (20.04.2010 в 22:00)   личное сообщение
 
 

Ды это он про задание моё от моей жены - написать программу, что бы там кассовую книгу вести можно було...

  Ответить  
 
 автор: kot_k_k   (21.04.2010 в 09:11)   личное сообщение
 
 

тебе прислать ссылку на 1С?

п.с. да не впихнется невпихуемое.

  Ответить  
 
 автор: час   (21.04.2010 в 09:18)   личное сообщение
 
 


правильно писать - штаны не намочить
не в пи хуе моё

  Ответить  
 
 автор: kot_k_k   (21.04.2010 в 09:27)   личное сообщение
 
 

я считаю 1С хорошим примером различных реализаций, а УПП это ваще песня (только никто не знает как она работает)

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

п.с. какая то клава другая сегодня, кнопки не те.

  Ответить  
 
 автор: час   (21.04.2010 в 13:03)   личное сообщение
 
 

кноп кинете

  Ответить  
 
 автор: kot_k_k   (21.04.2010 в 13:37)   личное сообщение
 
 

когда дышу монитор запотевает, так что могу только в витую пару дыхнуть

  Ответить  
 
 автор: час   (21.04.2010 в 15:43)   личное сообщение
 
 


http://vysotskiy.lit-info.ru/vysotskiy/stihi/589.htm

  Ответить  
 
 автор: час   (22.04.2010 в 08:25)   личное сообщение
 
 


Таблица должна быть другая:
счет
направление
сумма
дата и т.д


Она (табла) - такая и есть, я просто не стал все поля расписывать, а только те, по которым вопрос.....
там этих полей - десятка два будет
=========================================================
Тон ответа "Все не правильно", был выбран потому, что вопрос задал Час

Ах вот так вот , да!!
Эт я на особом положении по бестолковости нахожуся - значит
Со мной можно значит не церемониалится.....
Ну открыл глаза, ну не ждал не ожидал
Что в такой раздел попал.........
==============================================================
С Уважением ...........час!

  Ответить  
 
 автор: час   (22.04.2010 в 08:45)   личное сообщение
 
 

Я вчера закончил прожку —
Про неё я тут флудил —
Написал про заготовку
И в дибилы угодил.

Пот солёный смыл под душем
Съел холодного язя
И инструкцию послушал —
Что их так писать нельзя

Говорил со мной, как с братом,
Наш отважный капитан,
Хоть считал меня завзятым
Он спросил - ты что "Иван"

Что то "Вань" ты больно робок
Не флуди - я заведусь
Сколько лет живём бок о бок —
И всё время: "Я боюсь"

Обещал — забыл ты, нешто?
ох, хорош! —
Что рекурсию изучишь
и поймёшь
Сбереги там пару фунций,
лоб чеши,
Хоть чего — хоть чёрта в ступе —
напиши!"

  Ответить  
 
 автор: osmor   (22.04.2010 в 10:04)   личное сообщение
 
 

Ах вот так вот , да!!


а сердечко после "что вопрос задал Час" не заметил?

  Ответить  
 
 автор: час   (22.04.2010 в 10:10)   личное сообщение
 
 

Заметил !!!
Osmor, - ну это же шутка был с моя сторона(про АХ ВОТ ТАК ВОТ _ ДА???)

  Ответить  
 
 автор: osmor   (22.04.2010 в 10:43)   личное сообщение
 
 

да понял я, понял.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList