s = "provider=Microsoft.Jet.OLEDB.4.0;Data source =" + Form1.Text1.Text + " ;Persist Security Info=False;Jet OLEDB:Database Password=" + "password"
  con.ConnectionString = s
con.Open
Set rst2 = New ADODB.Recordset
sql = "select * from Out_Apl"
    rst2.Open sql, con2, 1, 3
    
请问我可以不用列名用数字rst2!(1)但一直报错??rst2!aa
因为我想用for循环(列名太多50多个)

解决方案 »

  1.   

    用 rst2.Fields (ii) 可以的
      

  2.   

    rst2.fields(2) ' 用这个试试
      

  3.   

    rst2.fields(i)
    rst2!aa
    rst2("aa")
    這三種表達式都可以。但是你用rst2!(1)就不行
      

  4.   

    可以,下面是 MSDN 提供的例子: For intloop = 0 To rstEmployees.Fields.Count - 1
    Debug.Print " " & rstEmployees.Fields(intloop).Name
    Next intloop
      

  5.   

    "也是不行 实数错误3265再对象中未找到项目"错误好像在这就有
    "rst2.Open sql, con2, 1, 3"看看 rst2.fields.count不会是 0 吧.一般象  libingao(Alex) 、ljc_zy(彷徨)、 hdhai9451(※★AC米兰☆※) 、of123() 说的都可以的。
      

  6.   

    再有,你贴的代码中 con.Open
    但是 rst2.Open sql, con2, 1, 3 时却是 "con2"
    不知什么原因.
      

  7.   

    //引用
    For intloop = 0 To rstEmployees.Fields.Count - 1
    Debug.Print " " & rstEmployees.Fields(intloop).Name
    Next intloop
    是没问题的,可能楼上的说得没错,con改变了,不是你上面定义的!