Bem, eu descobri mais pesquisas. Eu mudei as duas datas para pontos de interrogação e mudei os parâmetros para perguntar "data de início" e "data de término" e parece estar executando a consulta corretamente com a saída de data correta.
Eu tenho um arquivo do Excel que usa uma consulta SQL para extrair o uso de estoque dos medicamentos em nossa farmácia por um período de tempo.
Atualmente, só preciso ir para Dados > Conexões > Propriedades > Definição e apenas editar o texto do comando para o intervalo de datas que eu quero. Eu queria torná-lo um pouco mais amigável para que qualquer pessoa no escritório fosse capaz de mudar as datas.
Existe algum tipo de script que eu possa adicionar para alterar apenas o valor de data na consulta SQL?
Eu assumi que teria que ser uma macro visual básica de algum tipo. Eu só quero um pop-up para vir ao abrir o documento que diz "Data de início de entrada" e, em seguida, um que diz Data de término de entrada ". Aqui está a consulta, se necessário.
SELECT a.patid
, a.patname
, a.ndc
, a.ccid
, a.DrugLabelName
, a.PackType
, sum(a.Qty) AS TotQty
, sum(isnull(a.ActCost, 0)) AS ActCost
, Sum(CASE
WHEN a.ElecAdj = 1
AND a.ElecAdj2 = 0
THEN a.Payor1PaidAmt + a.PatientPayAmt
WHEN a.ElecAdj = 1
AND a.ElecAdj2 = 1
THEN a.Payor1PaidAmt + a.Payor2PaidAmt + a.PatientPayAmt
WHEN a.ElecAdj = 0
AND a.ElecAdj2 = 1
THEN a.Payor2PaidAmt + a.PatientPayAmt
ELSE a.TtlPrice + a.CoPay
END) AS Revenue
, Sum(CASE
WHEN a.Reversed = 0
THEN 1
ELSE CASE
WHEN a.transtype IN (
'P'
, 'B'
, 'Q'
, 'U'
)
THEN 1
ELSE CASE
WHEN a.CreditAmt IS NOT NULL
THEN 0
ELSE - 1
END
END
END) AS NumRxs
, a.FacID
, b.FacName
FROM Rx..Hrxs a
LEFT OUTER JOIN Fac..Facilities b ON a.FacID = b.FacID
WHERE a.DispenseDt BETWEEN '11/01/2012' / STARTDATE /
AND '11/30/2012' / STARTDATE /
AND a.PharmId = 'cps' / PHARMID /
AND coalesce(a.UDRx, 0) = 0
AND a.packtype = 'PHDEF'
GROUP BY a.PatID
, a.patname
, a.FacID
, b.FacName
, a.CCID
, a.Ndc
, a.DrugLabelName
, a.packtype
ORDER BY a.FacID
, a.DrugLabelName
Bem, eu descobri mais pesquisas. Eu mudei as duas datas para pontos de interrogação e mudei os parâmetros para perguntar "data de início" e "data de término" e parece estar executando a consulta corretamente com a saída de data correta.