2017-07-17 27 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在運行它的計算機上是獨立的。

相關問題