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

 

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

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

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

ник: lulukyan
Есть запрос на добавление который следует выполнить в VBA. Вот его код


INSERT INTO PlaceCodeTemp ( PlaceArm, Id, CountryPlace )
SELECT IIf(PlaceCode.PlaceArm='',"Չորոշված",PlaceCode.PlaceArm) AS Выражение1, Min(PlaceCode.Id) AS Id, IIf(PlaceCode.ErkCode=0,IIf(PlaceCode.id In (0.1),"Հայաստան",IIf(PlaceCode.id=2,"Արտասահման","Չորոշված")),IIf(PlaceCode.ErkCode=374,"Հայաստան",IIf(IsNull(PlaceCode.ErkCode),"Չորոշված","Արտասահման"))) AS CountryPlace
FROM PlaceCode
GROUP BY PlaceCode.PlaceArm, PlaceCode.ErkCode;


А вот код VBA


SQL = CurrentDb.QueryDefs("qaPlaceCodeTemp").SQL
DoCmd.RunSQL SQL
CurrentDb.Execute "qaPlaceCodeTemp"
CurrentDb.Execute SQL


В нём запрос продублирован три раза. Выполняется только первый... остальные выдают ошибку


Run-time error 3122: You tried to execute a query that does not include the specified expression "*" as part of the aggregate function


нижеследующем выражении


IIf(PlaceCode.ErkCode=0,IIf(PlaceCode.id In (0.1),"Հայաստան",IIf(PlaceCode.id=2,"Արտասահման","Չորոշված")),IIf(PlaceCode.ErkCode=374,"Հայաստան",IIf(IsNull(PlaceCode.ErkCode),"Չորոշված","Արտասահման"))) AS CountryPlace



Отсюда два вопроса:
1. Почему Docmd выполняется а Execute нет?
2. Как сделать так чтобы Docmd выполнялся молча, без выдачи окна сообщения?


Ваше имя:

Пароль:

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

Сообщение:

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

Прикрепить:

 

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