【问题标题】:How to click on a button and append button caption to new line in a table如何单击按钮并将按钮标题附加到表格中的新行
【发布时间】:2016-02-18 16:26:02
【问题描述】:

我创建了一个表单,并希望单击一个名为“john”的按钮,以在名为“log”的现有表中添加一个新行,其中包含单击按钮的日期+时间和名称“john” .

我有两个表“日志”和“团队”。需要填充“日志”,而不是“团队”有一个名称列表和相关编号

我从一个名为“append”的查询开始

INSERT INTO log ( [time], name, no )
SELECT Now() AS [time], Team.namesurname AS name, Team.no AS no
FROM Team;

然后我尝试转移到 VBA,因为我想使用按钮“john”的名称来过滤“追加”查询

Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "append"
stLinkCriteria = Me!button.Caption

DoCmd.OpenQuery stDocName, , acNew
stLinkCriteria = Team![namesurname]

当然没有任何效果 :( 或者更确切地说,如果我手动执行查询,它会将“团队”中的所有名称附加正确的时间戳,而不仅仅是“约翰”。

我已经阅读了很多帮助,但我越来越困惑。我也想过尝试以某种方式从 vbscript 中的“追加”查询创建 sql,但不知道从哪里开始,并且无论如何不知道如何使用按钮名称进行过滤。

作为最终结果,我正在尝试创建一个包含大约 10 个按钮的表单,所有按钮都将行添加到“日志”表中。

请有人帮我推一下正确的方向。

【问题讨论】:

    标签: ms-access vba ms-access-2010


    【解决方案1】:

    首先,您的查询可能如下所示:

    INSERT INTO log ( [time], [name], [no] )
    SELECT Now() AS [time], Team.namesurname AS [name], Team.no AS [no]
    FROM Team;
    

    虽然它可能不是很有用,因为它会插入一堆记录。

    其次,动作查询不是打开而是执行,你不需要保存查询——直接写会更快:

    Dim NameJohn As String
    Dim ThisNo As Long
    Dim SQL As string
    
    NameJohn = Me!button.Caption
    ThisNo = 8 ' any number.
    
    SQL = "INSERT INTO log ( [time], [name], [no] ) VALUES ( Now(), '" & NameJohn & "', " & CStr(ThisNo) & " )"
    
    CurrentDb.Execute SQL
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-11
      • 1970-01-01
      • 2014-01-04
      • 2015-01-29
      相关资源
      最近更新 更多