vb6中用sql语句查询绑定datagrid不显示,debug数据集中有数据,就是不显示,找了好长时间,不得其解,求高手
Private Sub cmdSearch_Click()On Error GoTo ErrHandler
'Dim i As Integer, rowIdx As Integer ' 循环变量
Dim startDate As String, endDate As String
Dim sql As String
' ========== 新增:根据勾选状态选择查询模式 ==========
If chkUseTime.Value = vbChecked Then
' 模式1:按精准时间查询(CreateTime字段)
startDate = Format(dtpStart.Value, "yyyy-mm-dd")
endDate = Format(dtpEnd.Value, "yyyy-mm-dd")
sql = "SELECT " & _
"RecordDate AS 日期, " & _
"UploadCount AS 实际上传次数, " & _
"ShouldUpload AS 应上传次数, " & _
"Recorder AS 记录人, " & _
"UploadDate AS 上传时间, " & _
"Format(CreateTime, 'yyyy-mm-dd HH:MM:ss') AS 记录创建时间 " & _
"FROM " & currentDeviceTable & _
" WHERE UploadDate BETWEEN #" & startDate & "# AND #" & endDate & "# " & _
"ORDER BY UploadDate DESC"
End If
' 执行查询
rs.Open sql, conn, adOpenKeyset, adLockOptimistic
' 绑定到DataGrid
Set dgRecord.DataSource = rs
'Debug.Print "DataGrid可见性:" & dgRecord.Visible ' 应显示True
'Debug.Print "DataGrid启用状态:" & dgRecord.Enabled ' 应显示True
'Debug.Print "DataGrid列数:" & dgRecord.Columns.Count ' 有数据时应显示6(与查询字段数一致)
With dgRecord
If Not (rs.EOF And rs.BOF) Then
.Columns(0).Caption = "日期"
.Columns(1).Caption = "实际上传次数"
.Columns(2).Caption = "应上传次数"
.Columns(3).Caption = "记录人"
.Columns(4).Caption = "上传时间"
.Columns(5).Caption = "记录创建时间"
' 调整列宽
.Columns(0).Width = 1800
.Columns(1).Width = 1200
.Columns(2).Width = 1200
.Columns(3).Width = 1200
.Columns(4).Width = 1800
.Columns(5).Width = 2800
End If
End With
dgRecord.Refresh







