Private Sub Command2_Click()
Datamianji.Recordset.FindFirst "供热地址 ='" & DBCombo1.Text & "'"
End SubPrivate Sub DBCombo1_Click(Area As Integer)
Datamianji.Recordset.FindFirst "供热地址 ='" & DBCombo1.Text & "'"
End Sub同样的一句,在command就可以,没有问题;在dbcombo就不可以,出现错误提示:对象不支持属性或方法。这是为什么呢?怎么解决?我原来用的data+dbgrid能运行正常,后来因为dbgrid许可证等问题,改为ado+datagrid。
原来是data1.RecordSource = "select * from 设备 where " & Combo1.Text & " like '*" & Text2.Text & "*'"能运行正常,
换成Adodc1.RecordSource = "select * from 设备 where " & Combo1.Text & " like '*" & Text2.Text & "*'"不能正常运行,检索不出来(datagrid里什么也没有,原来的dbgrid就可以)。这是为什么呢?怎么解决?

解决方案 »

  1.   

    对于ADO,是没有“Findfirst,FindLast,FindNext,FinePrevious”方法的,取而代之的是:
    Find方法和Seek方法:
    ---------------------
    Find 方法 (ADO)
             搜索 Recordset 中满足指定条件的记录。如果条件符合,则记录集位置设置在找到的记录上,否则位置将设置在记录集的末尾。语法Find (criteria, SkipRows, searchDirection, start)参数criteria   字符串,包含用于搜索的指定列名、比较操作符和值的语句。SkipRows    可选,长整型值,其默认值为零。它指定当前行或 start 书签的位移以开始搜索。searchDirection    可选的 SearchDirectionEnum 值,指定搜索应从当前行还是搜索方向上的下一个有效行开始。其值可为 adSearchForward 或 adSearchBackward。搜索停止在记录集的开始还是末尾则取决于 searchDirection 值。start    可选,变体型书签,用作搜索的开始位置。说明criteria 中的“比较操作符”可以是“>”(大于)、“<”(小于)、“=”(等于)或“like”(模式匹配)。  criteria 中的值可以是字符串、浮点数或者日期。字符串值以单引号分隔(如“state = 'WA'”)。日期值以“#”(数字记号)分隔(如“start_date > #7/22/97#”)。如“比较操作符”为“like”,则字符串“值”可以包含“*”(某字符可出现一次或多次)或者“_”(某字符只出现一次)。(如“state like M_*”与 Maine 和 Massachusetts 匹配。)
    ---------------
    Seek方法
    Sub Seek(KeyValue,[SeekOption as SeekEnum])
    对了,使用此方法一定要使用服务器端游标
    CursorLocation = adUseServer---------------------------楼主去试试。
      

  2.   

    我的第一个问题,其用的不是ado,是data,第2个是ado,呵呵,怪我没说清楚,谢谢