VB通用数据表格输出程序的设计
作者 佚名
来源 VB编程
浏览
发布时间 2012-07-03
dbInteger getFmt = "@@@@@@" Case dbLong getFmt = "@@@@@@@@@@" Case dbCurrency getFmt = "@@@@@@@@@@" Case dbSingle getFmt = "@@@@@@@@@@" Case dbDouble getFmt = "@@@@@@@@@@" Case dbDate getFmt = "@@@@@@@@@@" Case dbBinary getFmt = "@@@@" Case dbText If logSize>= 40 Then 注释:限制一列最多打印40个半角字符 getFmt = "@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@" Else For i = 0 To CInt(logSize / 2) * 2 - 1 getFmt = getFmt & "@" Next注释:调整数值长度为偶数, 以适应汉字制表符 End If Case dbLongBinary getFmt = "@@@@" Case dbMemo getFmt = "@@@@@@@@@@@@@@@@" Case dbGUID getFmt = "@@@@" Case dbBigInt getFmt = "@@@@@@@@@@" Case dbVarBinary getFmt = "@@@@" Case dbChar For i = 0 To CInt(logSize / 2) * 2 - 1 getFmt = getFmt & "@" Next Case dbNumeric For i = 0 To CInt(logSize / 2) * 2 - 1 getFmt = getFmt & "@" Next Case dbDecimal For i = 0 To CInt(logSize / 2) * 2 - 1 getFmt = getFmt & "@" Next Case dbFloat getFmt = "@@@@@@@@@@" Case dbTime getFmt = "@@@@@@@@" Case dbTimeStamp getFmt = "@@@@@@@@@@" End Select End Function ---- 第二步,取结果集的内容并根据各列的格式字符串生成表格,生成的表格存放在字符串数组 strDy()中,下面用Sub Dy()例示这一步骤。 Dim strDy() As String 注释:存放格式化后的表格内容 Dim Fmt() As String 注释:存放表格各列的格式字符串 注释:以上二个数组变量的元素个数根 据结果集的行数和列数在程序中设定 Dim str,str0,str1,str2 As String 注释:临时使用的串变量 Dim i,j As Integer 注释:临时使用的整型变量 Dim intDc As Integer注释:存放表格行数, 实际上即是strDy()的元素个数 Private Sub Dy() With MyData.Recordset .MoveLast ReDim strDy(.RecordCount + 8) 注释:需存放标题、表框等,所以加8 ReDim Fmt(.Fields.Count) For i = 0 To .RecordCount + 7 strDy(i) = ""注释:初始置空 Next For i = 0 To .Fields.Count - 1 Fmt(i) = getFmt(.Fields(i).Type, .Fields(i).Size) 注释:生成表格各列的格式字符串 j = Len(.Fields(i).Name) If j> Len(Fmt(i)) Then Fmt(i) = String$(Int((j / 2) + 0.5) * 2, "@") 注释:标题 (字段名) 字多则增大列宽 End If Next str = "┃" str0 = "┏" str1 = "┠" str2 = "┗"注释:设定表格为粗框细线, 可根据需要改变 For i = 0 To .Fields.Count - 1 For j = 1 To Len(Fmt(i)) / 2 str0 = str0 & "━" str1 = str1 & "─" str2 = str2 & "━" Next If (i = .Fields.Count - 1) Then str = str & Format(.Fields(i).Name, Fmt(i)) & "┃" Else str = str & Format(.Fields(i).Name, Fmt(i)) & "│" End If If (i = .Fields.Count - 1) Then str0 = str0 & "┓" str1 = str1 & "┨" str2 = str2 & "┛" Else str0 = str0 & "┯" str1 = str1 & "┼" str2 = str2 & "┷" End If Next strDy(0) = "表格标题" 注释:通过在标题前增加空格可使标题居中 strDy(1) |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: [VB]下一篇: 在VB程序中怎样挂断拨号网络
关于VB通用数据表格输出程序的设计的所有评论