[英]Syntax error (missing operator) in MS-Access Query
以下查詢給出了"(missing operator)"
語法錯誤。 所需的輸出是來自表[dbo_tbl*]
和視圖[vw_*]
的數據的組合。 我使用過的所有密鑰都存在。 有任何想法嗎?
SELECT dbo_tbl_BOD.fpartno AS PartNumber,
dbo_tbl_BOD.frev AS RevisionIssue,
vw_DOCSwType.DocID,
vw_DRHRelfilter.Rev,
vw_DOCSwType.DocTypeDesc,
vw_DOCSwType.DocDesc,
vw_DOCSwType.DwgNoLegacy,
vw_DOCSwType.FileLocationOld,
vw_DRHRelfilter.DateCreated,
vw_DOCSwType.CreatedBy,
vw_DRHRelfilter.Rel,
vw_DRHRelfilter.RelLink
FROM dbo_tbl_BOD
LEFT JOIN vw_DRHRelfilter
ON ((dbo_tbl_BOD.DocID=vw_DRHRelfilter.DocID)
AND (dbo_tbl_BOD.frev=vw_DRHRelfilter.Rev))
LEFT JOIN vw_DOCSwType
ON (dbo_tbl_BOD.DocID=vw_DOCSwType.DocID)
ORDER BY PartNumber;
使用Access,每個連接都需要括號,例如:
SELECT dbo_tbl_BOD.fpartno AS PartNumber,
dbo_tbl_BOD.frev AS RevisionIssue,
vw_DOCSwType.DocID,
vw_DRHRelfilter.Rev,
vw_DOCSwType.DocTypeDesc,
vw_DOCSwType.DocDesc,
vw_DOCSwType.DwgNoLegacy,
vw_DOCSwType.FileLocationOld,
vw_DRHRelfilter.DateCreated,
vw_DOCSwType.CreatedBy,
vw_DRHRelfilter.Rel,
vw_DRHRelfilter.RelLink
FROM (dbo_tbl_BOD
LEFT JOIN vw_DRHRelfilter
ON dbo_tbl_BOD.DocID=vw_DRHRelfilter.DocID
AND dbo_tbl_BOD.frev=vw_DRHRelfilter.Rev)
LEFT JOIN
vw_DOCSwType
ON dbo_tbl_BOD.DocID=vw_DOCSwType.DocID
ORDER BY PartNumber;
如果您有MS Access的副本,則可以使用查詢設計窗口輕松查看所需的括號以構建聯接。
您可以使用VBA檢查字段類型,例如:
Dim rs As DAO.Recordset
Dim fld As DAO.Field
Set rs = CurrentDb.OpenRecordset("query1")
For Each fld In rs.Fields
Debug.Print fld.SourceField, fld.SourceTable, _
DLookup("SQLName", "DataTypeEnum", "DataValue=" & fld.Type)
Next
表DataTypeEnum包含fld.type返回的數值的文本描述。
DataValue SQLName 1 Boolean 2 Byte 3 Integer 4 Long 5 Currency 6 Single 7 Double 8 Date 9 Binary 10 Text 11 LongBinary 12 Memo 15 GUID 16 BigInt 17 VarBinary 18 Char 19 Numeric 20 Decimal 21 Float 22 Time 23 TimeStamp
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.