【发布时间】:2020-04-29 21:04:27
【问题描述】:
我是 VBA 新手,我想使用 VBA 表单向 Access 数据库中插入一些数据。该程序启动没有问题但是当我插入数据并提交按钮时它给出了
预期的函数或变量
问题。这是我尝试过的:
Dim name1 As String
Dim surname1 As String
Dim affectedRow As Integer
Private Sub CommandButton1_Click()
name1 = ism.Text
surname1 = familya.Text
Dim con As ADODB.Connection
Set con = New ADODB.Connection
Dim rs As ADODB.Recordset
Set rs = con.Open("4IAT")
con.Open = "DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\Users\Pavilion\Documents\IAT.accdb;"
sql = "insert into 4IAT(Name,LastName) values('" & name & "','" & LastName & "')"
con.Execute sql, baza
If baza = 1 Then
MsgBox "barakala"
Else
MsgBox "O'xshamadi "
End If
con.Close
End Sub
【问题讨论】:
-
我会先在
4IAT和values之后添加一个空格,看看是否有区别,因为其中一个字段名称是Name(一个坏主意),所以在括号周围加上括号它喜欢[Name]来避免这个问题。 (或者更好的是,重命名该字段,使其不称为Name) -
另外,您在哪里设置
name和LastName的值?您的意思是使用name1和surname1? -
从
Conn.Open语句中去掉=,Open需要一个描述ConnectionString的参数,而不是一个赋值 -
你在哪里学习这些古老的技术?以这种方式做事有很多缺陷......使用参数化查询是更好的做法。
-
你能详细发表你的答案吗?