powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите реализовать алгоритм
16 сообщений из 41, страница 2 из 2
Помогите реализовать алгоритм
    #32564686
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе утро всем и Северу, где уже приближается полдень, в частности!

В запросе не участвует idDog - разве это не важно? Оплата проходит рандомально для любого договора и для случайного объекта?
...
Рейтинг: 0 / 0
Помогите реализовать алгоритм
    #32564690
Фотография Ирча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shuhardвдогон в recordset нет Order BY
порядок следования записей не важен ?
порядок действительно не важен,
Shuhardзачем по одному условия(If SummaP >= !Dolg Then
) 2 раза If ?
так как второе условие не работала, подумала, а вдркг пойдет, если явно прописать
ShuhardИрча что не так сейчас
Сейчас вроде все так. Плпробую прокатать для нескольких вариантов,
единственное, я не могу понять в чем все - таки разница?
Я кроме того, что изменилось описание переменных, ничего не вижу.
Это настолько важно?
...
Рейтинг: 0 / 0
Помогите реализовать алгоритм
    #32564699
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ирча Shuhardвдогон в recordset нет Order BY
порядок следования записей не важен ?
порядок действительно не важен,
Shuhardзачем по одному условия(If SummaP >= !Dolg Then
) 2 раза If ?
так как второе условие не работала, подумала, а вдркг пойдет, если явно прописать
ShuhardИрча что не так сейчас
Сейчас вроде все так. Плпробую прокатать для нескольких вариантов,
единственное, я не могу понять в чем все - таки разница?
Я кроме того, что изменилось описание переменных, ничего не вижу.
Это настолько важно?

дай финальный код
Код: plaintext
1.
If SummaP =  0  Then

+ возможная причина строгое равенство
на самом деле SummaP - число с плавающей запятой и точного равенства быть не может лучше написать -0,000001<SummaP<0,00001

если так то должны появляться маленькие минусы
...
Рейтинг: 0 / 0
Помогите реализовать алгоритм
    #32564700
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
редукция


-0,00001<SummaP<0,00001
...
Рейтинг: 0 / 0
Помогите реализовать алгоритм
    #32564709
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или
If Abs(SummaP) <= 0.0001 Then
Exit Do
...
Рейтинг: 0 / 0
Помогите реализовать алгоритм
    #32564711
Фотография Ирча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вариант таблици
Код: plaintext
1.
Объект	КодД	Dolg	Data	 opl     
 355 	 1027 	 25052 	 17 ,июн, 2004 	 0 
ничего ге заполняется
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
Public Sub dolgr()
Dim db As DAO.Database
Dim SummaP As Variant
Dim rs As DAO.Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("оплата", dbOpenDynaset)
SummaP =  10000 
With rs
Do While Not .EOF
.Edit
If SummaP >= !Dolg Then
!Opl = !Dolg
Else
!Opl = SummaP
End If
SummaP = SummaP - !Opl
If SummaP =  0  Then
Exit Do
End If
.Update
.MoveNext
Loop
If SummaP >  0  Then
MsgBox "лишних денег " & SummaP
End If
End With

End Sub
Точка останова на
SummaP = SummaP - !Opl

в строке If SummaP = 0 Then
SummaP=10000
аналогично в строке
If SummaP > 0 Then

Rivkin DmitryВ запросе не участвует idDog - разве это не важно? Оплата проходит рандомально для любого договора и для случайного объекта?
idDog пока для обкатки забит в условии постоянный, потом будет браться из формы
...
Рейтинг: 0 / 0
Помогите реализовать алгоритм
    #32564726
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Помогите реализовать алгоритм
    #32564732
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
буду ругаться
Код: plaintext
1.
2.
3.
If SummaP =  0  Then
Exit Do


а надо
Код: plaintext
1.
2.
3.
4.
If SummaP =  0  Then
.Update
Exit Do

НЕ ЗАПИСЫВАЕТСЯ В ТАБЛИЦУ БЕЗ .UPDATE !!!!
...
Рейтинг: 0 / 0
Помогите реализовать алгоритм
    #32564734
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Must be:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
Public Sub dolgr()
    Dim db As DAO.Database: Set db = CurrentDb
    Dim rs As DAO.Recordset: Set rs = db.OpenRecordset("Pay", dbOpenDynaset)
    Dim SummaP As Double
    
    SummaP =  10000 
    With rs
        Do While Not .EOF
            .Edit
            
            If SummaP >= !Dolg Then
                !Opl = !Dolg
            Else
                !Opl = SummaP
            End If
            
            .Update
            .MoveNext
            
            SummaP = SummaP - !Opl
            If Abs(SummaP) <=  0 . 0001  Then Exit Do
            
        Loop
        
        If SummaP >  0  Then
            MsgBox "Rest " & SummaP
        End If
        
    End With

End Sub
...
Рейтинг: 0 / 0
Помогите реализовать алгоритм
    #32564740
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ой-ой - чуть чуть наврал

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
Public Sub dolgr()
    Dim db As DAO.Database: Set db = CurrentDb
    Dim rs As DAO.Recordset: Set rs = db.OpenRecordset("Pay", dbOpenDynaset)
    Dim SummaP As Double
    
    SummaP =  10000 
    With rs
        Do While Not .EOF
            .Edit
            
            If SummaP >= !Dolg Then
                !Opl = !Dolg
            Else
                !Opl = SummaP
            End If
            
            .Update
            
            SummaP = SummaP - !Opl
            If Abs(SummaP) <=  0 . 0001  Then Exit Do
            
            .MoveNext
        Loop
        
        If SummaP >  0  Then
            MsgBox "Rest " & SummaP
        End If
        
    End With

End Sub
...
Рейтинг: 0 / 0
Помогите реализовать алгоритм
    #32564747
Фотография Ирча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShuhardНЕ ЗАПИСЫВАЕТСЯ В ТАБЛИЦУ БЕЗ .UPDATE !!!!
Не ругайся. пожалуйста, я же честно призналась ТУПЛЮ.
Спасибо большое за помощь.
Я с рекордсетами только начинаю работать, а цикл вообще в первый раз запускаю.
...
Рейтинг: 0 / 0
Помогите реализовать алгоритм
    #32564756
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ирча ShuhardНЕ ЗАПИСЫВАЕТСЯ В ТАБЛИЦУ БЕЗ .UPDATE !!!!
Не ругайся. пожалуйста, я же честно призналась ТУПЛЮ.
Спасибо большое за помощь.
Я с рекордсетами только начинаю работать, а цикл вообще в первый раз запускаю.


не забудь посмотреть в Гейтсе раздел про ADO
с 0 лучше учить эту технологию.У тебя же Acc > 97
...
Рейтинг: 0 / 0
Помогите реализовать алгоритм
    #32564773
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опа - сейчас опять не втему встряну :)

Вы реализовываете алгоритм (щас на пальцах буду, но это для меня - чтоб мне самому было понятно)

Условие:
Есть несколько стаканов (разной емкости) и есть бутылка водки (известно, что суммарный объем стаканов больше объема бутылки)

Алгоритм:
1. Льем в первый стакан
2. Если стакан полон, а водка еще осталась, то переходим к следующему стакану
3. пункты 1 и 2 повторяем пока есть водка.
Хороший алгоритм (по будь я обладателем последнего стакана - мне бы постоянно водки не хватало - ну это так отступление)
Алгорим решаем циклом по рекордсету

Хочу предложить свой алгоритм:
1. Определяем суммарное свободное место в стаканах ([СуммаДолга])
2. Знаем размер бутылки ([ОбъемВодки])
3. Определяем коэфициент заполнения ([k] = [ОбъемВодки]/[СуммаДолга])
4. Разливаем водку по стаканам пропорционально свободному месту в стаканах (т.е. в каждый стакан наливаем [СвободноеМестоВСтакане]*[k] Водки)

1 пункт - DSum
2 пункт - дано
3 пункт - арифметика
4 пункт - один простенький запрос на обновление

?

Такой алгоритм не подойдет?
...
Рейтинг: 0 / 0
Помогите реализовать алгоритм
    #32564777
Фотография Ирча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rivkin DmitryПривет Северу! Давно там не бывал, и уж, наверное, не буду! А жаль.. :(
Тебе тоже привет!
А почему, так сразу, не буду.
Мы к вам летом, вы к нам зимой....
Shuhardне забудь посмотреть в Гейтсе раздел про ADO
с 0 лучше учить эту технологию.У тебя же Acc > 97
Acc у меня 2003, а вот руки пока кривоваты,
а раздел про ADO, думала что рано мне естче...
...
Рейтинг: 0 / 0
Помогите реализовать алгоритм
    #32564805
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторТебе тоже привет!
А почему, так сразу, не буду.
Мы к вам летом, вы к нам зимой....

К нам - Добро пожаловать! А к вам надо разрешение в милиции оформлять и всякие там формальности... Или сейчас такого не надо?
Давно я с Севера - уже годков 16, а до сих пор временами снится! :(

Кстати, не сможешь добыть мыло кого нибудь из руководителей Пангодинского ГПУ? Например, Дурновцева А.Е. или кого нибудь из Надыма?

А что алгоритм, заработал?
...
Рейтинг: 0 / 0
Помогите реализовать алгоритм
    #32564843
Фотография Ирча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
paparomeТакой алгоритм не подойдет?
Он мог бы подойти, но у меня по одному договору объектов бывает за 300 и размазывать по ним пять миллионов рублей, и тем самым с каждой платежной добавлять колличество записей равное колличеству объектов не считаю разумным, в то же время, оплата производиться по договору в целом, а не за отдельные объекты, поэтому мне все равно, чей стакан останеться пустым
Rivkin DmitryК нам - Добро пожаловать! А к вам надо разрешение в милиции оформлять и всякие там формальности... Или сейчас такого не надо?
Давно я с Севера - уже годков 16, а до сих пор временами снится! :(

Кстати, не сможешь добыть мыло кого нибудь из руководителей Пангодинского ГПУ? Например, Дурновцева А.Е. или кого нибудь из Надыма?

А что алгоритм, заработал?
У нас уже давно ЗП сняли, так что добро пожаловать с обычными документами Гостя России.
Мыло посмотрю, но не обещаю.
Алгоритм вроде заработал, но зарекаться уже боюсь.
Сейчас все допишу по полной и посмотрим...
...
Рейтинг: 0 / 0
16 сообщений из 41, страница 2 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите реализовать алгоритм
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]