Sql 在遗留系统中使用vb.net进行MSACCESS 97 Efail查询

Sql 在遗留系统中使用vb.net进行MSACCESS 97 Efail查询,sql,.net,vb.net,ms-access,Sql,.net,Vb.net,Ms Access,当我从.net运行以下查询时,它会出现一个efail错误 但是,当我运行sql脚本时,它成功地抛出了access。这是一个遗留系统。我支持它。我在网上说它是保留字,但我在这个查询中看不到任何保留字,因为大小和前缀都是 SELECT Orders.OrderNumber, Orders.OrderLine, Orders.Orderdate, Orders.Deldate, Orders.CutOffDate, detail.Locat

当我从.net运行以下查询时,它会出现一个efail错误

但是,当我运行sql脚本时,它成功地抛出了access。这是一个遗留系统。我支持它。我在网上说它是保留字,但我在这个查询中看不到任何保留字,因为大小和前缀都是

SELECT 
    Orders.OrderNumber, 
    Orders.OrderLine, 
    Orders.Orderdate, 
    Orders.Deldate, 
    Orders.CutOffDate, 
    detail.Location, 
    Location.Description,   
    TagBarCode.TagBcode, 
    detail.PLU, 
    Style.Description, 
    StockType.Description,
    VatRate.Vcode, 
    VatRate.Vatname, 
    VatRate.VatRate, 
    Orders.OnOrder, 
    Sum(Orders.Cost*Orders.Onorder) AS LineNetCost, 
    Orders.Cost, 
    Sum(orders.cost*(1+(VatRate.VatRate/100))) as GrossCost
FROM (
 (
  (
    (
      (Style INNER JOIN detail ON Style.uniqueref = detail.UniqueRef)
      INNER JOIN Orders ON (Orders.PLU = detail.RootPlu) 
                       AND (Style.uniqueref = Orders.UniqueRef) 
                       AND (detail.Size = Orders.Size) 
                       AND (detail.Location = Orders.Location)
    ) 
    INNER JOIN StockType ON detail.Stocktype = StockType.Stocktype
   ) 
   INNER JOIN Location ON detail.Location = Location.Location
  ) 
  INNER JOIN TagBarCode ON (detail.RootPlu = TagBarCode.Plu) AND (detail.Size = TagBarCode.Size)
 ) 
 INNER JOIN VatRate ON detail.VCode = VatRate.Vcode
GROUP BY 
    Orders.OrderNumber, 
    Orders.OrderLine, 
    Orders.Orderdate, 
    Orders.Deldate, 
    Orders.CutOffDate, 
    detail.Location, 
    Location.Description, 
    TagBarCode.TagBcode, 
    detail.PLU, 
    Style.Description, 
    Orders.OnOrder, 
    StockType.Description, 
    VatRate.Vcode, 
    VatRate.Vatname, 
    VatRate.VatRate, 
    orders.cost;

显然,您需要这样做[Location]。[Description],因为Description是一个保留字

我认为它可能是大小字段,但它只用于连接,而不会出现在select子句中