使用Microsoft Access SQL将当前日期插入日期列吗?

时间:2019-01-22 20:43:55

标签: sql ms-access

是否可以编写一个查询,该查询在执行时将今天的日期写在适当的列中?我正在使用Microsoft Access查询设计器。

这是我到目前为止所拥有的:

INSERT INTO TestingDates ( DateColumn )
VALUES (GetDate());

3 个答案:

答案 0 :(得分:1)

使用内部Date()函数。

INSERT INTO TestingDates(DateColumn) VALUES(Date());

答案 1 :(得分:0)

是;在日期的计算字段中;尝试一下 TestingDate:Date()+ 30

我认为就是这么简单

答案 2 :(得分:0)

您在什么情况下运行SQL语句?如果在VBA中使用QueryDef对象,则可以使用编写的函数。

    Private Sub Test_Update_SQL()
        Update_SQL1 "Test_Query", "Test_Table"
    End Sub
    Public Function Update_SQL(Query_Name As String, Table_Name As String)
    Dim Obj_Qdef As Object
        CurrentDb.QueryDefs.Refresh
        Set Obj_Qdef = CurrentDb.QueryDefs(Query_Name)
        'Debug.Print Generate_Query_String(Table_Name) 'For troubleshooting SQL
        Obj_Qdef.SQL = Generate_Query_String(Table_Name)
        CurrentDb.QueryDefs.Refresh
        Obj_Qdef.Execute
        Set Obj_Qdef = Nothing
    End Function

    Private Function Generate_Query_String(Table_Name As String) As String
        Generate_Query_String = "INSERT INTO " & Table_Name & "( DateColumn )VALUES (#" & Get_Date() & "#);"

    End Function

    Private Function Get_Date() As String
        Dim Temp_Date As Date
        Dim Temp_Date_Plus As String
        Temp_Date = DateAdd("d", Now(), 30)
        Temp_Date_Plus = Format(Temp_Date, "mm/dd/yyyy")
        Get_Date = Temp_Date_Plus
    End Function

每当使用更新或插入查询时要记住的一些注意事项总是将#值中的日期值和''中的字符串包含在vba中,我喜欢使用chr(35)=#[pound / hashtag]和chr(39)= '[编写单引号时,将生成SQL。