65.9K
CodeProject 正在变化。 阅读更多。
Home

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

starIconstarIconstarIconstarIconemptyStarIcon

4.00/5 (3投票s)

2002年10月15日

viewsIcon

63931

downloadIcon

918

本文介绍如何将 MFC CodeProject Grid、ATL 和 MS Access 结合使用。

Sample Image - CPGridDlg.gif

引言

本文介绍如何将 MFC CodeProject Grid、ATL 和 MS Access 结合使用。在使用 MS Access 时,经常需要显示一些中间数据,例如在处理完其他数据后显示多个错误(负面检查)以及回滚多字符串文档的事务。在 Access 中,我们需要为所有这些情况创建临时表和窗体模板。有几种方法可以避免这种缺点。我设计了一个基于 ATL、CodeProject Grid 和 MFC CDialog 类的 COM 控制。它支持以下方法:AddStrColumnWidthsShowHideClear

如何构建此控件

  1. 使用向导创建一个新的 ATL 对象(不要忘记包含对 MFC 的支持);
  2. 添加一个新的简单控件;
  3. 使用向导添加一个新的窗体(使用 CDialog 类);
  4. 将 CodeProject Grid 文件插入到项目中;
  5. 将 Grid 变量添加到对话框类中,编写 Grid 的所有必要初始化;
  6. 添加 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
© . All rights reserved.