|
|
|
правильно ли я делаю? (нужен id после того,как я добавлю)
|
|||
|---|---|---|---|
|
#18+
У меня есть форма для добавления новых клиентов и мне нужен id после того,как я добавлю Во время добавления ,пока я не закрыл форму этот id равен 0 и мне ничего не приходится,как делать такое: Select max(id_cl) from cl where name=" &namecl после чего я его могу использовать-это неправильно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2004, 16:07:13 |
|
||
|
правильно ли я делаю? (нужен id после того,как я добавлю)
|
|||
|---|---|---|---|
|
#18+
не знаю правильно это или нет, но я тоже так делаю и все работает :) разве что кто-нибудь предложит другой способ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2004, 16:14:46 |
|
||
|
правильно ли я делаю? (нужен id после того,как я добавлю)
|
|||
|---|---|---|---|
|
#18+
ИМХО - не совсем правильно Если id не является счетчиком, то могут быть проблемы при одновременной работе нескольких пользователей! А вот если id счетчик, то так делать тем более не правильно! Причем, если id счетчик, то он уже имеет значение в процессе редектирования записи (что легко проверить создав таблицу со счетчиком и повводив в нее записи в режиме таблицы) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2004, 16:16:06 |
|
||
|
правильно ли я делаю? (нужен id после того,как я добавлю)
|
|||
|---|---|---|---|
|
#18+
Поддерживаю paparome, только более категорично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2004, 18:30:28 |
|
||
|
правильно ли я делаю? (нужен id после того,как я добавлю)
|
|||
|---|---|---|---|
|
#18+
Если тебе надо получить ID последней записи (без разницы в какую таблицу она добавлялась), то в AccessXP-2003 можно юзать след. вариант: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2004, 18:59:02 |
|
||
|
правильно ли я делаю? (нужен id после того,как я добавлю)
|
|||
|---|---|---|---|
|
#18+
MPoilУ меня есть форма для добавления новых клиентов и мне нужен id после того,как я добавлю Во время добавления, пока я не закрыл форму этот id равен 0 ... Извините, но этого же не может быть ... Этого значения либо нет, либо вы можете получить его сразу после того, как только внесены какие либо изменения в запись ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2004, 19:43:13 |
|
||
|
правильно ли я делаю? (нужен id после того,как я добавлю)
|
|||
|---|---|---|---|
|
#18+
Serge GavrilovЭтого значения либо нет, либо вы можете получить его сразу после того, как только внесены какие либо изменения в запись ... Не знаю, это ли имелось в виду, но сегодня получил вот такую ошибку (A2003, ADP): Run-time error '31004' Значение поля счетчика невозможно извлечь до сохранения записи. Сначала сохраните запись, содержащую поле счетчика, а затем выполните нужное действие. на строке If IsNull(DLookup("KeyField", "dTMC", "KeyField<>" & Me.пКлюч.Value & " And NameDic='" & Me.пПолнНаим & "'")) Then при обработке BeforeUpdate новой записи. Искать, почему я ее встретил впервые, я не стал, просто обошел эту ситуацию, но момент забавный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2004, 20:07:15 |
|
||
|
правильно ли я делаю? (нужен id после того,как я добавлю)
|
|||
|---|---|---|---|
|
#18+
А впервые встретил потому, что в a2002 этой ошибки нет, оказывается... Наверное, не стоит просто так читать поле счетчика вновь добавляемой записи, раз для таких ситуаций ошибку завели (это так, мысли вслух). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2004, 20:09:32 |
|
||
|
правильно ли я делаю? (нужен id после того,как я добавлю)
|
|||
|---|---|---|---|
|
#18+
авторА впервые встретил потому, что в a2002 этой ошибки нет, оказывается... Наверное, не стоит просто так читать поле счетчика вновь добавляемой записи, раз для таких ситуаций ошибку завели (это так, мысли вслух). Да, пора как-то отделять работу mdb и adp. К сожалению авторы вопросов не всегда указывают с чем они работают. Мой ответ касался mdb. Если бы автор указал, что работает с adp, я бы не сунулся, так как имею недостаточный опыт работы с adp. Но различное поведение форм adp и mdb очевидно, достаточно создать форму на основе таблицы с ключевым полем и видно, что в mdb значение счетчика устанавливается сразу при изменении новой записи, в adp же это не происходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2004, 22:12:06 |
|
||
|
правильно ли я делаю? (нужен id после того,как я добавлю)
|
|||
|---|---|---|---|
|
#18+
GeoА впервые встретил потому, что в a2002 этой ошибки нет, оказывается... Наверное, не стоит просто так читать поле счетчика вновь добавляемой записи, раз для таких ситуаций ошибку завели (это так, мысли вслух). вероятнее всего в 2003 уже произошел Begin Tran (явный) к этому моменту. точное отличие поведений должно зависеть а) от заявленного для соединения уровня изоляции б) заказа для соединения режима transaction autocommit б.1) явного использования/неиспользования begin tran. ЗЫ 2 Serge Gavrilov Эхь! кончилазь моя шчастливая жисть... как хорошо мне жилося без адп... вот кажется приспичило... влезть... не видно - можно ли плыть и доплывать... как там неуютно все и раздражает неведанностью коряг. Ох, - и орать уже хочится - типа ПАМАХИТЕ - токо не знаю как орать - словей нет - одне изумление... Оно конечно, оторвать бы кому-нибудь что-нибудь за то, что адп придумали, да уж позДно. оно уж есть и говорит скорым языком. - не выдерешь... Хде тут адп, хто тут адп... 2 Geo Geo, ты как человек отважный и без тараканов в голове - прошел эту странную дорогу. Видно х тебе орать буду... Кохды словья найдутся... Ну, да ничаго. Мы уж - полягоньку, полягоньку, глядишь и выведет, если до того не смоет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2004, 22:57:18 |
|
||
|
правильно ли я делаю? (нужен id после того,как я добавлю)
|
|||
|---|---|---|---|
|
#18+
Если это имеет значение,то у меня в adp после того,как переключаюсь на подформу значение счётчика сразу появляется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2004, 10:04:54 |
|
||
|
правильно ли я делаю? (нужен id после того,как я добавлю)
|
|||
|---|---|---|---|
|
#18+
Когда переключаешься на подформу, запись в главной сохраняется автоматически. И наоборот, когда выходишь в главную, сохраняется запись подчиненной. Так же, как и в mdb. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2004, 10:06:26 |
|
||
|
правильно ли я делаю? (нужен id после того,как я добавлю)
|
|||
|---|---|---|---|
|
#18+
а можно это как-нибудь эмитировать,даже если нет подформы? Просто команда сохранить запись почему-то выдаёт ошибку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2004, 11:14:36 |
|
||
|
правильно ли я делаю? (нужен id после того,как я добавлю)
|
|||
|---|---|---|---|
|
#18+
ну хорошо, тогда такой вопрос после сохранения новой записи мне нужно определить ид, который она получила, для того чтобы внести его в другую таблицу как тогда это правильно сделать? база MySql, Access 2000 mde ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2004, 11:40:18 |
|
||
|
правильно ли я делаю? (нужен id после того,как я добавлю)
|
|||
|---|---|---|---|
|
#18+
DLM ну хорошо, тогда такой вопрос после сохранения новой записи мне нужно определить ид, который она получила, для того чтобы внести его в другую таблицу как тогда это правильно сделать? база MySql, Access 2000 mde Как для MSQL не знаю, но, возможно, тебе поможет поиск по форуму по "@IDENTITY". MPoilа можно это как-нибудь эмитировать,даже если нет подформы? Просто команда сохранить запись почему-то выдаёт ошибку Какую ошибку? Имитировать: docmd.runcommand accmdsaverecord И в том, и в другом и в третьем случае сохраняется запись. Если выдается ошибка, скорее всего, она будет во всех случаях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2004, 11:49:32 |
|
||
|
правильно ли я делаю? (нужен id после того,как я добавлю)
|
|||
|---|---|---|---|
|
#18+
это конечно не правильно, если использовать связи с таблицами.. ну а как посоветуте действовать если запись добавляется запросом, причем на форме данные для нескольких связанных таблиц? я делаю так: (для 2-х тбл.) id - счетчик, id_2 - число Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2004, 11:50:24 |
|
||
|
правильно ли я делаю? (нужен id после того,как я добавлю)
|
|||
|---|---|---|---|
|
#18+
2Наследники OIT В этом случае нормально, здесь вопрос другой - как извлечь это самое значение id до сохранения записи. Хотя, авторSELECT max(id) FROM tbl_1 см. http://www.sql.ru/forum/actualthread.aspx?tid=85209&hl=max+id или http://www.sql.ru/forum/actualthread.aspx?tid=76944&hl=max+id ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2004, 12:01:06 |
|
||
|
правильно ли я делаю? (нужен id после того,как я добавлю)
|
|||
|---|---|---|---|
|
#18+
Мне кажется надёжнее использовать вариант select max(id) where какое-то _поле=чему-то. Потому что,если база многопользовательская то если другой успеет добавить запись до тебя,то ты получишь не свой id,а его? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2004, 12:45:56 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1569&tid=1672166]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
107ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 374ms |

| 0 / 0 |
