' 主函数,用于连接数据库、检索数据并显示在MSHFlexGrid中
Sub DisplayDataInFlexGrid()
' 局部变量声明
Dim conn, rs, sql, grid, i, j, field
' 创建数据库连接对象
Set conn = CreateObject("ADODB.Connection")
' 打开数据库连接(使用DSN,请替换为您的DSN名称)
conn.Open "DSN=work;"
' 获取MSHFlexGrid控件的引用(假设控件名称为“MyFlexGrid”)
Set grid = ScreenItems("FlexGrid")
' 清除MSHFlexGrid中的现有数据
grid.Clear
' 设置MSHFlexGrid的初始行列数(可以根据需要调整)
grid.Rows = 1
grid.Cols = 1 ' 初始列数设为1,之后会根据实际字段数动态调整
' 构建SQL查询语句(请替换为您的表名)
sql = "SELECT * FROM Table_1"
' 执行SQL查询并获取记录集
Set rs = CreateObject("ADODB.Recordset")
rs.Open sql, conn
' 检查记录集是否为空
If Not rs.EOF Then
i = 0 ' 行索引初始化
' 遍历记录集
Do Until rs.EOF
j = 0 ' 列索引初始化
' 遍历记录集中的每个字段
For Each field In rs.Fields
' 确保MSHFlexGrid有足够的列来显示所有字段
If grid.Cols < j + 1 Then grid.Cols = j + 1
' 将字段值填充到MSHFlexGrid中
grid.Text(i, j) = field.Value
j = j + 1
Next
' 移动到下一条记录,并增加行索引
rs.MoveNext
i = i + 1
grid.Rows = i + 1 ' 更新MSHFlexGrid的行数
Loop
Else
' 如果记录集为空,在MSHFlexGrid中显示“无数据”
grid.TextMatrix(0, 0) = "无数据"
End If
' 关闭记录集和数据库连接
rs.Close
Set rs = Nothing
conn.Close
Set conn = Nothing
End Sub