|
|
|
Занесение значения из поля другой строки
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток! Может, кто-нибудь уже сталкивался с подобным? Таблица след. вида: Название Сумма Признак Водка 100 0 Пиво 30 0 ИТОГО 130 0 Водка 100 0 ИТОГО 100 -10 Пиво 30 0 Водка 100 0 Вино 50 0 Домино 1000 0 ИТОГО 1180 0 Стоит задача следующего характера: определить, как продается товар - со скидкой или нет. Есть ли скидка по всей накладной, видно в поле Признак в той строке, в которой ИТОГО (т.е. весь това, который между двумя ИТОГО, продается либо со скидкой, либо нет). Не расскажите ли, уважаемые, свои соображения по поводу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2003, 19:05 |
|
||
|
Занесение значения из поля другой строки
|
|||
|---|---|---|---|
|
#18+
С помощью функции InStr([start, ]string1, string2[, compare]) можно пределить, есть ли в ИТОГО сумма со знаком "-". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2003, 20:12 |
|
||
|
Занесение значения из поля другой строки
|
|||
|---|---|---|---|
|
#18+
2 RVI Да я как-бы не совсем о том. Есть скидка или нет в сточке с "Итого", я вижу и так. Как мне определить то, что 4-я в примере строка находится в той накладной, которая со скидкой (скидка в 5-й строке)? Да, сразу не сказал, количество строк в накладных не постоянно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2003, 10:38 |
|
||
|
Занесение значения из поля другой строки
|
|||
|---|---|---|---|
|
#18+
Проще, наверное, прономеровать накладные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2003, 10:43 |
|
||
|
Занесение значения из поля другой строки
|
|||
|---|---|---|---|
|
#18+
2 Roalex Конечно, проще. Не только проще, но и правильнее. Да вот заковыка в том, что енти записи импортируются из .csv файлов, созданных в другой программе стороннего производителя. И изменить в ней ничего не предвидется возможным. К моему огромному сожалению.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2003, 10:49 |
|
||
|
Занесение значения из поля другой строки
|
|||
|---|---|---|---|
|
#18+
Хорошо. А как ты определишь номер стоки со скидкой на накладную, например, для первого ИТОГО - там ведь два товара (водка и пиво)? К какому товару была скидка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2003, 11:00 |
|
||
|
Занесение значения из поля другой строки
|
|||
|---|---|---|---|
|
#18+
Скидка идет на всю накладную. Т.е. клиент дядя Вася всегда покупает все со скидкой, а простой смертный - нет. Таким образом, ВЕСЬ товар, что между двумя "ИТОГО", попадает или не попадает под скидку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2003, 11:15 |
|
||
|
Занесение значения из поля другой строки
|
|||
|---|---|---|---|
|
#18+
>>И изменить в ней ничего не предвидется возможным. А в твой базе? Добавляешь к импортированной таблице поле (можно программно или SQL), и номеруешь накладные , опять же программно или SQL (через SQL, ИМХО, сложнее). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2003, 11:18 |
|
||
|
Занесение значения из поля другой строки
|
|||
|---|---|---|---|
|
#18+
2 Roalex Накладные я-то пронумеровал. Получилось что-то вроде: Номер накладной Название Сумма Признак NULL Водка 100 0 NULL Пиво 30 0 1 ИТОГО 130 0 NULL Водка 100 0 2 ИТОГО 100 -10 NULL Пиво 30 0 NULL Водка 100 0 NULL Вино 50 0 NULL Домино 1000 0 3 ИТОГО 1180 0 Но легче от этого не стало. Изначально мучает вопрос - как занести номера накладной в те строки, в которых информация о проданном товаре? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2003, 11:23 |
|
||
|
Занесение значения из поля другой строки
|
|||
|---|---|---|---|
|
#18+
А так почему нельзя? 1 Водка 100 0 1 Пиво 30 0 1 ИТОГО 130 0 2 Водка 100 0 2 ИТОГО 100 -10 3 Пиво 30 0 3 Водка 100 0 3 Вино 50 0 3 Домино 1000 0 3 ИТОГО 1180 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2003, 11:26 |
|
||
|
Занесение значения из поля другой строки
|
|||
|---|---|---|---|
|
#18+
Дык этого и хочу добиться, вопрос только в одном - как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2003, 11:30 |
|
||
|
Занесение значения из поля другой строки
|
|||
|---|---|---|---|
|
#18+
n=1 Создаешь цикл по строчкам поле "Номер накладной" = n Если поле "Название"="ИТОГО" то n=n+1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2003, 12:05 |
|
||
|
Занесение значения из поля другой строки
|
|||
|---|---|---|---|
|
#18+
Или на скорую руку можешь сделать вот так: 1. Вставляешь в модуль функцию: Public Function pr1(i As Variant, nameprod As String) As Long Static nn As Long If i = -1 Then nn = 1 pr1 = nn Else pr1 = nn If UCase(nameprod) = "ИТОГО" Then nn = nn + 1 End If End Function 2. В первой записи номер накладной ставишь -1 3. Запускаешь запрос: UPDATE Таблица SET Таблица.[Номер накладной] = pr1([Номер накладной],[Название]); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2003, 12:42 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32316138&tid=1678433]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
66ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
71ms |
get tp. blocked users: |
2ms |
| others: | 213ms |
| total: | 402ms |

| 0 / 0 |
