**嗨,我在 MSHFlexGrid 中从 SQL 加载数据时遇到问题。这是我的代码:
Option Explicit
Dim rs As Recordset
Private Sub btnEmpieza_Click()
rs.Open "SELECT CorridaVigenciaEncabezado.CVE_Titulo, CorridaVigenciaEncabezado.CVE_Mail " _
& "FROM CorridaVigenciaEncabezado INNER JOIN Usuarios " _
& "ON CorridaVigenciaEncabezado.USU_IdSolicitado = Usuarios.Codigo " _
& "INNER JOIN Solicitud on CorridaVigenciaEncabezado.CVE_Titulo = Solicitud.ANTITSOL " _
& "WHERE Solicitud.ANDNICLI =19002108 ", Cn, adOpenKeyset, adLockReadOnly
Grilla
rs.Close
End Sub
Private Sub Form_Load()
Set rs = New Recordset
rs.CursorLocation = adUseServer
End Sub
Private Sub Estructura()
GrillaDatos.Cols = 2
GrillaDatos.TextMatrix(0, 1) = "Título"
GrillaDatos.TextMatrix(0, 2) = "Mail"
GrillaDatos.ColWidth(0) = 1000
GrillaDatos.ColWidth(1) = 1000
GrillaDatos.ColAlignment(0) = 4
GrillaDatos.ColAlignment(1) = 4
End Sub
Private Sub Grilla()
Dim i As Integer
GrillaDatos.Clear
Estructura
GrillaDatos.Rows = rs.RecordCount + 1
i = 1
rs.MoveFirst
Do While rs.EOF = False
i = i + 1
GrillaDatos.TextMatrix(i, 0) = rs!CVE_Titulo
GrillaDatos.TextMatrix(i, 1) = rs!CVE_Mail
rs.MoveNext
i = i + 1
Loop
rs.Close
End Sub
但是当我按下按钮时,它显示下一个错误:
runtime error Run time error'-2147217887(80040e21) odbc driver doesnt support requested properties.
在这一行:
rs.Open "SELECT CorridaVigenciaEncabezado.CVE_Titulo, CorridaVigenciaEncabezado.CVE_Mail " _
& "FROM CorridaVigenciaEncabezado INNER JOIN Usuarios " _
& "ON CorridaVigenciaEncabezado.USU_IdSolicitado = Usuarios.Codigo " _
& "INNER JOIN Solicitud on CorridaVigenciaEncabezado.CVE_Titulo = Solicitud.ANTITSOL " _
& "WHERE Solicitud.ANDNICLI =19002108 ", Cn, adOpenKeyset, adLockReadOnly
那么,谁能告诉我我的代码有什么问题?因为我不明白出了什么问题。我已经读过这个问题,但我不知道该怎么做
答案 0 :(得分:1)
以防万一 ODBC 驱动程序不支持 CursorType,请尝试更改 Recordset 对象的 Open
方法中的 CursorType。
您可以尝试使用 adOpenStatic
或 adOpenUnspecified
。
..., Cn, adOpenStatic, adLockReadOnly