Обновить поле таблицы с текущим временем - PullRequest
1 голос
/ 16 января 2020

Добрый день всем,

У меня есть неограниченная форма с подчиненной формой (ее источником данных является таблица с именем SaleDetail). В основной форме есть текстовое поле для идентификатора продаж, также неограниченное.

Я создал кнопку со следующим кодом:

Private Sub btnEndSale_Click()

Dim strPostTime As String

strPostTime = "UPDATE SaleDetail " & _
        "SET [TIMEOUT] = Time()" & _
        "WHERE SaleDetail.SID = Forms!Sales.Form.sSID"

DoCmd.SetWarnings False
DoCmd.RunSQL strSQL
DoCmd.SetWarnings True
DoCmd.Requery

End Sub

Я пытаюсь получить текущее время для обновления записей в таблице SalesDetail, как только SID в главной форме соответствует SID в таблице SalesDetail, но он не работает, но если я заменю Forms!Sales.Form.sSID существующим идентификатором (например, 9), он будет работать. Любая помощь будет оценена.

Ответы [ 3 ]

6 голосов
/ 16 января 2020

SetWarnings False подавляет информацию, поэтому может быть препятствием для устранения неполадок. И этого можно полностью избежать с помощью запроса параметров.

Dim db As DAO.Database
Dim qdf As DAO.QueryDef
Dim strUpdate As String

strUpdate = "UPDATE SaleDetail SET [TIMEOUT] = Time() " & _
    "WHERE SaleDetail.SID = which_SID;"
Set db = CurrentDb
Set qdf = db.CreateQueryDef(vbNullString, strUpdate)
With qdf
    .Parameters("which_SID").Value = Forms!Sales.Form.sSID.Value
    .Execute dbFailOnError
End With
MsgBox db.RecordsAffected & " records updated"
1 голос
/ 16 января 2020

Попробуйте это:

strPostTime = "UPDATE SaleDetail " & _
        "SET [TIMEOUT] = Time()" & _
        "WHERE SaleDetail.SID = " & Forms!Sales.Form.sSID
0 голосов
/ 21 января 2020

Я думаю, что newbieDBBuilder не запрашивает SQL Запрос к серверу, который может использовать параметры. Его код:

DoCmd.RunSQL strSQL

, который является командой MS Access и запрашивает базу данных Access.

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