|
|
|
DefaultValue
|
|||
|---|---|---|---|
|
#18+
Как задать значение по умолчанию числовому полю равное значению этого же поля предыдущей записи + 1. Есть таблица: 11 вапвап 12 варвр 13 авпва 14 авп 21 екн 22 аар При добавлении новой записи надо, чтобы в 1 поле по умолчанию появилось значение 23. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 11:16 |
|
||
|
DefaultValue
|
|||
|---|---|---|---|
|
#18+
99%, что это невозможно. Таблица не знает, что такое предыдущая запись. Визуальный порядок записей на экране - это еще не все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 11:20 |
|
||
|
DefaultValue
|
|||
|---|---|---|---|
|
#18+
Можно использвовать DMax(...)+1 Можно использовать временную таблицу для хранения последнего значения Можно использовать счетчик, но тогда возможны пропуски Ну, пока хватит... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 11:23 |
|
||
|
DefaultValue
|
|||
|---|---|---|---|
|
#18+
Опаньки.... я слова "предудущей" записи я не заметил. Grechuhin Anton тебе это число для чего нжно-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 11:24 |
|
||
|
DefaultValue
|
|||
|---|---|---|---|
|
#18+
2 Владимир Саныч Через форму - можно. На BeforeUpdate смотреть в RecordsetClone. 2 Сенен Виктор DMax+1 - не удовлетворяет. Надо не максимальное + 1, а последнее + 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 11:25 |
|
||
|
DefaultValue
|
|||
|---|---|---|---|
|
#18+
> Через форму - можно. На BeforeUpdate смотреть в RecordsetClone. Да, я об этом подумал. Но наружу не вышло. :^) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 11:27 |
|
||
|
DefaultValue
|
|||
|---|---|---|---|
|
#18+
Владимир Саныч, а если использовать формочку для ввода новой записи, то вполне даже можно... Или я не прав? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 11:29 |
|
||
|
DefaultValue
|
|||
|---|---|---|---|
|
#18+
2 Лоху >Через форму - можно. На BeforeUpdate смотреть в RecordsetClone. А если база в сети, и кто-нить в таблицы записей наставляет? Пока набор не обновиться будет лажа. И вообще это херня полная "последнее"+1 искать. Grechuhin Anton ты бы нам объяснил че ты все-таки хочешь, а то у меня такое ощущение что это тебе нафиг не нужно, а нужен просто последовательный счетчик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 11:29 |
|
||
|
DefaultValue
|
|||
|---|---|---|---|
|
#18+
А если база в сети, и кто-нить в таблицы записей наставляет? Пока набор не обновиться будет лажа. Ну и кто ж его знает тогда, какая из них последняя По моему, автор топика нас испугался и убежал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 11:39 |
|
||
|
DefaultValue
|
|||
|---|---|---|---|
|
#18+
По моему, автор топика нас испугался и убежал Не думал, что так быстро ответите :) Зачем мне это надо: Есть куча анкет, информацию из которых надо поместить в бд. У каждой анкеты - свой номер, обычно номера идут по-порядку. В принципе номер можно вводить и ручками, но для облегчения работы хотелось бы чтобы это делалось автоматически... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 11:52 |
|
||
|
DefaultValue
|
|||
|---|---|---|---|
|
#18+
Счетчик тебя спасет Или, если не счетчик, то все равно значение по умолчанию тебе не нужно. Нужно автоматическое присвоение следующего номера. На BeforeInsert - номер присваивай DMax([Номер]) + 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 11:54 |
|
||
|
DefaultValue
|
|||
|---|---|---|---|
|
#18+
Спасибо всем. Сделал через DMax() - не совсем то, что хотел, но и так неплохо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 12:08 |
|
||
|
DefaultValue
|
|||
|---|---|---|---|
|
#18+
2 G&P Ну так я и говорю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 12:25 |
|
||
|
DefaultValue
|
|||
|---|---|---|---|
|
#18+
a function DLast() +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 12:25 |
|
||
|
DefaultValue
|
|||
|---|---|---|---|
|
#18+
Интересно, кто, как делает. Мне пока не было нужды, но может появиться. Например, накладные. Нумерация начинается каждый год с начала года (значит не счетчик). Конечно, что первое приходит в голову - Recordset и DMax(). Но может есть интереснее варианты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 12:26 |
|
||
|
DefaultValue
|
|||
|---|---|---|---|
|
#18+
2 igol Цитата из хелпа "Функции DFirst и DLast используют для возвращения значений из Код: plaintext Мыслю я, что случайно выбранные записи - точно не нужны ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 12:29 |
|
||
|
DefaultValue
|
|||
|---|---|---|---|
|
#18+
У DMax можно указать критерий отбора. Код: plaintext 1. Вернет максимальное значение счетчика (если его нет, то 0) за текущий год. Это, конечно, не готовое решение, просто один из вариантов... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 12:37 |
|
||
|
DefaultValue
|
|||
|---|---|---|---|
|
#18+
Есть еще одно решение, но оно совершенно сумасшедшее. 1. Ctrl+' заносит в поле значение из предыдущей строки - эта штука встроенная. 2. Написать на KeyPress или KeyDown процедурку, которая при нажатии, скажем, Ctrl+L берет значение поля и добавляет к нему 1. И нажимать каждый раз в этом поле подряд Ctrl+' и Ctrl+L. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 12:38 |
|
||
|
DefaultValue
|
|||
|---|---|---|---|
|
#18+
Опс, чего то намудрил, правильно будет Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 12:41 |
|
||
|
DefaultValue
|
|||
|---|---|---|---|
|
#18+
Нумерация начинается каждый год с начала года - пережитки прошлого. Нет необходимости, не вручную же нумируются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 12:46 |
|
||
|
DefaultValue
|
|||
|---|---|---|---|
|
#18+
V. Motchulsky "Если Вы не всилах остановить лавину - не пытайтесь ей противостоять". Иногда клиентам не интересно наше мнение о пережитках. Изживать их у себя, во всяком случае, пока "жареный петух не клюнет", они не собираются. Вместо сеанса психотерапии они ждут от нас нечто другое. Если за это нечто платят, чего бы его не сделать (желательно с наименьшими затратами времени и сил)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 12:56 |
|
||
|
DefaultValue
|
|||
|---|---|---|---|
|
#18+
В одной программе пришлось убрать нумерацию с начала года. Заказчик потребовал: однажды он клиента потерял из-за этого. Тот увидел в феврале накладную с номером то ли 30 то ли 40, и подумал "На хрен мне такая фирма, у которой за месяц 40 продаж" и свалил... А вот был бы номер 23423 - хрен бы он свалил - психология! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 12:58 |
|
||
|
DefaultValue
|
|||
|---|---|---|---|
|
#18+
Похоже все-таки DMax(). Хотя недавно столкнулся с такой фигней при использовании этой функции. На форме две субформы: "Действия" и "Операции" - отображают данные соответствующих таблиц. 1 со 2 связаны отношением один-ко-многим по полю "КодДействия" . На событие текущая запись 1-й - Requery 2-й. В субформе "Операции" в свойстве "значение по умолчанию" поля "№" - функция Dmax("№", "Операции", "КодДействия = " & Forms!Задачи!Действия.Form.КодДействия)+1 Закономерность так и не уловил - иногда возвращает значение без +1 (устанавливал +2, тогда нормально), а иногда с +1. Тогда если было установлено +2 - значение было на 2 больше максимального. Не стал ковыряться, перешел на Recordset, но интерес (почему?) так и остался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 13:14 |
|
||
|
DefaultValue
|
|||
|---|---|---|---|
|
#18+
Иногда клиентам не интересно наше мнение о пережитках. Иногда да, но в большинстве случаев у них нет вообще полностью СФОРМИРОВАНОГО мнения. И если вы задаете им вопрос, надо ли нумеровать с нового года по новому, тем самим наталкиваете их на мысль а может надо. Лучше сказать "нет необходимости начинать нумерацию с каждого года по новому, так как компютер успешно с этим справляется и во всех продвинутых фирмах этого больше уже не делают." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2003, 13:40 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32160507&tid=1681494]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
35ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 305ms |

| 0 / 0 |
