У меня есть файл Excel, который использует SQL-запрос для проверки использования лекарств в нашей аптеке за определенный период времени.
В настоящее время я просто должен пойти в Данные> Соединения> Свойства> Определение и просто отредактировать текст команды для диапазона дат, который я хочу. Я хотел сделать его немного более удобным для пользователей, чтобы любой в офисе мог изменять даты.
Есть ли какой-нибудь сценарий, который я могу добавить, чтобы изменить только значение даты в запросе SQL?
Я предполагал, что это должен быть какой-то визуальный базовый макрос. Я просто хочу, чтобы при открытии документа появлялось всплывающее окно с "Дата начала ввода", а затем - "Дата окончания ввода". Вот запрос, если необходимо.
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