Public Sub PageMset(PrtTYpe As String)
Dim sSQL As String
sSQL = "select * from printset where frmname='" + PrtTYpe + "'"
Set RSprt = New Recordset
RSprt.CursorLocation = adUseClient
RSprt.Open sSQL, dfwConn, 3, 3
TempMleft = RSprt.Fields(1): TempMright = RSprt.Fields(2): TempMtop = RSprt.Fields(3): TempMbot = RSprt.Fields(4): TempprOri = RSprt.Fields(5)
TempMPaperType = RSprt.Fields(6)
RSprt.Close
Set RSprt = Nothing '释放对象所申请的空间
End Sub
Public Sub TweGridScale(vg As VSFlex7Ctl.VSFlexGrid, VSgrid As MSDataGridLib.DataGrid)
Dim j As Integer
For j = 1 To VSgrid.Columns.Count
    vg.AutoSize j
Next
For j = 0 To VSgrid.Columns.Count - 1
    VSgrid.Columns(j).Width = vg.ColWidth(j + 1)
Next
End SubPublic Sub WriteVSGrid(AdoRS As ADODB.Recordset, vg As VSFlex7Ctl.VSFlexGrid)
On Error Resume Next
vg.Cols = AdoRS.Fields.Count + 1
vg.Rows = AdoRS.RecordCount + 1
vg.Clear
Dim i As Integer, j As Integer
For j = 0 To AdoRS.Fields.Count - 1
    vg.TextMatrix(0, j + 1) = AdoRS.Fields(j).Name
Next
i = 1
Do While Not AdoRS.EOF
    For j = 0 To AdoRS.Fields.Count - 1
        vg.TextMatrix(i, j + 1) = AdoRS.Fields(j)
    Next
    i = i + 1
    AdoRS.MoveNext
Loop
'ORIGRIDScale vg
End Sub

解决方案 »

  1.   

    Public Sub PageMset(PrtTYpe As String)
    从数据库中获取页面设置打印参数,左右上下(边界?)打印方向等参数
    Public Sub TweGridScale(vg As VSFlex7Ctl.VSFlexGrid, VSgrid As SDataGridLib.DataGrid)
    设置行高度,列宽度Public Sub WriteVSGrid(AdoRS As ADODB.Recordset, vg As VSFlex7Ctl.VSFlexGrid)
    将AdoRS中的数据写入到vg中
      

  2.   

    亲,帮我看看一下代码的含义吧,谢谢
    Public Sub ReFreshSB()
        On Error Resume Next
        Dim TempSQL As String, TempDB(2) As String
        Dim DB As New AdoDB.Recordset
        Dim factory As Node, i As Integer
        Dim group As Node
        Dim person As Node
        OrgTree.Nodes.Clear
        OrgTree.LineStyle = tvwRootLines
        Set factory = OrgTree.Nodes.Add(, , "供水站点列表", "供水站点列表")
        Set DB = New Recordset
        TempSQL = "SELECT dbo.SWaterSite.Sitenum,dbo.SWaterSite.SiteName, dbo.Area.AreaID,dbo.Area.AreaName ,dbo.Client.UserAccount ,dbo.Client.UserName" _
                + " From dbo.Area INNER JOIN dbo.Client ON dbo.Area.AreaID = dbo.Client.AreaID INNER JOIN dbo.SWaterSite ON dbo.Client.SiteNum = dbo.SWaterSite.SiteNum" _
                + " Order By dbo.SWaterSite.Sitenum,dbo.Area.AreaID,dbo.Client.UserAccount"
        DB.Open TempSQL, dfwConn, 3, 3
        If Not DB.EOF Then
           Set factory = OrgTree.Nodes.Add(, , DB.Fields(0), DB.Fields(1))
           Set group = OrgTree.Nodes.Add(factory, tvwChild, DB.Fields(2), DB.Fields(3))
           'Set person = OrgTree.Nodes.Add(group, tvwChild, Trim(DB.Fields(4)), Trim(DB.Fields(5)))
           TempDB(0) = DB.Fields(0): TempDB(1) = DB.Fields(2): TempDB(2) = DB.Fields(4)
           DB.MoveNext
        End If
        Do While Not DB.EOF
           If DB.Fields(0) <> TempDB(0) Then
              Set factory = OrgTree.Nodes.Add(, , DB.Fields(0), DB.Fields(1))
              Set group = OrgTree.Nodes.Add(factory, tvwChild, DB.Fields(2), DB.Fields(3))
              'Set person = OrgTree.Nodes.Add(group, tvwChild, Trim(DB.Fields(4)), Trim(DB.Fields(5)))
           ElseIf DB.Fields(2) <> TempDB(1) Then
              Set group = OrgTree.Nodes.Add(factory, tvwChild, DB.Fields(2), DB.Fields(3))
              'Set person = OrgTree.Nodes.Add(group, tvwChild, Trim(DB.Fields(4)), Trim(DB.Fields(5)))
           Else
              'Set person = OrgTree.Nodes.Add(group, tvwChild, Trim(DB.Fields(4)), Trim(DB.Fields(5)))
           End If
            TempDB(0) = DB.Fields(0): TempDB(1) = DB.Fields(2): TempDB(2) = DB.Fields(4)
           DB.MoveNext
        Loop
        For i = 1 To OrgTree.Nodes.Count
           OrgTree.Nodes(i).Expanded = False '展开所有节点
        Next i
        OrgTree.Nodes(1).Selected = True
        DB.Close
        Set DB = Nothing
        
    End Sub