8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

MS-Access 2016 查询字符串条件不匹配

Gleb Kiva 3月前

103 0

我已经使用 VB、VBA 和 Access 编程多年,但这对我来说还是个新手...我有两个表,它们的字段名称相同,属于短文本数据类型 (255)。所有其他属性...

我已经使用 VB、VBA 和 Access 编程多年,但这对我来说还是新鲜事……

我有两个表,它们的字段名称相同,都是短文本数据类型 (255)。所有其他属性都相同。一个表在此字段中具有不同的值,另一个表具有许多相同的值。当我使用此字段在查询中连接这两个表时,它不会返回所有匹配的行。例如:

SELECT tProjects.[Original Project]
   , tActivity.[Original Project]
FROM tProjects 
INNER JOIN tActivity ON tProjects.ID = tActivity.ProjectID
WHERE (((tProjects.[Original Project])="Mike Simpson:1967 Alfa Romeo Duetto Spider"));

我可以打开每个表并复制/粘贴上述条件中使用的字符串。两个表在 [Original Project] 字段中都有相同的字符串... \'Mike Simpson:1967 Alfa Romeo Duetto Spider\'。如果我从一个表复制并粘贴并仅在该表上使用此条件,它会返回值。但是,我在具有完全相同文本、文本长度和字段属性的另一个表上使用复制的值,它不会返回值。如果我打开第二个表并复制文本并将其用作针对第二个表的选择查询中的字符串条件,它会返回记录。

我还注意到一个奇怪的行为,即只有当字符串少于 23 个字符时,在字符串末尾使用 \'Like\' 和通配符才有效。

由于我正在导入文本文档并循环查找新项目,即 - 与现有项目不匹配,因此这突然弄乱了我的数据库。因此,我突然得到了重复的项目。

我尝试了前端和后端数据库的 R&C,甚至将表本地化。

任何帮助,将不胜感激。

谢谢。

我尝试了所有能想到的方法。

帖子版权声明 1、本帖标题:MS-Access 2016 查询字符串条件不匹配
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Gleb Kiva在本站《ms-access》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 我们的 Intranet(Windows Server 2019/IIS 10)正在使用一个简单的访问数据库。在 global.asa 中,我们连接到此数据库,因为它:\'strconn = \'DRIVER={Microsoft Access Driver (*.mdb, *.accd...

    我们的 Intranet(Windows Server 2019 / IIS 10)正在使用一个简单的访问数据库。在 global.asa 中,我们连接到此数据库,如下所示:

    \'strconn = \'DRIVER={Microsoft Access 驱动程序 (*.mdb, *.accdb)};DBQ=C:\inetpub\intranet\data.mdb\'set conn = Server.CreateObject(\'ADODB.Connection\')conn.open strconn\'

    Windows 身份验证已启用

    当我使用管理员帐户连接到内联网时,它运行正常,当我使用用户帐户连接到内联网时,身份验证窗口打开;它失败,直到我使用管理员帐户登录

    奇怪的行为:如果我使用管理员帐户在 Intranet 上导航一次,则所有其他用户都可以在 Intranet 上导航(无论使用哪台计算机)!!!!

    导致此问题的行是 \'conn.open strconn\'

    我检查了数据库文件权限、ACEODBC.DLL 权限,尝试使用 ODBC 系统数据源,使用 processmonitor 检查是否可以看到 ACCESS DENIED,然后卸载/安装访问数据库引擎...

    想法:看起来管理员创建了一个文件,用户可以修改这个文件,这可以解释这种情况;因此,我检查了 c:\temp 、 c:\windows\temp 上的用户权限,因为 JETxxx.tmp 文件只创建了一次,并一直保留到空闲超时发生,这看起来像是我的问题。

    我的解决方法是将 IDLE 超时设置为零,然后使用管理员帐户打开一次 Intranet......这只有在我们不重新启动服务器或 IIS 时才有效,我们必须解决这个问题。

    我不知道如何检查哪一层失败了?

    我现在很绝望......它应该很简单......

    谢谢

返回
作者最近主题: