首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MS Access查询产生无效的过程调用。

MS Access查询产生无效的过程调用。
EN

Stack Overflow用户
提问于 2018-11-14 13:26:58
回答 1查看 1.1K关注 0票数 0

如果只对select语句使用以下查询,则access中的查询工作良好。一旦它成为一个附加查询,它就会产生一个“无效的过程调用”错误。

我把冒犯的专栏缩小为"Publ“和"PublLong”。两者都是长文本字符串。如果删除这两列,则查询将无错误地更新。

下面是[Bezeichung]字段中的一个示例数据点:

publications.bank.com/publ-dl-ch/pdf/WhatsUp_20181113_en.pdf

我检查了它要插入的表,数据类型是相同的,也没有看到任何其他会阻止插入的设置。

我怎么才能让它工作呢?

代码语言:javascript
复制
INSERT INTO tbl_MatomoRaw ( DownloadDate, IntExt, Publ, PublLong, 
                            PublDate, [Language], Download_Visits, PublMonth )
SELECT 
    Date() AS DownloadDate, 
    Left([Bezeichnung],InStr([Bezeichnung],".")-1) AS IntExt, 
    Nz(Mid([Bezeichnung],InStrRev([Bezeichnung],"/")+1,InStr([Bezeichnung],"_")-
        InStrRev([Bezeichnung],"/")-1),"") AS Publ, 
    Mid([Bezeichnung],InStrRev([Bezeichnung],"/")+1,InStrRev([Bezeichnung],"_")-
        InStrRev([Bezeichnung],"/")-1) AS PublLong, 
    Mid([Bezeichnung],InStr([Bezeichnung],"_")+1,8) AS PublDate, 
    Mid([Bezeichnung],Len([Bezeichnung])-5,2) AS [Language],
    xlsx_Output.[Eindeutige Downloads] AS Download_Visits, 
    Mid([Bezeichnung],InStr([Bezeichnung],"_")+1,6) AS PublMonth
FROM xlsx_Output
WHERE 
    (((Nz(Mid([Bezeichnung],InStrRev([Bezeichnung],"/")+1,InStr([Bezeichnung],"_")-
        InStrRev([Bezeichnung],"/")-1),"")) Not Like "#Func!"));
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-14 15:20:04

#Func!表示您的一个函数正在导致错误。

您的查询使用了多个函数,当输入不符合该格式时会遇到问题,因此,请预先筛选,而不是对错误进行过滤,因为在附加时不能对错误进行筛选:

代码语言:javascript
复制
INSERT INTO tbl_MatomoRaw ( DownloadDate, IntExt, Publ, PublLong, 
                            PublDate, [Language], Download_Visits, PublMonth )
SELECT 
    Date() AS DownloadDate, 
    Left([Bezeichnung],InStr([Bezeichnung],".")-1) AS IntExt, 
    Nz(Mid([Bezeichnung],InStrRev([Bezeichnung],"/")+1,InStr([Bezeichnung],"_")-
        InStrRev([Bezeichnung],"/")-1),"") AS Publ, 
    Mid([Bezeichnung],InStrRev([Bezeichnung],"/")+1,InStrRev([Bezeichnung],"_")-
        InStrRev([Bezeichnung],"/")-1) AS PublLong, 
    Mid([Bezeichnung],InStr([Bezeichnung],"_")+1,8) AS PublDate, 
    Mid([Bezeichnung],Len([Bezeichnung])-5,2) AS [Language],
    [Eindeutige Downloads] AS Download_Visits, 
    Mid([Bezeichnung],InStr([Bezeichnung],"_")+1,6) AS PublMonth
FROM (SELECT * FROM xlsx_Output WHERE Len(Bezeichnung) > 5 AND Bezeichnung LIKE "*?.?*" AND Bezeichnung LIKE "*_????????*" AND Bezeichnung LIKE "*?\?*")
WHERE 
    (((Nz(Mid([Bezeichnung],InStrRev([Bezeichnung],"/")+1,InStr([Bezeichnung],"_")-
        InStrRev([Bezeichnung],"/")-1),"")) Not Like "#Func!"));

由于我不知道错误发生在哪里,所以我无法编写正确的筛选器来识别它们,但从您的查询来看,它们应该包括斜杠后面的斜杠和符号、下划线后面的下划线和至少8个符号,以及点前后至少有一个符号的点。

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

https://stackoverflow.com/questions/53301336

复制
相关文章

相似问题

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