Вставить текущую дату в столбец даты с помощью Microsoft Access SQL? - PullRequest
0 голосов
/ 22 января 2019

Можно ли написать запрос, который при выполнении записывает текущую дату в соответствующий столбец?Я использую Microsoft Access Query Designer.

Это то, что у меня есть до сих пор:

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

Ответы [ 3 ]

0 голосов
/ 23 января 2019

да;в рассчитанном поле для даты;попробуйте просто TestingDate: Date () + 30

Я думаю, что это так просто

0 голосов
/ 23 января 2019

В каком контексте вы запускаете оператор SQL? Вы можете использовать функцию, которую вы написали, если вы используете объект QueryDef в VBA.

    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.

0 голосов
/ 22 января 2019

Использовать встроенную функцию Date ().

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...