powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / как узнать номер вставляемой записи
21 сообщений из 21, страница 1 из 1
как узнать номер вставляемой записи
    #32632317
mik@
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть такой вопрос.
как можно узнать код записи котора добавилась в таблицу
где код - поле таблицы типа счетчик
Заранее спасибо.
...
Рейтинг: 0 / 0
как узнать номер вставляемой записи
    #32632321
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Версия аксеса?
adp или mdb?
Как добавляешь запись?
...
Рейтинг: 0 / 0
как узнать номер вставляемой записи
    #32632324
mik@
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to Pavel
база mdb
пока не дабовляю никак
но будет динамически DoCmd.RunSQL sql
...
Рейтинг: 0 / 0
как узнать номер вставляемой записи
    #32632340
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Версию скажи.
...
Рейтинг: 0 / 0
как узнать номер вставляемой записи
    #32632341
mik@
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нужно чтобы работало в 2000 и 2003
...
Рейтинг: 0 / 0
как узнать номер вставляемой записи
    #32632349
Фотография funddd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select @@identity
...
Рейтинг: 0 / 0
как узнать номер вставляемой записи
    #32632353
mik@
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fundddselect @@identity
куда сие всписывать
нужно сначала запускается запрос на вставку в таблицу1
а за тем запрос на вставку записи в другую таблицу2 причем эти таблицы связаны по ключевому полю таблицы1 . поэтому и нужно узнать код новой записи таблицы1
...
Рейтинг: 0 / 0
как узнать номер вставляемой записи
    #32632356
Фотография funddd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
insert into таблиц1
select @@identity as MyCounter
Insert into таблиц2 ... where myfield = mycounter

VBA опущен, здесь только принципы.
...
Рейтинг: 0 / 0
как узнать номер вставляемой записи
    #32632368
mik@
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fundddinsert into таблиц1
select @@identity as MyCounter
Insert into таблиц2 ... where myfield = mycounter

VBA опущен, здесь только принципы.
принцип понятен
но куда это вписывать в этом коде не понятно, все перепробывал
Dsql = "INSERT INTO Demands ( ID_Demand, [Date], [Number], ID_Copter ) " & _
"SELECT Demands.ID_Demand, Demands.Date, Demands.Number, Demands.ID_Copter " & _
"FROM Demands WHERE (((Demands.Date)=#" & VBA.Format([Forms]![Ôîðìàçàêàçîâ]![ÏîëåÄàòà], "dd\/mm\/yy") & "#) AND ((Demands.Number)=" & [Forms]![Ôîðìàçàêàçîâ]![ÏîëåÃëÇàÿâêà] & ") AND ((Demands.ID_Copter)=" & [Forms]![Ôîðìàçàêàçîâ]![ÏîëåÑîÑïèñêîìÁîðò].Value & ")) "
ключевым является поле ID_Demands
и еще одна проблема если просто выполнять запись в таблицу
то вылазиет предуприждение о том что будет Вставлено 0 записей
почему, ведь все нужные поля заполнены
...
Рейтинг: 0 / 0
как узнать номер вставляемой записи
    #32632375
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если будешь использовать @@Identity забудь про DoCmd.RunSQL.
Работай через объект QueryDef c привязкой к Workspace.

Если кажется сложным, вставляй через рекордсет. Медленей не будет, возможно даже наоборот.
...
Рейтинг: 0 / 0
как узнать номер вставляемой записи
    #32632377
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поискать надо, например, тут .
...
Рейтинг: 0 / 0
как узнать номер вставляемой записи
    #32632752
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
...
Рейтинг: 0 / 0
как узнать номер вставляемой записи
    #32632823
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Саныч, может дополнить FAQ вариантом с Querydef?
...
Рейтинг: 0 / 0
как узнать номер вставляемой записи
    #32632827
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
PavelВладимир Саныч, может дополнить FAQ вариантом с Querydef?
А в чем состоит этот вариант?
...
Рейтинг: 0 / 0
как узнать номер вставляемой записи
    #32632856
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир СанычА в чем состоит этот вариант?
Рекордсет не участник. Вбиваем запись Querydef'ом, получаем @@Identity аналогично как выходной параметр Querydef'а.
Вариант чисто спортивный, т.к. работает медленнее рекордсета, проверено.
...
Рейтинг: 0 / 0
как узнать номер вставляемой записи
    #32632889
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Pavelвыходной параметр Querydef'а.
Ой. Это как? В каком Аксессе есть такое?
...
Рейтинг: 0 / 0
как узнать номер вставляемой записи
    #32633011
marvan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а так не проще?
Код: plaintext
    Dim t1 As New ADODB.Recordset    With t1        .ActiveConnection = CurrentProject.Connection        .Source = "t1" \'таблица t1        .CursorType = adOpenKeyset        .LockType = adLockOptimistic        .CursorLocation = adUseServer        .Open , , , , adCmdTableDirect    End With    t1.AddNew "f2", "test" \'поле f2 - текст    MsgBox t1!f1 \'поле f1 - счётчик
Как отформатирован этот код?
...
Рейтинг: 0 / 0
как узнать номер вставляемой записи
    #32633076
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
2 marvan:
В факе по моей ссылке это тоже есть.
...
Рейтинг: 0 / 0
как узнать номер вставляемой записи
    #32633106
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир СанычОй. Это как? В каком Аксессе есть такое?
Виноват. Нет у простого QueryDef выходных параметров. С ODBCDirect попутал - давно с DAO не работал...

Просто нужно понять, для чего именно нужно значение счетчика. Если для вставки в связанную таблицу, то мой способ в силе.
Типа так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
    Dim ws As Workspace
    Dim qd As QueryDef
    Set ws = DBEngine.Workspaces( 0 )
    ws.BeginTrans
    strSQL = "INSERT INTO Products (name) SELECT 'xxx';"
    Set qd = ws.Databases( 0 ).CreateQueryDef("", strSQL)
    qd.Execute
    strSQL = "INSERT INTO Products (name) SELECT @@IDENTITY;"
    Set qd = ws.Databases( 0 ).CreateQueryDef("", strSQL)
    qd.Execute
    ws.CommitTrans
...
Рейтинг: 0 / 0
как узнать номер вставляемой записи
    #32633151
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Наверно, можно и прямо:

CurrentDb.Execute "INSERT INTO Products (name) SELECT @@IDENTITY;"
...
Рейтинг: 0 / 0
как узнать номер вставляемой записи
    #32633389
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если Workspace один и тот же.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / как узнать номер вставляемой записи
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]