Dim ConnStr As String, SQL As String
    ConnStr = "Provider=Microsoft.Jet.OLEDB.3.51;" & "Persist Security Info=False;" & "Data Source=E:\学生档案库.mdb"
    conn.Open ConnStr
    rs.CursorLocation = adUseClient
    SQL = "Select AVG(年龄) as 平均年龄 From 学生基本情况表"
    rs.Open SQL, conn, adOpenKeyset, adLockPessimistic /*******Error***/
    Debug.Print rs("平均年龄")
为什么这样打不开?
实时错误:数据库引擎含有一个无效的数据类型字段,导致不能执行SQL语句!
但是 SQL = "Select * From 学生基本情况表"可以执行SQL???

解决方案 »

  1.   

    我把它的类型改称 Integer,出现 至少一个参数没被指定值!
      

  2.   

    估計你的"年龄"字段含有NULL值
      

  3.   

    不好意思,是的。
    怎样将它与DataGrid控件相连接呢?
    我只知道若采用ADODC控件,只要:Set DataGrid1.DataSource = Adodc1就可以了,
    但是我是引用ADO的呀,不是控件,正如上面一样。
      

  4.   

    只要Set DataGrid1.DataSource = rs就可以了
      

  5.   

    SELECT AVG([年龄]) FROM [表] WHERE NOT [年龄] IS NULL
      

  6.   


    "只要Set DataGrid1.DataSource = rs就可以了"
    这样连接不上!!!!
      

  7.   

    若采用:
    rs.Open "TestTable", conn, adOpenKeyset, adLockPessimistic
    Set DataGrid2.DataSource = rs

    rs.Open SQL, conn, adOpenKeyset, adLockPessimistic
    Set DataGrid2.DataSource = rs
    都可以,
    但是:
    Set rs = conn.Execute(SQL)
    Set DataGrid2.DataSource = rs
    这样时,就出现行集合不能作为标签。
      

  8.   

    Set DataGrid1.DataSource = rs.DataSource
      

  9.   

    Set DataGrid1.DataSource = rs