Click here to Skip to main content
15,891,943 members
Articles / Programming Languages / Visual Basic

Open Door - Reporting, Charts, Enquiry Drill-Downs

Rate me:
Please Sign up or sign in to vote.
4.37/5 (11 votes)
2 Feb 2009CPOL6 min read 39.3K   2K   59  
A utility for generating user editable reports, charts, documents, enquiries
imports vb6 = Microsoft.VisualBasic.Compatibility.VB6
imports nbfSqlReporter
Module StdCode
    Public DGB as New nbfSqlReporter.NullGridBindings
    Sub fkd(ByRef KeyCode As Short, ByRef Shift As Short)
        On Error GoTo fkderr
        If KeyCode = 13 Then
            If TypeOf VB6.GetActiveControl() Is System.Windows.Forms.ListBox Then
                'do nothing
            Else
                KeyCode = 0
            End If
        End If
        Exit Sub
fkderr:
        Exit Sub
    End Sub
    Sub fkp(ByRef KeyAscii As Short)
        On Error GoTo fkperr
        If KeyAscii = 13 Then
            If TypeOf VB6.GetActiveControl() Is System.Windows.Forms.ListBox Then
                'do nothing
            Else
                KeyAscii = 0
                System.Windows.Forms.SendKeys.Send("{TAB}")
            End If
        End If
        Exit Sub
fkperr:
        Exit Sub
    End Sub    
    Public Sub EditRepCols(SI as nbfStyleInfo.AppStyle,rp as nbfSqlSource)
    dim ced as New nbfEditRepCols
        Dim ncd As odGridControls.nbfGridColumn
        nbfBrowseHost.SetStyles(ced, SI)
        ced.cis = rp.SqlColInfos

        ced.nbfGrid1.GridCaptionVisible = False
        ced.nbfGrid1.ColHeadersVisible = True
        ced.nbfGrid1.RowHeadersVisible = False

        'dim gcs as nbfSQLReportBrowserCtrls.DataGridSQLBrowseTextBoxColumn 'DataGridTextBoxColumn
        ncd = New odGridControls.nbfGridColumn
        ncd.PropertyName = "ColName"
        ncd.ColHeader = "Column Name"
        ncd.ReadOnlyColumn = True
        ncd.DataType = odGridControls.nbfColumnDataType.nbfDataTypeString
        ncd.Width = 100
        ced.nbfGrid1.Columns.Add(ncd)
        ncd = New odGridControls.nbfGridColumn 'DataGridTextBoxColumn
        ncd.PropertyName = "ColHeader"
        ncd.ColHeader = "Header Text"
        ncd.DataType = odGridControls.nbfColumnDataType.nbfDataTypeString
        ncd.Width = 100
        ced.nbfGrid1.Columns.Add(ncd)
        ncd = New odGridControls.nbfGridColumn 'DataGridTextBoxColumn
        ncd.PropertyName = "ColWidth"
        ncd.ColHeader = "Width"
        ncd.DataType = odGridControls.nbfColumnDataType.nbfDataTypeString
        ncd.Width = 100
        ced.nbfGrid1.Columns.Add(ncd)
        ncd = New odGridControls.nbfGridColumn 'DataGridTextBoxColumn
        ncd.PropertyName = "ColJust"
        ncd.ColHeader = "Justify (L,R,C)"
        ncd.DataType = odGridControls.nbfColumnDataType.nbfDataTypeString
        ncd.Width = 100
        ced.nbfGrid1.Columns.Add(ncd)
        ncd = New odGridControls.nbfGridColumn 'DataGridTextBoxColumn
        ncd.PropertyName = "ColHeadJust"
        ncd.ColHeader = "Head Just. (L,R,C)"
        ncd.DataType = odGridControls.nbfColumnDataType.nbfDataTypeString
        ced.nbfGrid1.Columns.Add(ncd)
        ncd = New odGridControls.nbfGridColumn
        ncd.PropertyName = "RepCanGrow"
        ncd.ColHeader = "Can Grow"
        ncd.DataType = odGridControls.nbfColumnDataType.nbfDataTypeBoolean
        ced.nbfGrid1.Columns.Add(ncd)
        ncd = New odGridControls.nbfGridColumn 'DataGridBoolColumn
        ncd.PropertyName = "RepOverRun"
        ncd.ColHeader = "Can Overrun"
        ncd.DataType = odGridControls.nbfColumnDataType.nbfDataTypeBoolean
        ced.nbfGrid1.Columns.Add(ncd)
        ncd = New odGridControls.nbfGridColumn 'DataGridBoolColumn
        ncd.PropertyName = "RepDrawLineBefore"
        ncd.ColHeader = "Line Before"
        ncd.DataType = odGridControls.nbfColumnDataType.nbfDataTypeBoolean
        ced.nbfGrid1.Columns.Add(ncd)
        ncd = New odGridControls.nbfGridColumn 'DataGridBoolColumn
        ncd.PropertyName = "ColType"
        ncd.ColHeader = "Data Type"
        ncd.DataType = odGridControls.nbfColumnDataType.nbfDataTypeString
        ced.nbfGrid1.Columns.Add(ncd)
        ncd = New odGridControls.nbfGridColumn 'DataGridBoolColumn
        ncd.PropertyName = "RepSubTotals"
        ncd.ColHeader = "Sub Totals"
        ncd.DataType = odGridControls.nbfColumnDataType.nbfDataTypeBoolean
        ced.nbfGrid1.Columns.Add(ncd)
        ncd = New odGridControls.nbfGridColumn 'DataGridBoolColumn
        ncd.PropertyName = "RepTotals"
        ncd.ColHeader = "Totals"
        ncd.DataType = odGridControls.nbfColumnDataType.nbfDataTypeBoolean
        ced.nbfGrid1.Columns.Add(ncd)
        ncd = New odGridControls.nbfGridColumn 'DataGridBoolColumn
        ncd.PropertyName = "RepGrandTotals"
        ncd.ColHeader = "Grand Totals"
        ncd.DataType = odGridControls.nbfColumnDataType.nbfDataTypeBoolean
        ced.NbfGrid1.Columns.Add(ncd)

        ncd = New odGridControls.nbfGridColumn 'DataGridBoolColumn
        ncd.PropertyName = "BroughtForwardTotals"
        ncd.ColHeader = "Brought Forward Totals"
        ncd.DataType = odGridControls.nbfColumnDataType.nbfDataTypeBoolean
        ced.NbfGrid1.Columns.Add(ncd)


        ncd = New odGridControls.nbfGridColumn 'DataGridTextBoxColumn
        ncd.PropertyName = "ColFormat"
        ncd.ColHeader = "Format String"
        ncd.DataType = odGridControls.nbfColumnDataType.nbfDataTypeString
        ced.nbfGrid1.Columns.Add(ncd)
        ced.nbfGrid1.AllowEdit = True
        ced.nbfGrid1.AllowAdd = False
        ced.nbfGrid1.SourceObject = ced.cis
        ced.showdialog()
        ced.NbfGrid1.ReleaseBinding()
    End Sub
    Public Function GetSqlColumn(ByVal SI As nbfStyleInfo.AppStyle, ByVal SqlSce As nbfSqlSource) As nbfSqlColInfo
        Try
            Dim cc As nbfSqlColInfos
            cc = SqlSce.SqlColInfos
            If cc.Count = 0 Then
                msgbox("No SQL Columns available in this collection")
                Return Nothing
            End If
            Dim mn As String = cc.GetType.Name
            Dim ss As New nbfSelectSQLColumn
            nbfBrowseHost.SetStyles(ss, SI)
            ss.NbfGrid1.ColHeadersVisible = True
            ss.NbfGrid1.RowHeadersVisible = False
            ss.NbfGrid1.AllowAdd = False
            ss.NbfGrid1.AllowEdit = False
            Dim ncd As New odGridControls.nbfGridColumn
            ncd.PropertyName = "ColName"
            ncd.ColHeader = "Column"
            ncd.Width = 20
            ncd.DataType = odGridControls.nbfColumnDataType.nbfDataTypeString
            ss.NbfGrid1.Columns.Add(ncd)

            ncd = New odGridControls.nbfGridColumn
            ncd.PropertyName = "ColHeader"
            ncd.ColHeader = "Description"
            ncd.Width = 60
            ncd.DataType = odGridControls.nbfColumnDataType.nbfDataTypeString
            ss.NbfGrid1.Columns.Add(ncd)

            ss.NbfGrid1.AutoScaleColumnWidths = True
            ss.nbfGrid1.HorizontalScrollBar = False
            ss.nbfGrid1.SourceObject = cc
            ss.ShowDialog()
            If ss.abandoned Then
                ss.nbfGrid1.ReleaseBinding()
                msgbox("Selection Abandoned")
                Return Nothing
            End If
            Dim cri As Integer = ss.NbfGrid1.SelectedIndex
            ss.nbfGrid1.ReleaseBinding()
            Return cc.Item(cri)
        Catch
            Return Nothing
        End Try
    End Function
    Public Function GetSqlColumns(ByVal pvAppFrmSI As nbfStyleInfo.AppStyle, ByVal SqlSce As nbfSqlSource, ByRef hz As Boolean) As nbfSqlColInfos
        Try
            Dim cc As nbfSqlColInfos
            Dim RetCols As nbfSqlColInfos
            cc = SqlSce.SqlColInfos
            If cc.count = 0 Then
                MsgBox("No SQL Columns available in this collection")
                Return Nothing
            End If
            Dim mn As String = cc.GetType.Name
            Dim ss As New nbfSelectSQLColumnsEx
            ss.SourceCols = cc
            nbfBrowseHost.SetStyles(ss, pvAppFrmSI)
            ss.NbfGrid1.GridCaptionVisible = False
            ss.NbfGrid1.ColHeadersVisible = True
            ss.NbfGrid1.RowHeadersVisible = False
            ss.NbfGrid1.AllowAdd = False
            ss.NbfGrid1.AllowEdit = False

            Dim ncd As odGridControls.nbfGridColumn
            ncd = New odGridControls.nbfGridColumn
            ncd.PropertyName = "ColName"
            ncd.ColHeader = "Column"
            ncd.Width = 200
            ncd.DataType = odGridControls.nbfColumnDataType.nbfDataTypeString
            ss.nbfGrid1.Columns.Add(ncd)

            ncd = New odGridControls.nbfGridColumn
            ncd.PropertyName = "ColHeader"
            ncd.ColHeader = "Description"
            ncd.Width = 600
            ncd.DataType = odGridControls.nbfColumnDataType.nbfDataTypeString
            ss.nbfGrid1.Columns.Add(ncd)
            ss.nbfGrid1.AllowEdit = False
            ss.nbfGrid1.AllowAdd = False
            ss.NbfGrid1.AutoScaleColumnWidths = True
            ss.nbfGrid1.HorizontalScrollBar = False
            ss.NbfGrid1.SourceObject = ss.SourceCols
            ss.ShowDialog()
            If ss.abandoned Then
                ss.NbfGrid1.ReleaseBinding()
                ss.NbfGrid2.ReleaseBinding()
                MsgBox("Selection Abandoned")
                Return Nothing
            End If
            If ss.SelCols.count = 0 Then
                ss.SelCols.Add(ss.SourceCols.Item(ss.NbfGrid1.SelectedIndex))
            End If
            If ss.CheckBox1.Checked Then
                hz = True
            Else
                hz = False
            End If
            ss.NbfGrid1.ReleaseBinding()
            ss.NbfGrid2.ReleaseBinding()
            Return ss.SelCols
        Catch
            Return Nothing
        End Try
    End Function
    Public Function DefColour(ByVal sno As Integer) As System.Drawing.Color
        Select Case sno
            Case 1
                Return System.Drawing.Color.Red
            Case 2
                Return System.Drawing.Color.Blue
            Case 3
                Return System.Drawing.Color.Green
            Case 4
                Return System.Drawing.Color.Brown
            Case 5
                Return System.Drawing.Color.CornflowerBlue
            Case 6
                Return System.Drawing.Color.DarkGreen
            Case 7
                Return System.Drawing.Color.Crimson
            Case 8
                Return System.Drawing.Color.Cyan
            Case 9
                Return System.Drawing.Color.Honeydew
            Case 10
                Return System.Drawing.Color.Fuchsia
            Case Else
                Dim rc As Integer
                rc = sno Mod 10
                Return DefColour(rc)
        End Select
    End Function
End Module

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
United Kingdom United Kingdom
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions