首页 > 解决方案 > Select * From 语句有问题

问题描述

我在 MS Access 中使用未绑定的表格:
1)通过组合框选择“活动场地”,
2)通过级联组合框选择预先注册的活动参与者,
从而填写姓氏、名字等表格数据等来自与每个场地相关的“参与者”表。

这一切都有效...接下来,我根据参与者所需的活动将数据添加到四个新字段。

我现在需要“读取”所有表单数据并将其发送到表“B”或“c”,具体取决于选择的组合框“地点”。表“B”和“c”具有与表格相同的对应字段。使用下面的代码。IF 语句工作正常,但是当单击命令按钮时,该set rec=db.OpenRecordset("select * from " & strMytable & "")行返回“From 子句错误”。我已经尝试了所有我能想到的......有什么帮助吗?提前致谢。只是试图完成这个数据库。第一次使用 Access。谢谢

Private Sub Command129_Click()

Dim db As Database
Dim rec As Recordset
Dim strMytable As String

Set db = CurrentDb
If Me.Combo77.Value = "Cherry Creek 2019" Then
   strMytable = "CC tourny results"
ElseIf Me.Combo77.Value = "Pueblo 2019" Then
  strMytable = "pueblo tourny results"
End If

sec rec=db.OpenRecordset("select * from " & strMytable & "")

rec.AddNew
rec("Last Name") = Me.LastName.text
rec.Update

rec.Close
db.Close

End Sub

标签: vbams-access

解决方案


表名有空格。SQL 语句中的对象名称在包含空格或特殊字符时必须用 [ ] 括起来。也应该set代替sec.

Set rec = db.OpenRecordset("select * from [" & strMytable & "]")

文本是错误的属性,应该是值,因为值是数据控件的默认值,甚至不必指定。

rec("Last Name") = Me.LastName

而不是记录集代码,可以只执行一个 INSERT 操作。

CurrentDb.Execute "INSERT INTO [" & strMytable & "]([Last Name]) VALUES('" & Me.LastName & "')"


推荐阅读