2012-02-12 1 views
2

Я определил функцию в базе данных MS Access. Я использую эту функцию в Query. Я сохранил этот запрос как «Query1». Этот запрос успешно выполняется в MS Access. Но, когда я называю тот же запрос из VB (с использованием ADO), он дает мне ошибку:Использование MS Access Функция VBA с использованием запроса в VB6

Run-time error '-2147217900 (80040e14)': 

Undefined function 'Concatenate' in expression. 

Ниже код я использую для доступа «Query1»:

rs.Open "Select * From Query1", CN1, 2, 2 
If Not rs.EOF Then 
'Get Data 
End If 
rs.Close 
+0

Вы еще не выяснили, находится ли ваш вызов VB в Access по-прежнему или в другой программе, если вы все еще используете Access, я предлагаю использовать DAO вместо ADO. –

ответ

3

Вы не можете использовать пользовательские функции (UDF) вне доступа.

+1

Вы можете опубликовать UDF, если хотите, чтобы люди SO смотрели на альтернативный подход. – Fionnuala

+0

Я использую функцию Concatenate для получения строки, разделенной запятыми, из одного столбца строк. Можно ли это сделать, используя обычный запрос доступа к ms? –

+1

@Chintan Shah Нет, вы не можете объединиться без UDF (http://stackoverflow.com/questions/92698/combine-rows-in-access-2007/93863#93863, http://stackoverflow.com/questions/230241/делает мс-access2003-есть-нибудь сравнимое к хранимой процедуре-я-хочу-работай/231570 # 231570) – Fionnuala