簡體   English   中英

具有計算表達式的子查詢的條件表達式中的數據類型不匹配

[英]Data type mismatch in criteria expression for the subquery with calculated expression

我正在嘗試在MS Access中創建一個SQL子查詢。 在表達式中獲取“類型不匹配”
條件”錯誤消息。

子查詢為

SELECT *
  (SELECT Locs_Eq.Locs_Eq 
   FROM Locs_Eq 
   WHERE Query6.StDeExtrREF=CStr(Locs_Eq.Full_VendSN)
  ) AS Loc_1
FROM Query6

可變DeExtrREFQuery6如下:

 IIF(PDetail.VeName="Siem" AND [DeExtr1]="Contr REF#",
     TRIM(MID (PDetail.Desc, (InStr([PDetail.Desc],":")+1), LEN(PDetail.Desc))),
     TRIM(MID (PDetail.Desc, (InStr([PDetail.Desc],":")+1), LEN(PDetail.Desc))) 
    ) AS DeExtrREF

我嘗試將CS​​tr添加到變量中,但仍然收到錯誤消息。 請幫忙。

我假設您在第一行的SELECT *之后有一個逗號。 如果不是,請先更改此設置,看看是否有幫助。

我不確定,但這可能是與null相關的錯誤; 將此添加到您的訪問應用程序中的模塊:

public function is_null(val as variant, rplc as string) as string
    if isnull(val) then
        is_null = rplc
    else
        is_null = cstr(val)
    end if
end function

然后更改您的查詢以使用它,如下所示:

SELECT q.*,
  (SELECT l.Locs_Eq 
   FROM Locs_Eq l 
   WHERE is_null(q.StDeExtrREF, "") = CStr(is_null(l.Full_VendSN, ""))
  ) AS Loc_1
FROM Query6 q

希望這可以幫助。 我會自動為表和查詢加上別名,但是通常來說,如果您的查詢不太難理解,您很可能會在這里獲得幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM