0

我有一个运行多个 Sql 查询的宏。这些查询之一是根据在宏内的 msgbox 中输入的日期运行的(仅生成输入日期之后的公司)。

宏在表中运行时是否可以将输入的值放入 msgbox 中?(我的最终目标是将值放在报告上,以表明显示的值在以下日期之后:变量)

下面是我的代码:

Sub insertmsgboxvar()
Dim msgboxdate As Date
msgboxdate = InputBox("Enter a date. Accounts created AFTER the date will be returned.")
DoCmd.RunSQL "SELECT " & msgboxdate & " Into tblreqaccts ;"
End Sub

出于某种原因,当我运行它时,它会创建表(以前不存在)创建一个名为 Expr1000 的列,并输入一个数值 5.96421471172962E-03。我已经尝试将其更改为日期格式,并且我得到了 1899 年的日期。谢谢

4

2 回答 2

0

你当然可以。下面接受一个输入框并将其分配给一个变量。然后将其保存在 Sheet1 的 Range("A1") 中:

Dim formDate As Date

formDate = Application.InputBox("Input Date", "Date")

Sheet1.Range("A1").Value = formDate
于 2012-12-12T23:00:31.290 回答
0

这是您可能从 VBA 运行的基本 SQL 查询:

SELECT C1,C2,C3 
FROM YourTable 
WHERE DateField > yourmsgboxvalue

你也可以这样做:

SELECT yourmsgboxvalue as C23, C1,C2,C3 
FROM YourTable 
WHERE DateField > yourmsgboxvalue

因此,现在您在实际结果集中的消息框中输入了值。然后你只需要弄清楚如何在你的标题中显示一次。这对于所有开箱即用的报告工具来说都是微不足道的,如果您有定制开发的报告工具应该很容易。

我们需要对您的代码进行更多解释以提供帮助。

于 2012-12-13T00:05:27.627 回答