如何在 Word 中输入日期范围以进行 SQL 查询?

如何在 Word 中输入日期范围以进行 SQL 查询?

我有一个 Excel 文件,它使用 SQL 查询来提取一段时间内我们药房的药品库存使用情况。

我现在只需要去数据 > 连接 > 属性 > 定义然后只需编辑我想要的日期范围的命令文本即可。我想让它更方便用户使用,这样办公室里的任何人都可以更改日期。

是否有任何类型的脚本可以添加来更改 SQL 查询中的日期值?

我认为它必须是某种 Visual Basic 宏。我只希望在打开文档时弹出一个窗口,显示“输入开始日期”,然后弹出一个窗口,显示“输入结束日期”。如果需要,这是查询。

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

答案1

好吧,我通过更多的研究找到了答案。我将两个日期改为问号,并将参数改为询问“开始日期”和“结束日期”,它似乎正确地执行了查询并输出了正确的日期。

相关内容