无法执行从C#调用VBA函数的MS-Access查询

时间:2018-06-05 12:35:41

标签: c# ms-access access-vba oledb

我正在尝试以编程方式从MS Access数据库中读取查询结果。 代码段如下 -

using (var connection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.16.0;Data Source=C:\\Database1.accdb;"))
{
            connection.Open();

            using (var command = new OleDbCommand()
            {
                            CommandText =query,
                            CommandType = CommandType.Text,
                            Connection = connection
            })
            {
                            var reader = command.ExecuteReader();
                            if (reader != null)
                                            dataTable.Load(reader);
            }
}

当我们有一个像

这样的简单查询时,代码工作正常

“SELECT column1,column2 FROM tableName”

但是当我尝试执行以下查询时:

“SELECT func1([column1]),column2 FROM tableName”

我得到一个例外 - “表达式”

中的未定义函数'func1'

该功能位于 VBA 模块中。

提前致谢!

1 个答案:

答案 0 :(得分:3)

您只能以这种方式调用Access本机函数,而不是用户定义的函数。