Public Sub Adddata()
    On Error GoTo error
    Dim sql As String
    '连接数据库
    sql = "INSERT INTO data " & "VALUES (" & Trim(Text1.Text) & ",'" & Trim(Text2.Text) & "'," & Trim(Text3.Text) & "','" & Trim(Text4.Text) & "," & Text5.Text & ") "
    conn.Execute sql
    '重新显示
    Form1.Data_Show
    '提示
    MsgBox "添加成功!", vbInformation
    '清空文本框
    Text1.Text = ""
    Text2.Text = ""
    Text3.Text = ""
    Text4.Text = ""
    Text5.Text = ""
    '设置焦点
    Text1.SetFocus
    Exit Sub
error:
    MsgBox Err.Description & "Adddata", vbExclamation
End Sub数据库VBACCESS

解决方案 »

  1.   

    sql = "INSERT INTO data " & "VALUES (" & Trim(Text1.Text) & ",'" & Trim(Text2.Text) & "'," & Trim(Text3.Text) & "','" & Trim(Text4.Text) & "," & Text5.Text & ") "表的字段数量和你提供的值的数量不一样
      

  2.   

    你debug.print sql 看看到底这个字符串是什么
      

  3.   

    1,data用方括号
    2,表名后最好写上字段名
    3,," & Trim(Text3.Text) & "' 前少了单引号
    4,'" & Trim(Text4.Text) & "  后少了单引号sql = "INSERT INTO [data](字段1,字段2,字段3,字段4,字段5) VALUES(" & Trim(Text1.Text) & ",'" & Trim(Text2.Text) & "','" & Trim(Text3.Text) & "','" & Trim(Text4.Text) & "'," & Text5.Text & ") "
      

  4.   

    data 是保留关键字,用于表名时需要加上方括号。字段表是可以省略的,如果 Values 中的值所对应字段数量和顺序都与表一致的话。如果表中有自动生成序列号字段,则 Values 参数中应省略此字段。
      

  5.   

    按照1,data用方括号
     2,表名后最好写上字段名
     3,," & Trim(Text3.Text) & "' 前少了单引号
     4,'" & Trim(Text4.Text) & "  后少了单引号
     
    sql = "INSERT INTO [data](字段1,字段2,字段3,字段4,字段5) VALUES(" & Trim(Text1.Text) & ",'" & Trim(Text2.Text) & "','" & Trim(Text3.Text) & "','" & Trim(Text4.Text) & "'," & Text5.Text & ") "
     改后报错标准表达式中数据类型不匹配
      

  6.   


    Public Sub Changedata()
        On Error GoTo error
        Dim sql As String
        '连接数据库
        sql = "UPDATE [data] " & "SET 小组='" & Trim(Text2.Text) & "',项目名称='" & Text3.Text & "',项目令号='" & Text4.Text & "',项目=" & Text5.Text & " WHERE ID=" & Text1.Text & ""
        conn.Execute sql
        '重新显示
        Form1.Data_Show
        '提示
        MsgBox "修改成功!", vbInformation
        '设置焦点
        Command2.SetFocus
        Exit Sub
    error:
        MsgBox Err.Description & "Changedata", vbExclamation
    End Sub
    报和上面一样错误:总出现至少一个参数没有被指定值,按照上面说法改了还是报总出现至少一个参数没有被指定值
      

  7.   

        sql = "UPDATE [data] " & "SET 小组='" & Trim(Text2.Text) & "',项目名称='" & Text3.Text & "',项目令号='" & Text4.Text & "',项目=" & Text5.Text & " WHERE ID=" & Text1.Text & ""    Debug.Print sql得到 SQL 字符串。在 Access 的查询调试窗口中测试 SQL 字符串,看它指出是哪一个参数。一个参数没有被指定值是说,一个字段名之类的表达式无法被数据库引擎识别。
      

  8.   

    1,检查代码中的表与字段名是否正确
    2,检查控件中的数据类型是否正确
    3,sql=" UPDATE 表名 SET 字符型字段名='"& 字符型变量 &"',数值型字段名="& 数值型变量 &" where ID="& text1.text &""