将 MonthName() 函数存储在字符串变量中
Store MonthName() function in a string variable
这里是第一个问题,请放轻松!
我是 Visual Basic(但不是编程)的新手,我在为本地组织工作的项目中遇到了问题。
我有一个按钮可以运行包含单个 "SELECT ... INTO ... "
语句的查询。此语句还会查找字段 RecievedBoxToday
等于 "Yes"
的每条记录。这是工作正常的代码:
SELECT * INTO RENAME_THIS_TABLE
FROM [DATABASE ZERO]
WHERE (([DATABASE ZERO].RecievedBoxToday)=Yes);
现在问题来了(除了 Received
拼写错误之外):此代码每个月都是 运行,但是 table(RENAME_THIS_TABLE
) 每次单击按钮时都会被覆盖。我想每个月都有永久数据,所以我的解决方案是将 RENAME_THIS_TABLE
table 重命名为 MONTHNAME_YEAR
其中 MONTHNAME
是月份的名称(一月或十二月) YEAR
是当年(2015 年)。我想我可以用 MonthName()
函数来做这件事,它工作得很好,但我希望能够将这个月的名称存储到一个字符串中,以便与年份连接(也是一个字符串)。后记此字符串将替换 RENAME_THIS_TABLE
。
我的代码似乎不起作用:
dim Month As String
dim Year As String
MonthName(Month(Date()), False) As Month
Year(Date()) As Year
dim NewName As String = Month + "_" + Year
在此之后,我不知道该去哪里获取这个新的字符串变量并插入到 SQL 代码中,它将替换 RENAME_THIS TABLE
。
我怎样才能完成这项工作?我可以做这个工作吗?如果重要的话,我正在使用 VBA 和 Microsoft Access 2013。非常感谢任何帮助!
不要使用 Month
和 Year
作为变量名。这些是 VBA 中的保留(函数)名称。此外,作为快捷方式,您可以只使用 Format()
函数来格式化日期字符串:
Dim strNewName As String
strNewName = Format(Date, "mmmm_yyyy") ' => "August_2015"
如果您的 SQL 语句存储在单独的字符串中,您可以将新的 table 名称连接到字符串中:
Dim strSql As String
strSql = "SELECT * INTO " & strNewName & " FROM [DATABASE ZERO] WHERE (([DATABASE ZERO].RecievedBoxToday)=Yes);"
这里是第一个问题,请放轻松!
我是 Visual Basic(但不是编程)的新手,我在为本地组织工作的项目中遇到了问题。
我有一个按钮可以运行包含单个 "SELECT ... INTO ... "
语句的查询。此语句还会查找字段 RecievedBoxToday
等于 "Yes"
的每条记录。这是工作正常的代码:
SELECT * INTO RENAME_THIS_TABLE
FROM [DATABASE ZERO]
WHERE (([DATABASE ZERO].RecievedBoxToday)=Yes);
现在问题来了(除了 Received
拼写错误之外):此代码每个月都是 运行,但是 table(RENAME_THIS_TABLE
) 每次单击按钮时都会被覆盖。我想每个月都有永久数据,所以我的解决方案是将 RENAME_THIS_TABLE
table 重命名为 MONTHNAME_YEAR
其中 MONTHNAME
是月份的名称(一月或十二月) YEAR
是当年(2015 年)。我想我可以用 MonthName()
函数来做这件事,它工作得很好,但我希望能够将这个月的名称存储到一个字符串中,以便与年份连接(也是一个字符串)。后记此字符串将替换 RENAME_THIS_TABLE
。
我的代码似乎不起作用:
dim Month As String
dim Year As String
MonthName(Month(Date()), False) As Month
Year(Date()) As Year
dim NewName As String = Month + "_" + Year
在此之后,我不知道该去哪里获取这个新的字符串变量并插入到 SQL 代码中,它将替换 RENAME_THIS TABLE
。
我怎样才能完成这项工作?我可以做这个工作吗?如果重要的话,我正在使用 VBA 和 Microsoft Access 2013。非常感谢任何帮助!
不要使用 Month
和 Year
作为变量名。这些是 VBA 中的保留(函数)名称。此外,作为快捷方式,您可以只使用 Format()
函数来格式化日期字符串:
Dim strNewName As String
strNewName = Format(Date, "mmmm_yyyy") ' => "August_2015"
如果您的 SQL 语句存储在单独的字符串中,您可以将新的 table 名称连接到字符串中:
Dim strSql As String
strSql = "SELECT * INTO " & strNewName & " FROM [DATABASE ZERO] WHERE (([DATABASE ZERO].RecievedBoxToday)=Yes);"