|
|
|
Скрин
|
|||
|---|---|---|---|
|
#18+
Ребята, спасибо тем, кто отвечает... Вот адрес схемы данных: www.oprich.narod.ru/scrin.jpg быть может так станет понятнее, в чем проблема. Так вот, нужно, чтобы количество товара убывало со склада "Предметы" по мере покупки "Покупка" и прибывало по мере поступления "Комиссия", "Продажа". Помогите, пожалуйста, Киот ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2003, 06:28 |
|
||
|
Скрин
|
|||
|---|---|---|---|
|
#18+
У тебя изначально схема неправильная и неоптимальная. Научный подход сможешь сам применить? Третья нормальная форма, там, и прочее?... Нет смысла советовать что-то сделать, когда это с самого начала делается неправильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2003, 10:33 |
|
||
|
Скрин
|
|||
|---|---|---|---|
|
#18+
А как правильно? Расскажи как пятилетнему ребенку, а то задача стоит, а как ее решать - не знаем, вот и импровизируем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2003, 19:14 |
|
||
|
Скрин
|
|||
|---|---|---|---|
|
#18+
Я бы (это мое личное мнение), для начала, сократил бы таблицы "Расходник", "Приходник", "Комиссионик" до таблицы "Операции" с указанием типа (расход, приход, комиссииа), что позволит в случае добавления операции (например, "подарок") не строить новую таблицу, а добавить только тип операции. Соответственно сократятся таблицы "Продажа", "Покупка", "Комиссия" до 1-й таблицы (допустим с именем "СписокПредметов"). А вот таблицу Предметы можно разбить на две ОписаниеПредмета и Количество на Складе, хотя я бы количество на складе вообще не хранил, а вычислял из "Список предметов". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2003, 09:19 |
|
||
|
Скрин
|
|||
|---|---|---|---|
|
#18+
2Киот: Я бы рад объяснить, но у меня времени не столько много, как хотелось бы. Но всю схему данных надо обязательно переделать. К сожалению, я в этом помочь не могу. По крайней мере, в ближайшую неделю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2003, 09:56 |
|
||
|
Скрин
|
|||
|---|---|---|---|
|
#18+
Для каждой операции удобно задать знак, в соответствии с которым будет меняться количество товара. А для расчета количества просто сделать запрос с учетом этого знака, тогда количество будет автоматически или прибавляться, или отниматься. У нас такая табла: idop - oper - z1 - z2 1. Код 2. Наименование операции 3. Знак для "продавца" (от кого перемещается товар): 1 или -1 4. То же для "покупателя" Соответственно, одним запросом (Кол-во * знак) можно посчитать результат ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2003, 13:20 |
|
||
|
Скрин
|
|||
|---|---|---|---|
|
#18+
Для AlexJuice Слушай, а исходник ваш можно посмотреть?))) Понимаю, что наглость, но со своей стороны обещаем, клятвенно заверяем, и пр., что только посмотрим, свое подправим и убъем насмерть. С уважением, Киот PS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2003, 09:35 |
|
||
|
Скрин
|
|||
|---|---|---|---|
|
#18+
2 AlexJuice Я бы то же посмотрел.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2003, 09:45 |
|
||
|
Скрин
|
|||
|---|---|---|---|
|
#18+
Для Kriven Если объединить "Расходник", "Приходник" и пр., то как тогда присваивать уникальные коды приходному и расходному ордерам, комиссионному соглашению? С уважением, Киот ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2003, 07:01 |
|
||
|
Скрин
|
|||
|---|---|---|---|
|
#18+
>>Если объединить "Расходник", "Приходник" и пр., то как тогда присваивать уникальные коды приходному и расходному ордерам, комиссионному соглашению? Если присваивать требуется самостоятельно, то просто отбирая последний номер того документа с котрым работаешь, т.е. если вводишь приходник делаешь типа DMAX=("Поле с Номером", "Таблица", "ПризнакДокумента=" & ME!ПризнакДокумента), правда все равно должен существовать счетчик, к-ый будет скрыт от пользователя. Т.е. если в форме есть поле ME!ПризнакДокумента (Приходник, Расходник, Договор), то функция вернет значение максимального номера по данному типу документа. Правда функцию DMax лучше заменить другой, если прога будет работь в сети Так же надо будет вставить проверку на совпадение номеров по одному ПризнакуДокумента (чтоб пользователь не ввел два раза Приходник с одинаковам номером). В итоге получиться: 1. Поле счетчика 2. Поле с номером документа (числовое, повторение допускается) 3. Поле с номером признака документа ( связанное 1 ко многим с таблицей ПризнакДокумента) 4. Все остальные поля, описывающие документ ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2003, 10:47 |
|
||
|
Скрин
|
|||
|---|---|---|---|
|
#18+
Киот А для чего это нужно? У тебя сушествует счетчик и тип документа, эти два поля уже уникальный код который никогда не повториться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2003, 07:12 |
|
||
|
Скрин
|
|||
|---|---|---|---|
|
#18+
Для Kriven То есть ситуация, когда у приходника и расходника будут одинаковые номера исключена? Senin Viktor Спасибо. Я-то хотел чтобы номера проставлялись автоматически, а в этой модели (если я правильно понял) их всеже придется писать самостоятельно? С уважением, Киот ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2003, 11:27 |
|
||
|
Скрин
|
|||
|---|---|---|---|
|
#18+
не номера а уникальный ключь.. а насчет номеров документов - можно нумеровать дробью т.е. уникальный код операции/уникальный ключ типа операции (получится байда типа 123/1, 124/1, 125/2 и т.п.) Хотя в принципе при такой схеме можно использовать и только ключь операции (все равно он не повториться). Кстати господа эксперты выше предложенная мной схема приемлима или нет? Я видь самоучка (причем только по справке, в наше деревне даже хороших детских книг не найдеш). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2003, 12:24 |
|
||
|
Скрин
|
|||
|---|---|---|---|
|
#18+
Да это-то я понял. А вот, скажем, расходник №3 и приходник №3 не смогут существовать вместе? Или, как это у тебя означено, 3/1 и 3/2. Такого ведь не может быть при твоей схеме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2003, 05:10 |
|
||
|
Скрин
|
|||
|---|---|---|---|
|
#18+
Да, номера последовательно присваиваться не будут. Сдесь действительно нужно использовать функции типа Max т.е. вытягивать максимальное значение и прибавлять к нему единицу или, что то в этом роде... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2003, 08:43 |
|
||
|
Скрин
|
|||
|---|---|---|---|
|
#18+
Киот я тебе, по максимальному номеру, набросал кое че посмотри может понадобиться: http://www.kriven.narod.ru/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2003, 10:14 |
|
||
|
Скрин
|
|||
|---|---|---|---|
|
#18+
Спасибо. Получил. Разбираюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2003, 06:37 |
|
||
|
Скрин
|
|||
|---|---|---|---|
|
#18+
Спасибо, интересная придумка. Только кривая она. Если удалить все записи из таблицы1 и начать заново щелкать, то появляется куча пропусков или же такая хрень: приход 1, 2, 3 расход 4, 5, 6.... Как тут быть? А что наш вариант совсем некудышный? С уважением, Киот ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2003, 12:15 |
|
||
|
Скрин
|
|||
|---|---|---|---|
|
#18+
Предлагаю функцию, которая выдает числа строго по порядку. Заводим вспомогательную таблицу - с одним полем типа Counter и без данных. Пусть для определенности поле зовут Cou. И тогда: Function Sequence(TableName As String) As Long With CurrentDB With .OpenRecordset(TableName, dbOpenDynaset) .AddNew Sequence=!Cou 'главное, что тут Update не нужен .Close End With End With Ned Function Однако внимание - этому MDB нельзя делать Compact, а то значение этого поля обнулится. Поэтому лучше, чтобы эта таблица была линкнутая. И теперь можно таких таблиц завести несколько, для каждой операции свою. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2003, 12:52 |
|
||
|
Скрин
|
|||
|---|---|---|---|
|
#18+
Киот, как он не будет кривой если от момента его создания до закачки на страничку прошло 15 минут?.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2003, 13:34 |
|
||
|
Скрин
|
|||
|---|---|---|---|
|
#18+
Спасибо, Владимир Саныч! Скажите, а в работе это никак нельзя узреть, а то я с функциями в больших контрах... и вообще тугодум))) Не могли бы Вы...? С благодарностью, Киот ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2003, 05:54 |
|
||
|
Скрин
|
|||
|---|---|---|---|
|
#18+
Для Kriven А на что это влияет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2003, 07:39 |
|
||
|
Скрин
|
|||
|---|---|---|---|
|
#18+
На то что над любой проблемой надо работать (нужно время) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2003, 09:04 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32112508&tid=1682100]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
86ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 406ms |

| 0 / 0 |
