我正在创建一个Excel报表,我旁边的其他用户可以管理。
目前,我正在努力在MS Query中创建参数,以便它们可以从Excel中的单元格获取输入。
每次我尝试粘贴我的代码时,如果我用“问号”更改了原始日期,就会出现以下错误。
“在无法正常显示的查询中不允许使用参数。”
我试图为非常简单的查询创建参数。喜欢
select *
From dmbase.test
where ID = ?
在这里工作的参数,我什至可以添加10个或更多,它仍然可以工作。
此外,我尝试粘贴代码,就像在SSMS中一样,然后再通过Data-Properties-> Query Properties-> Definitions更改代码并将参数添加到“ Command Text”框中,但是Excel仅给出了错误。
也尝试为我的参数声明变量,但效果不佳。出现有关符号的错误。
declare Parameter1 date(10)
set Parameter1 = ?
declare Parameter2 date(10)
set Parameter2 = ?
我不是100%肯定应该归罪于联接,但这就是我的感觉。
我的代码如下所示。
select
loc.LocationLang
,loc.DistrictLang
,loc.InventoryRegionLang
,cod.ContractNumber
,cus.CustomerLang
,cus.InternalCustomerType
,cus.CustomerGroupCode
,cus.Organizationalcode
,css.CustomerSubSegmentLang
,loc.AnalysisRegionLang
,dht.ContractHeaderTypeLang
,cod.RentalOutDate
from
dmbase.fContractOpenDetail as cod
left join dmbase.dLocation as loc
on cod.LocationID = loc.LocationID
left join dmbase.dCustomer as cus
on cod.CustomerID = cus.CustomerID
left join dmbase.dCustomerSubSegment as css
on cus.CustomerSubsegmentID = css.CustomerSubSegmentID
left join dmbase.dContractHeaderType as dht
on cod.ContractHeaderTypeAMID = dht.ContractHeaderTypeAMID
where
cod.CompanyID = '6'
and cod.RentalOutDate between ? and ?
and left(loc.LocationLang,4) = '7201'
order by cod.ContractNumber
如果您能说出如何放入参数,这样我就不会出现“不允许使用参数...”的错误,我将不胜感激。