Да, так дополняет запрос новыми данными, но мне бы еще как-то именно записать в таблицу m2m эти новые данные?
Подозреваю, что я пока слегка криво это делаю [vba]
Код
Dim rs1 As Recordset, rs2 As Recordset Set rs1 = CurrentDb.OpenRecordset("SELECT * FROM m2m WHERE idA=7", dbOpenDynaset, dbSeeChanges) Set rs2 = CurrentDb.OpenRecordset("SELECT * FROM m2m", dbOpenDynaset, dbSeeChanges) Do Until rs1.EOF rs2.AddNew rs2!idA = 9 rs2!idB = rs1!idB rs2!idC = rs1!idC rs2.Update rs1.MoveNext Loop
[/vba]
Да, так дополняет запрос новыми данными, но мне бы еще как-то именно записать в таблицу m2m эти новые данные?
Подозреваю, что я пока слегка криво это делаю [vba]
Код
Dim rs1 As Recordset, rs2 As Recordset Set rs1 = CurrentDb.OpenRecordset("SELECT * FROM m2m WHERE idA=7", dbOpenDynaset, dbSeeChanges) Set rs2 = CurrentDb.OpenRecordset("SELECT * FROM m2m", dbOpenDynaset, dbSeeChanges) Do Until rs1.EOF rs2.AddNew rs2!idA = 9 rs2!idB = rs1!idB rs2!idC = rs1!idC rs2.Update rs1.MoveNext Loop
Любопытный подход, но меня смущает что база разделена и с бэкэндом работает несколько пользователей. Такие записи происходят раз в минут 10 в 3 небольшие таблицы штуки по 5к записей в 3х полях, но аксес же любит раздувать базы на ровном месте.
Любопытный подход, но меня смущает что база разделена и с бэкэндом работает несколько пользователей. Такие записи происходят раз в минут 10 в 3 небольшие таблицы штуки по 5к записей в 3х полях, но аксес же любит раздувать базы на ровном месте.user0
ну дык можно не удалять таблицу 2, а перезаписать в ней данные. (1-й архив) с Аксессом не особо работаю а в SQL я именно так и делал бы: Создать темповую таблицу с нужными данными Перезаписать данные в 1-й таблице. По Вашему примеру можно и одним запросом просто добавить данные: [vba]
Код
INSERT INTO m2m SELECT * FROM (SELECT 9 AS idA, m2m.idB, m2m.idC FROM m2m WHERE (m2m.idA=7)) AS [%$##@_Alias];
[/vba] см. 2-й архив
ну дык можно не удалять таблицу 2, а перезаписать в ней данные. (1-й архив) с Аксессом не особо работаю а в SQL я именно так и делал бы: Создать темповую таблицу с нужными данными Перезаписать данные в 1-й таблице. По Вашему примеру можно и одним запросом просто добавить данные: [vba]
Код
INSERT INTO m2m SELECT * FROM (SELECT 9 AS idA, m2m.idB, m2m.idC FROM m2m WHERE (m2m.idA=7)) AS [%$##@_Alias];