Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: dmsrv803
Копию записи делаю для того, чтобы дальше ее редактировать, а не создавать запись а потом заполнять вручную несколь десятков полей, когда достаточно будет изменить только несколько. Проще говоря использую одну запись в качестве шаблона для другой.

Проблему решить удалось следующим способом:
сделал копию структуры исходной таблицы
- DoCmd.TransferDatabase acExport, "Microsoft Access", CurrentDb.Name, acTable, tableSource, tableTemp, True

затем удалил в tableTemp индекс

CurrentDb.Execute "ALTER TABLE table_temp DROP CONSTRAINT поле_ID;"

затем удалил само поле т.к. это поле - счетчик и добавил его одратно, но уже как Integer

CurrentDb.Execute "ALTER TABLE table_temp DROP COLUMN поле_ID;"
CurrentDb.Execute "ALTER TABLE table_temp ADD COLUMN поле_ID Integer;"

Теперь для того чтобы добавить в исходную таблицу запись из временной необходимо
сначало добавить в исходную таблицу новую запись - .AddNew но без .Update
а затем присвоить полю ID временной таблицы значение поля ID исходной и выполнить запрос на добавление

Set rs = CurrentDb.OpenRecordset(table)
rs.AddNew
Me!поле_ID = rs!поле_ID
Set rs = Nothing
 Me.Refresh
 strSQL = "INSERT INTO table SELECT table_temp.* FROM table_temp WHERE поле_ID = "& Me!поле_ID & ";"
 CurrentDb.Execute (strSQL)


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.