如题,我明明都设置好了,adodc的recordsource也设置成了,SQL语句,但是他怎么老这样提示啊????
我的ADODC设置在form1中,然后在form2中添加了如下代码
Private Sub Form_Activate()
str = "select 系部.系部名称 from 系部"
Form1.Adodc1.RecordSource = str
Form1.Adodc1.Refresh
Set DataGrid1.DataSource = Form1.Adodc1
end sub
结果到还是正确的!!!

解决方案 »

  1.   

    用adodb对象来打开数据记录集
    dim rs as new adodb.recordset
    if rs.state<>adstateclosed then rs.close
    rs.open "select 系部.系部名称 from 系部",conn,adopenkeyset,adlockreadonly
    Set DataGrid1.DataSource =rs
    rs.close
    set rs=nothing
      

  2.   


    Private Sub Form_Activate()
    dim str1 as string
    str1 = "select 系部.系部名称 from 系部"
    Form1.Adodc1.CommandType = adCmdText
    Form1.Adodc1.RecordSource = str1
    Form1.Adodc1.Refresh
    Set DataGrid1.DataSource = Form1.Adodc1
    end sub 
      

  3.   

     sno = InputBox("请输入系部代码:")
        snn = "系部"
        str1 = "select 系部.系部名称 ,专业.专业名称 from 专业, 系部 where 系部.系部代码=专业.系部代码 and 系部.系部代码=" & "'" & sno & "'"
        'str2 = "from 专业, 系部 "
        'str3 = "where 系部.系部代码=专业.系部代码"
        'str4 = "and 系部.系部代码=" & "'" & sno & "'"
        str = str1 & str2 & str3 &str4
    我把整个SQL语句写在一个字符串的时候,只写str="select from where and ......"时没问题,但是象上面这样分开写时
    却总报错,问下不能这样分开写吗,我看书上有这么写的,照着写了遍可总是报错,什么原因啊??谢谢了!!!!
      

  4.   

    不会的,可以分开写的,只要最后生成的str字符串符合sql语句的语法就可以了。
    你再试试:    str1 = "select 系部.系部名称 ,专业.专业名称 "
        str2 = "from 专业, 系部 "
        str3 = "where 系部.系部代码=专业.系部代码 "
        str4 = "and 系部.系部代码=" & "'" & sno & "'"
        str = str1 & str2 & str3 & str4
      

  5.   

    我在 str3 = "where 系部.系部代码=专业.系部代码 " 这里多加了个空格。
      

  6.   

        '连接字符串
        Adodc1.ConnectionString = "driver={sql server};server=" + Trim(server) + ";uid=" + Trim(user) + ";pwd=" + Trim(password) + ";database=erp1"
        '查询users表中全部信息
        Adodc1.RecordSource = "select * from businessman"
        '用datagrid显示查询信息
        Set DataGrid1.DataSource = Adodc1
      

  7.   

    选中ADODC  点右边的Recordsource  在命令文本里输入“select 系部.系部名称 from 系部”