Select * From语句

时间:2019-02-08 07:04:38

标签: vba ms-access

我正在MS Access中使用未绑定的表格:
1)通过组合框选择“活动场所”,
2)通过级联组合框选择活动的预注册参与者,
这样就可以填写“ Paticipants”表中相对于每个场所的姓氏,名字等表格数据。

这一切都起作用...接下来,我根据参与者的期望活动将数据添加到四个新字段中。

我现在需要“读取”所有表单数据,并将其发送到表“ 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

1 个答案:

答案 0 :(得分:2)

表名包含空格。如果对象名称带有空格或特殊字符,则必须在SQL语句中将其包含在[]中。还应该是set而不是sec

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

文本是错误的属性,应为Value,并且由于Value是数据控件的默认值,因此甚至不必指定。

rec("Last Name") = Me.LastName

代替记录集代码,只需执行INSERT操作即可。

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