如何使用 CodeProject Grid 在 MS Access 中查看多个中间结果





4.00/5 (3投票s)
2002年10月15日

63931

918
本文介绍如何将 MFC CodeProject Grid、ATL 和 MS Access 结合使用。
引言
本文介绍如何将 MFC CodeProject Grid、ATL 和 MS Access 结合使用。在使用 MS Access 时,经常需要显示一些中间数据,例如在处理完其他数据后显示多个错误(负面检查)以及回滚多字符串文档的事务。在 Access 中,我们需要为所有这些情况创建临时表和窗体模板。有几种方法可以避免这种缺点。我设计了一个基于 ATL、CodeProject Grid 和 MFC CDialog
类的 COM 控制。它支持以下方法:AddStr
、ColumnWidths
、Show
、Hide
和 Clear
。
如何构建此控件
- 使用向导创建一个新的 ATL 对象(不要忘记包含对 MFC 的支持);
- 添加一个新的简单控件;
- 使用向导添加一个新的窗体(使用
CDialog
类); - 将 CodeProject Grid 文件插入到项目中;
- 将 Grid 变量添加到对话框类中,编写 Grid 的所有必要初始化;
- 添加 COM 方法以及相应的对话框类方法;
在 MS Access 中使用 CPGridView 的示例
Option Compare Database
Option Explicit
Dim d As CPGridDlg
Function f()
Set d = New CPGridDlg
d.addStr "qwert", 1, 0
d.addStr "12345" & Chr(9) & "67890", 0, 0
d.addStr "qwert", 18, 0
d.addStr "12345" & Chr(9) & "67890" & Chr(9) & "Some string", 0, 0
Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("SELECT TOP " + _
"10000 * FROM stocks_opt_rpt_buf02")
'Hemi stress testing
'It takes only 5 seconds to fill 10 000 records into grid - good grid!
d.ColumnWidths "60" & Chr(9) & "60" & Chr(9) & "200" & Chr(9) & "200"
Do While Not rs.EOF
d.addStr rs!Item & Chr(9) & rs!item & Chr(9) _
& rs!qty & Chr(9) & rs!TotalSales, 0, 0
rs.MoveNext
Loop
d.Show
End Function