Копирование данных из одного поля в другое в запросе

AlexRom
Дата: 20.02.2008 14:30:15
Подскажите...
Как скопировать данныe из одного поля в другое в запросе (VBA)?
Karfaqen
Дата: 20.02.2008 14:33:31
CurrentDb.Execute "UPDATE таблица SET поле1=поле2"
AlexRom
Дата: 20.02.2008 14:56:01
Увы, выдает:
Run-time error '3061':
Cлишкoм мaлo пapaмeтpoв. Tpeбyeтcя 6.
Karfaqen
Дата: 20.02.2008 15:20:59
Увы, выдает:
Run-time error '3061'
Cлишкoм мaлo пapaмeтpoв. Tpeбyeтcя 6.

Ну так это вам увы - это ведь ваш запрос просит 6 параметров. Мой не просит, там столько нет

Видимо, вы обновляете не таблицу, а select-запрос и этот запрос имеет параметры, да? А как значения этих парамеров туда попадают в момент выполнения? Попробуйте вернуть их функцией.
AlexRom
Дата: 20.02.2008 15:29:03
Всё верно.
В предыдущем запросе проставлены параметры обращения к форме, и их 6 шт.
Но как вернуть их функцией?
RVI
Дата: 20.02.2008 15:49:40
AlexRom
Всё верно.
В предыдущем запросе проставлены параметры обращения к форме, и их 6 шт.
Но как вернуть их функцией?

Из ФАК'а:
Если все параметры являются ссылками на контролы форм (Forms![ИмяФормы]![ИмяКонтрола]), тогда самое простое (и красивое) решение:
Dim q As DAO.QueryDef, p As DAO.Parameter 
  Set q = CurrentDb.QueryDefs("ИмяЗапроса") 'как обычного запроса Select,
  'так и INSERT/UPDATE; в запросах на удаление это не помогает
  For Each p In q.Parameters 
    p.Value = Eval(p.Name) 
  Next 
  q.Execute 
  q.close: Set q=Nothing
 
AlexRom
Дата: 20.02.2008 16:23:14
Спасибо
Это я видел
Если не сложно напиши пример
sdfgsdfgsdf
Дата: 20.02.2008 16:24:55
AlexRom
Спасибо
Это я видел
Если не сложно напиши пример


ты чё ? а вверху чото ? - Басни Крылова ?
Karfaqen
Дата: 20.02.2008 17:12:49
AlexRom
Но как вернуть их функцией?
В таком духе:
'в общем модуле пишете функцию:
Function GetParam()
    GetParam = Forms("ИмяФормы")("ID") 
End Function

'потом в запросе вызываете ее
SELECT * FROM Tabl WHERE ID = GetParam()
AlexRom
Дата: 20.02.2008 17:13:53
А вот хамить не надо.