Private Sub Comsave_Click()
   Dim olid As String
   cnn.ConnectionString = "provider=Microsoft.Jet.OLEDB.4.0;Data Source =人事档案管理.mdb;"
   cnn.Open
   cmd.ActiveConnection = cnn
   Dim sqlstmt As String
    olid = Adodc1.Recordset.Fields(0)
   sqlstmt = "UPDATE 基本档案 SET 姓名 = ' " + Trim(Txtname.Text) + "  ' where 职工编号=" + Trim(olid)
   cmd.CommandText = sqlstmt
   cmd.Execute
   MsgBox "数据已保存!", vbOKOnly
   Frenshi.Adodc1.Refresh
   Txtid.Text = ""
   Txtname.Text = ""
   txtbumen.Text = ""
   Set rs = Nothing
   cnn.Close
End Sub运行后老是提示:实时错误
至少一个参数没有被指定值

解决方案 »

  1.   

    sqlstmt = "UPDATE 基本档案 SET 姓名 = ' " + Trim(Txtname.Text) + "  ' where 职工编号=" + Trim(olid)
    where 职工编号後的“=”似乎是全角的,改為半角的試試
      

  2.   

    楼上说得对,是等号写错了,改为半角的:where 职工编号=" + Trim(olid)
    where 职工编号 =" + Trim(olid)
      

  3.   

    SQL 语句夹带中文,实在是编程大忌。不光容易出错,输入代码也麻烦,不断切换输入法。
      

  4.   

    有一个小问题,如下:
    sqlstmt = "UPDATE 基本档案 SET 姓名 =N ' " + Trim(Txtname.Text) + "  ' where 职工编号=" + Trim(olid)
    中文的栏位内容前要加'N'