|
|
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Здравствуйте Люди! Существует выполнение по договору, которое разбивается на выполнение по объектам по факту. Существует оплата выполненных работ, которая идет одной суммой (SummaP). Структура таблицы в которой содержаться данные: idDog, Vipolnenie, DataV, idOb, Oplata Задача. Распределить оплату программно по объектам, по которым есть задолженность. Алгоритм представляю себе такой, для всех объектов по договору считаю задолженность (Dolg) Если SummaP >= Dolg по 1 объекту, тогда Oplata = Dolg SummaP1=SummaP-Oplata Иначе Oplata=SummaP SummaP1=SummaP-Oplata Все это в цикл, SummaP1=0 конек цикла А дальше, как в том анекдоте «нутром чувствую, что литр, а математически выразить не могу» Т.Е. не знаю с какой стороны к этому подступиться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 12:11:34 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Sub TraTaTa (ByVal SummaP as Double, idDog as String) Dim db As Database: Set db = CurrentDb Dim rs as Recordset: Set Rs = Db.OpenRecordset("SELECT idDog, Vipolnenie, DataV, Oplata WHERE ((idDog = '" & idDog & "'));", DbOpenDynaset) With rs Do While Not .EOF .Edit If SummaP >= !Dolg !Oplata = !Dolg Else !Oplata = SummaP End If SummaP=SummaP-!Oplata if SummaP = 0 Then Exit Do .Update .MoveNext Loop If SummaP > 0 Then MsgBox "Остались деньги на выпить и закусить в размере " & SummaP ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 12:29:35 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Может ты имела ввиду Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 12:34:16 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Спасибо за помощь! Буду делать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 12:35:10 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Ирча, а что в Уренгой уже регулярно поезда ходят? А до Пангод на поезде доехать можно? Или все так же, как и раньше вертушкой через Надым? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 12:36:36 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
2 Ирча стройка? 1-й ворпрос - а надо ли "распределять" может быть - Oplata в твоей таблице - вовсе не оплата, а цена вопроса? тогда складывай цены вопроса и смотри против них сумму оплат по договору. Разница даст тебе величину задолженности (дебиторской/кредиторской). Размазывать по стакану есть смысл, только если оплата постаканная. Вообще же, размазывать - примерно так, как Rivkin Dmitry нарисовал. Если только у тебя задача без приоритетов, или каких-нибудь специальных заковык, где явная "функция распределения" потребуется. обозначился. Все. В дальнейшем участвовать не смогу. по причине боления. побег дальше болеть. PS всем привет :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 12:43:26 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
to Rivkin Dmitry Поезда до Уренгоя уже ходят, а вот На счет Пангод не скажу, потому что не знаю Victosha1-й ворпрос - а надо ли "распределять" Распределять Надо, потому, что есть господа инвесторы, которые такой отчет придумали ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 12:49:14 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Victosha ,наверное, прав, и надо бы добавить в таблицу приоритет по idOb, т е. еще одно поле инт, например, и в нем проставлять порядок объектов для оплаты. Тогда в запросе достаточно будет добавить сортировку по этому полю. А что ты собираешься делать с остатком, если такой проявится? А муксун и нельму купить в Уренгое можно? (на остаток, конечно :) ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 13:00:29 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Rivkin DmitryА что ты собираешься делать с остатком, если такой проявится? я заранее прослежу, чтобы SummaP была меньше или равна задолженности по договору, а остаток пойдет как аванс Rivkin DmitryА муксун и нельму купить в Уренгое можно? (на остаток, конечно :) ) Смотря какой остаток... Реально можно, но если интересует качество, то брать надо пока у нас холодно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 13:39:55 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
А что, все еще холодно? Пора бы и лету наступать. Помнится, снег по оврагам числа до 20 июня лежал, но на солнышке уже жарко становилось в середине июня ... Хотя не всегда! Комарики уже есть? А код работает то? Я там End If и End With не проставил. Справилась? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 14:04:57 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Rivkin DmitryЯ там End If и End With не проставил. Справилась? Код пока смотрю. Он работает, но делает не совсем то, пытаюсь наладить. Endы все дописала Rivkin DmitryА что, все еще холодно? Пора бы и лету наступать У нас уже тепло, но потеплело очень резко. 6 июля была метель и -5, а сейчас 28 вот на рынке и смотрят, кому бы подпорченную рыбку сбагрить. Холодильников то почти нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 14:11:02 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Всем спасибо... Отдельное спасибо Rivkin Dmitry Все работает посто отлично! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 14:54:30 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Привет Северу! Давно там не бывал, и уж, наверное, не буду! А жаль.. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 15:05:52 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
ИрчаУ нас уже тепло, но потеплело очень резко. 6 июля была метель и -5, а сейчас 28 вот на рынке и смотрят, кому бы подпорченную рыбку сбагрить. Холодильников то почти нет. А какая у Вас разница во времени? :))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 15:06:38 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
neal ИрчаУ нас уже тепло, но потеплело очень резко. 6 июля была метель и -5, а сейчас 28 вот на рынке и смотрят, кому бы подпорченную рыбку сбагрить. Холодильников то почти нет. А какая у Вас разница во времени? :))) Когда я там бывал - разница с Москвой была 2 часа (Израиль с Москвой впереди на 1 час), но судя по 6 июля с тех пор они значительно нас обогнали :))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 16:34:23 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Rivkin DmitryКогда я там бывал - разница с Москвой была 2 часа (Израиль с Москвой впереди на 1 час), но судя по 6 июля с тех пор они значительно нас обогнали :))) Мы такие, к концу рабочего дня еще не то можем. А вообще то я по делу. Где-то туплю Вот что у меня получилось Код: 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. SummaP < !Dolg ,Т.е. Когда сумма перестает быть больше или равна долгу, молча не добавляет остаток. Ставлю точку останова на это место SummaP = SummaP - !Opl Значения все правильные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 07:47:40 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Выход из цикла без сохранения рекордсета If SummaP = 0 Then .Update Exit Do End If ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 07:55:35 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
а пример данных пару строк + тип полей в таблице + описание переменных Variant/Float ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 08:00:32 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 08:12:28 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
это была временная таблица из которой рекордсет после внесенных изменений If SummaP = 0 Then .Update Exit Do End If Общая сумма задолженности в таблице 12702,639, распределяю 10000 Временная таблица поля долг и оплата числовые, Одинарное с плавающей точкой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 08:17:53 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. ) 2 раза If ? Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 08:20:18 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
вдогон в recordset нет Order BY порядок следования записей не важен ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 08:22:49 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
у меня получилось всего 10000,0539855957 Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 08:32:13 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
последний Update не работает - чукотка права ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 08:37:35 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
пересчитал - получилось ?dsum("OPL","оплата") 10000,0539855957 в последней записи opl урезалась для достижения нужной суммы Ирча что не так сейчас ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 08:42:38 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Доброе утро всем и Северу, где уже приближается полдень, в частности! В запросе не участвует idDog - разве это не важно? Оплата проходит рандомально для любого договора и для случайного объекта? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 09:01:30 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Shuhardвдогон в recordset нет Order BY порядок следования записей не важен ? порядок действительно не важен, Shuhardзачем по одному условия(If SummaP >= !Dolg Then ) 2 раза If ? так как второе условие не работала, подумала, а вдркг пойдет, если явно прописать ShuhardИрча что не так сейчас Сейчас вроде все так. Плпробую прокатать для нескольких вариантов, единственное, я не могу понять в чем все - таки разница? Я кроме того, что изменилось описание переменных, ничего не вижу. Это настолько важно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 09:05:49 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Ирча Shuhardвдогон в recordset нет Order BY порядок следования записей не важен ? порядок действительно не важен, Shuhardзачем по одному условия(If SummaP >= !Dolg Then ) 2 раза If ? так как второе условие не работала, подумала, а вдркг пойдет, если явно прописать ShuhardИрча что не так сейчас Сейчас вроде все так. Плпробую прокатать для нескольких вариантов, единственное, я не могу понять в чем все - таки разница? Я кроме того, что изменилось описание переменных, ничего не вижу. Это настолько важно? дай финальный код Код: plaintext 1. + возможная причина строгое равенство на самом деле SummaP - число с плавающей запятой и точного равенства быть не может лучше написать -0,000001<SummaP<0,00001 если так то должны появляться маленькие минусы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 09:11:20 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
редукция -0,00001<SummaP<0,00001 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 09:12:26 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Или If Abs(SummaP) <= 0.0001 Then Exit Do ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 09:19:49 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
вариант таблици Код: plaintext 1. Код: 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. SummaP = SummaP - !Opl в строке If SummaP = 0 Then SummaP=10000 аналогично в строке If SummaP > 0 Then Rivkin DmitryВ запросе не участвует idDog - разве это не важно? Оплата проходит рандомально для любого договора и для случайного объекта? idDog пока для обкатки забит в условии постоянный, потом будет браться из формы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 09:20:56 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
буду ругаться Код: plaintext 1. 2. 3. а надо Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 09:32:32 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 09:33:23 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Ой-ой - чуть чуть наврал Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 09:35:18 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
ShuhardНЕ ЗАПИСЫВАЕТСЯ В ТАБЛИЦУ БЕЗ .UPDATE !!!! Не ругайся. пожалуйста, я же честно призналась ТУПЛЮ. Спасибо большое за помощь. Я с рекордсетами только начинаю работать, а цикл вообще в первый раз запускаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 09:39:51 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Ирча ShuhardНЕ ЗАПИСЫВАЕТСЯ В ТАБЛИЦУ БЕЗ .UPDATE !!!! Не ругайся. пожалуйста, я же честно призналась ТУПЛЮ. Спасибо большое за помощь. Я с рекордсетами только начинаю работать, а цикл вообще в первый раз запускаю. не забудь посмотреть в Гейтсе раздел про ADO с 0 лучше учить эту технологию.У тебя же Acc > 97 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 09:45:03 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Опа - сейчас опять не втему встряну :) Вы реализовываете алгоритм (щас на пальцах буду, но это для меня - чтоб мне самому было понятно) Условие: Есть несколько стаканов (разной емкости) и есть бутылка водки (известно, что суммарный объем стаканов больше объема бутылки) Алгоритм: 1. Льем в первый стакан 2. Если стакан полон, а водка еще осталась, то переходим к следующему стакану 3. пункты 1 и 2 повторяем пока есть водка. Хороший алгоритм (по будь я обладателем последнего стакана - мне бы постоянно водки не хватало - ну это так отступление) Алгорим решаем циклом по рекордсету Хочу предложить свой алгоритм: 1. Определяем суммарное свободное место в стаканах ([СуммаДолга]) 2. Знаем размер бутылки ([ОбъемВодки]) 3. Определяем коэфициент заполнения ([k] = [ОбъемВодки]/[СуммаДолга]) 4. Разливаем водку по стаканам пропорционально свободному месту в стаканах (т.е. в каждый стакан наливаем [СвободноеМестоВСтакане]*[k] Водки) 1 пункт - DSum 2 пункт - дано 3 пункт - арифметика 4 пункт - один простенький запрос на обновление ? Такой алгоритм не подойдет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 09:55:20 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
Rivkin DmitryПривет Северу! Давно там не бывал, и уж, наверное, не буду! А жаль.. :( Тебе тоже привет! А почему, так сразу, не буду. Мы к вам летом, вы к нам зимой.... Shuhardне забудь посмотреть в Гейтсе раздел про ADO с 0 лучше учить эту технологию.У тебя же Acc > 97 Acc у меня 2003, а вот руки пока кривоваты, а раздел про ADO, думала что рано мне естче... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 09:55:45 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
авторТебе тоже привет! А почему, так сразу, не буду. Мы к вам летом, вы к нам зимой.... К нам - Добро пожаловать! А к вам надо разрешение в милиции оформлять и всякие там формальности... Или сейчас такого не надо? Давно я с Севера - уже годков 16, а до сих пор временами снится! :( Кстати, не сможешь добыть мыло кого нибудь из руководителей Пангодинского ГПУ? Например, Дурновцева А.Е. или кого нибудь из Надыма? А что алгоритм, заработал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 10:11:16 |
|
||
|
Помогите реализовать алгоритм
|
|||
|---|---|---|---|
|
#18+
paparomeТакой алгоритм не подойдет? Он мог бы подойти, но у меня по одному договору объектов бывает за 300 и размазывать по ним пять миллионов рублей, и тем самым с каждой платежной добавлять колличество записей равное колличеству объектов не считаю разумным, в то же время, оплата производиться по договору в целом, а не за отдельные объекты, поэтому мне все равно, чей стакан останеться пустым Rivkin DmitryК нам - Добро пожаловать! А к вам надо разрешение в милиции оформлять и всякие там формальности... Или сейчас такого не надо? Давно я с Севера - уже годков 16, а до сих пор временами снится! :( Кстати, не сможешь добыть мыло кого нибудь из руководителей Пангодинского ГПУ? Например, Дурновцева А.Е. или кого нибудь из Надыма? А что алгоритм, заработал? У нас уже давно ЗП сняли, так что добро пожаловать с обычными документами Гостя России. Мыло посмотрю, но не обещаю. Алгоритм вроде заработал, но зарекаться уже боюсь. Сейчас все допишу по полной и посмотрим... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2004, 10:32:09 |
|
||
|
|

start [/forum/topic.php?all=1&fid=45&tid=1673785]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
180ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
90ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 534ms |

| 0 / 0 |
