我用VB6开发一个数据库系统。其中一个窗体用了两个ADO DATA控件,一个DATACOMBO控件,一个DATAGRID控件。在执行DataCombo1_Change()事件中DataGrid.Refresh语句时系统报错:标准表达式中数据类型不匹配   对象'Refresh'的方法'IAdodc'失败。请问这是怎么回事。产生错误的原因是否是因为我多ADO不熟。
相关程序段如下:
Private Sub dbcCourseSelection_Change()                    
  Dim strSQL As String                                     '查询语句,用于更新dgdCourse中显示的数据
    On Error GoTo dbcChangeErr
      strSQL = "select * from Course where CourseID= " & dbcCourseSelection.BoundText
      With adoCourse
          .RecordSource = strSQL                      
          .Refresh
      End With
      With dgdCourse
          .ClearFields
          .ReBind
      End With
      Exit SubdbcChangeErr:
    MsgBox Err.Description
End Sub
补充说明:
    adoCourse      ADO DATA
    dgdCourse      DATAGRID
    dbcCourseSelection     DATACOMBO

解决方案 »

  1.   

    CourseID是什么类型的?char?
    你自己检查一下吧
      

  2.   

    CourseID:文本类型
    另外请问DataCombo的DataField属性有什么用途(请举个例子说明)
      

  3.   

    换个提法:
    我用VB6与ACCESS做一个小程序(根据一张表中的某个字段的某个值查找另一张
    表中对应的记录——用DATACOMBO——,并用DATAGRID返回该记录的信息)。请
    问应该怎么实现。(请给出实际的例子)
      

  4.   

    CourseID:文本类型 那就要加上单引号啊' '
      

  5.   

    strSQL = "select * from Course where CourseID=' " & dbcCourseSelection.BoundText & "'"