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


Автор: Лев 3.2.2005, 13:44
Привет всем!
smile Возник серьёзный ступор. При поиске сальдо на начало периода:
Если кто вдруг не понял это отсаток.
То бишь я создаю запись 1 в которой у меня получается какое то числовое значение value. мне необходимо в другой записи (например 2)обратиться к данному значению, тоесть перенести его в запись 2 и прибавить новое числовое значение и т.д.
(акцентирую внимание что эти значения находятся именно в разных строках таблицы, а не в одной)
Хожу вокруг да около, но пока без результатно если кто знает прошу откликнуться smile

Автор: Akina 3.2.2005, 16:13
В каждой записи ты должен хранить информацию, относящуюся ТОЛЬКО К ЭТОЙ ЗАПИСИ. Это аксиома и даже не обсуждается. Все что может быть вычислено, должно быть вычислено. Посему никаких обращений к полям одной записи для вычисления полей другой быть не должно в принципе.

Делай как положено - у тебя есть сальдо на начало периода, есть движение за период, ты одним запросом получаешь сумму движений за период и соответственно потом вычисляешь сальдо на конец периода.

Т.е. у тебя есть таблица движения средств - в нее заносятся все операции, и есть таблица сальдо на, скажем, начало каждого месяца... соответственно на любой момент в середине месяца ты сальдо считаешь так: делаешь группирующую выборку из таблицы движений с начала месяца по нужный момент и считаешь сумму движений ака изменение сальдо, делаешь выборку из таблицы сальдо на начало месяца. И потом программно считаешь текущее сальдо. Если расчитанное сальдо - это сальдо на начало следующего месяца, то ты создаешь новую запись в таблице сальдо либо корректируешь существующие (возможно каскадно).

Автор: Лев 4.2.2005, 15:43
Спасибо за помощь!
Всё получилось.
И ещё вопрос могу я через редактор VB присвоить значение не в форму, а непосредственно в саму таблицу или для этого всё равно необходимо создавать поле.
тоесть в форме я пишу, например, Сальдо.Value = Остатки.Value
а необходимо допустим что то такое:
Таблица 1.Остатки.Value=Сальдо.Value , но это естественно неправильно

Автор: Akina 4.2.2005, 15:47
Цитата
Таблица 1.Остатки.Value=Сальдо.Value

Таблица 1 не является объектом твоей программы. Есссно нельзя. Однако ты подключен к ней, у тебя есть коннекшн, рекордсет с нее - через них и делай.

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