首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Access数据库功能

Access数据库功能
EN

Stack Overflow用户
提问于 2014-12-06 06:24:41
回答 3查看 9K关注 0票数 0

我在Access 2010上创建了一个数据库,使用left()right()mid()函数进行查询。然后我把数据库复制到家里的电脑上,但是现在这些功能不想在这个数据库上工作。我的个人电脑在家里也有接入2010年。每次我尝试运行查询时都会收到以下消息,编译该函数时出错。Visual包含一个语法错误。检查代码,然后再编译它。

我在家里的pc上创建了一个新的DB来测试这些功能,而且没有问题。我还注意到,在我家里的pc上,标题是Database1 : Database(Access 2007) - Microsoft ,在工作时写着Database1 : Database(Access 2007-2010)- Microsoft 。这两台电脑都有Windows 7专业版,我的家用电脑大约1岁,我的电脑在工作大约3个月。我还在家里更新/修复了我的Access,但是DB仍然不想工作。我怎样才能解决这个问题?

我有一个简单的表,名为Table1,有一个id列和一个名为Name的列,

代码语言:javascript
复制
id  Name 
1  Jason
2  Casey
3  Shasha

现在,如果我想在Access查询中使用left()函数,我会得到错误消息:编译这个函数时出错。Visual包含一个语法错误。检查代码,然后再编译它。

查询:

代码语言:javascript
复制
Select Left([Name],2) As Short_name From Table1
EN

回答 3

Stack Overflow用户

发布于 2014-12-08 02:00:13

您希望在VBA编辑器中使用go tools-> reference,并查找缺少的引用。

您可能引用了目标计算机上不存在的某些软件(例如word)。

下面概述了查看这些断断续续的引用的“步骤”:

http://www.accessmvp.com/djsteele/AccessReferenceErrors.html

当将应用程序移动到另一台计算机时,中断引用可能是访问中最常见的问题之一。建议您使用延迟绑定并删除所有不必要的引用,以“减少”此问题的发生。

票数 3
EN

Stack Overflow用户

发布于 2017-08-16 17:39:52

我有这个问题时,64位办公室和32位访问.(why? is another question)

通过转到VBA编辑器并一次又一次地点击“编译”来修正它,这让我想到了一些冒犯的32位函数,这些函数需要将ptrsafe添加到函数声明中。(是的,我危险地添加了它,没有再想一想。)然后就很开心了。

也就是说,

代码语言:javascript
复制
Private Declare Function GetUserName _
   Lib "advapi32.dll" Alias "GetUserNameA" _
   (ByVal lpBuffer As String, nSize As Long) _
   As Long

化作

代码语言:javascript
复制
Private Declare PtrSafe Function GetUserName _
   Lib "advapi32.dll" Alias "GetUserNameA" _
   (ByVal lpBuffer As String, nSize As Long) _
   As Long

我只能猜测,我的32位access的VBA正在尝试为64位进行编译,因为这就是我安装的office版本。

票数 0
EN

Stack Overflow用户

发布于 2018-07-17 21:24:45

与查询中使用的简单字符串函数完全相同的问题.

修复是不一样的:我复制了一个VBA模块(一个与在查询中使用Left("FFFF",2)完全无关的函数)。

问题是,我意外地在复制的模块顶部添加了“选项比较数据库”两次。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27328974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档