LEADERSOFT.ru Разработка на заказ программ и сайтов
Форумы по информационным технологиям
 
Регистрация  |  Вход
left
Форумы Минимизировать
ПоискСписок форумов
  Программирование  Microsoft Access. Файлы mdb и accdb  Копирование...
 Копирование
 
 20.06.2007 12:24:57
lkva
11 сообщения


Копирование

Есть форма с подчиненной формой.

Каким образом скопировать текущую запись в новую изменив при этом некоторые поля на новые. Например, копируем заказ: клиент и товар копируются, номер заказа - максимальный +1, дата - текущая.

Спасибо.

 20.06.2007 13:52:15
All
4316 сообщения
1-ый


Re: Копирование
 Измененный All  на 20.06.2007 13:55:59)

Лучший вариант, это присвоить значения по умолчанию после редактирования записи формы. В этом случае, при создании новой записи будут уже введены старые значения.

Private Sub Form_AfterUpdate()
    Me.поле1.DefaultValue = Me.поле1 ' Целое число
    Me.поле2.DefaultValue = "'" & Me.поле2 & "'" ' Текст
    Me.поле3.DefaultValue = "#" & Format(Me.поле3, "dd\/mm\/yyyy") & "#" ' Дата
End Sub

Иначе нужен запрос на добавление. Применяется с помощью команды

DoCmd.RunSQL "Insert ..."

Номер заказа тоже определяется примерно таким же образом, через dmax

Private Sub Form_Current()
    If Me.NewRecord Then
        Me.Номер.DefaultValue = 1 + Nz(DMax("Номер", "Заказы"), 0)
    End If
End Sub

 20.06.2007 16:09:45
lkva
11 сообщения


Re: Копирование

Все замечательно работает, но в подчиненной форме копирует только первую строку (она у меня в табличной форме, извините, забыл сказать).

Как быть?

 20.06.2007 17:27:08
All
4316 сообщения
1-ый


Re: Копирование

Курсор надо установить на нужную запись. Например, так: DoCmd.GoToRecord , , acGoTo, 5. Если нужно скопировать несколько записей, то надо открывать recordset формы.

  Программирование  Microsoft Access. Файлы mdb и accdb  Копирование...
ПоискПоиск  Список форумовСписок форумов  
right