2017-07-17 29 views
1

对不起,在访问中成为vba/sql的新手。我使用的是Access 2016,并在表单中有一个文本框。当单击命令按钮时,文本框中的数字会提供一个选择查询,并且应该给我查询中另一个字段的值。提示用户输入,而不是使用变量

下面的代码:

 Private Sub Punch_Click() 
      Dim TCID As Integer 
      TCID = DLookup("TimeCardID", "qryPunch", PIN) 
      MsgBox TCID 

      DoCmd.RunSQL "INSERT INTO [tblTransactions] " _ 
       & "(TransDateTime,TransSource,TimeCardID) VALUES " _ 
       & "(Now(),1,TCID);" 
    End Sub 

当我运行的代码中,MSGBOX准确地显示值,但是当我点击“确定”对MSGBOX,它提示用户TCID的价值,而不是只需将该TCID作为tblTransactions中的新记录插入即可。

这是否有意义?

回答

0

它改成这样:

& "(Now(),1," & TCID & ");"

+0

谢谢!根据其他线索,我知道它必须与确切的间距和引号相关,但不能正确。 –

0

您应该在插入前做一个延迟。

您有延迟两个选项

选项1:

Sytem.Threading.Thread.Sleep(1000)

那将暂停1秒(1000毫秒)

选项2 :

My.Application.Doevents

Doevents将处理Windows消息队列中的所有请求。

doevents在运行它的计算机上是独立的。

相关问题