home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 May / W2KPRK.iso / apps / crystal / disk18 / Xvb367._ / Xvb367.
Text File  |  1999-08-23  |  8KB  |  313 lines

  1. VERSION 5.00
  2. Object = "{00028C01-0000-0000-0000-000000000046}#1.0#0"; "DBGRID32.OCX"
  3. Begin VB.Form frmDataGrid 
  4.    ClientHeight    =   4590
  5.    ClientLeft      =   615
  6.    ClientTop       =   795
  7.    ClientWidth     =   6960
  8.    LinkTopic       =   "Form1"
  9.    ScaleHeight     =   4590
  10.    ScaleMode       =   0  'User
  11.    ScaleWidth      =   6960
  12.    Begin VB.PictureBox picButtons 
  13.       Align           =   1  'Align Top
  14.       Appearance      =   0  'Flat
  15.       BorderStyle     =   0  'None
  16.       ForeColor       =   &H80000008&
  17.       Height          =   330
  18.       Left            =   0
  19.       ScaleHeight     =   330
  20.       ScaleWidth      =   6960
  21.       TabIndex        =   1
  22.       TabStop         =   0   'False
  23.       Top             =   0
  24.       Width           =   6960
  25.       Begin VB.CommandButton cmdReport 
  26.          Caption         =   "&Report"
  27.          Height          =   330
  28.          Left            =   4380
  29.          TabIndex        =   6
  30.          Top             =   0
  31.          Width           =   1437
  32.       End
  33.       Begin VB.CommandButton cmdClose 
  34.          Cancel          =   -1  'True
  35.          Caption         =   "&Close"
  36.          Default         =   -1  'True
  37.          Height          =   330
  38.          Left            =   5820
  39.          TabIndex        =   5
  40.          Tag             =   "&Close"
  41.          Top             =   0
  42.          Width           =   1437
  43.       End
  44.       Begin VB.CommandButton cmdFilter 
  45.          Caption         =   "&Filter"
  46.          Height          =   330
  47.          Left            =   2924
  48.          TabIndex        =   4
  49.          Tag             =   "&Filter"
  50.          Top             =   0
  51.          Width           =   1462
  52.       End
  53.       Begin VB.CommandButton cmdSort 
  54.          Caption         =   "&Sort"
  55.          Height          =   330
  56.          Left            =   1462
  57.          TabIndex        =   3
  58.          Tag             =   "&Sort"
  59.          Top             =   0
  60.          Width           =   1462
  61.       End
  62.       Begin VB.CommandButton cmdRefresh 
  63.          Caption         =   "R&efresh"
  64.          Height          =   330
  65.          Left            =   0
  66.          TabIndex        =   2
  67.          Tag             =   "&Refresh"
  68.          Top             =   0
  69.          Width           =   1462
  70.       End
  71.    End
  72.    Begin VB.Data Data1 
  73.       Caption         =   "Data1"
  74.       Connect         =   "Access"
  75.       DatabaseName    =   ""
  76.       DefaultCursorType=   0  'DefaultCursor
  77.       DefaultType     =   2  'UseODBC
  78.       Exclusive       =   0   'False
  79.       Height          =   300
  80.       Left            =   2505
  81.       Options         =   0
  82.       ReadOnly        =   0   'False
  83.       RecordsetType   =   1  'Dynaset
  84.       RecordSource    =   ""
  85.       Top             =   2175
  86.       Visible         =   0   'False
  87.       Width           =   1140
  88.    End
  89.    Begin MSDBGrid.DBGrid grdDataGrid 
  90.       Align           =   1  'Align Top
  91.       Bindings        =   "DataGrid.frx":0000
  92.       Height          =   3645
  93.       Left            =   0
  94.       OleObjectBlob   =   "DataGrid.frx":00CE
  95.       TabIndex        =   0
  96.       Top             =   330
  97.       Width           =   6960
  98.    End
  99. End
  100. Attribute VB_Name = "frmDataGrid"
  101. Attribute VB_GlobalNameSpace = False
  102. Attribute VB_Creatable = False
  103. Attribute VB_PredeclaredId = True
  104. Attribute VB_Exposed = False
  105. Option Explicit
  106.  
  107.  
  108. Dim msSortCol As String
  109. Dim mbCtrlKey As Integer
  110.  
  111. Private Sub Form_Load()
  112.     Dim bParmQry As Integer
  113.     Dim qdfTmp As QueryDef
  114.  
  115.   Center Me
  116.  
  117.     On Error GoTo LoadErr
  118.     'To Do
  119.     'gsDatabase is a global string that needs
  120.     'to be set by the startup sub for the app
  121.     Data1.DatabaseName = frmMain.gsDatabase
  122.     'gsRecordSource is a global string that needs
  123.     'to be set by the sub routine that loads this form
  124.     Data1.RecordSource = frmMain.gsRecordsource
  125.     Data1.Connect = frmMain.gsConnect
  126.     Data1.RecordsetType = 1   'dynaset
  127.     Data1.Options = 0
  128.     Data1.Refresh
  129.  
  130.  
  131.     If Len(Data1.RecordSource) > 50 Then
  132.         Me.Caption = "SQL Statement"
  133.     Else
  134.         Me.Caption = Data1.RecordSource
  135.     End If
  136.  
  137.  
  138.     Exit Sub
  139.  
  140.  
  141. LoadErr:
  142.     MsgBox "Error:" & Err & " " & Err.Description
  143.     Unload Me
  144.  
  145.  
  146. End Sub
  147.  
  148.  
  149. Private Sub cmdReport_Click()
  150.   MsgBox "Sorry, not implemented yet.  Try again later!"
  151. End Sub
  152.  
  153.  
  154. Sub cmdClose_Click()
  155.     Unload Me
  156. End Sub
  157.  
  158.  
  159. Private Sub cmdFilter_Click()
  160.     On Error GoTo FilterErr
  161.  
  162.  
  163.     Dim recRecordset1 As Recordset, recRecordset2 As Recordset
  164.     Dim sFilterStr As String
  165.  
  166.  
  167.     If Data1.RecordsetType = vbRSTypeTable Then
  168.         Beep
  169.         MsgBox "You Cannot Filter a Table Recordset!", 48
  170.         Exit Sub
  171.     End If
  172.     
  173.  
  174.     Set recRecordset1 = Data1.Recordset            'copy the recordset
  175.     
  176.  
  177.     sFilterStr = InputBox("Enter Filter Expression:")
  178.     If Len(sFilterStr) = 0 Then Exit Sub
  179.  
  180.  
  181.     Screen.MousePointer = vbHourglass
  182.     recRecordset1.Filter = sFilterStr
  183.     Set recRecordset2 = recRecordset1.OpenRecordset(recRecordset1.Type) 'establish the filter
  184.     Set Data1.Recordset = recRecordset2            'assign back to original recordset object
  185.  
  186.  
  187.     Screen.MousePointer = vbDefault
  188.     Exit Sub
  189.  
  190.  
  191. FilterErr:
  192.     Screen.MousePointer = vbDefault
  193.     MsgBox "Error:" & Err & " " & Err.Description
  194.     Exit Sub
  195.  
  196.  
  197. End Sub
  198.  
  199.  
  200. Private Sub cmdRefresh_Click()
  201.     On Error GoTo RefErr
  202.     
  203.  
  204.     Data1.Recordset.Requery
  205.     
  206.  
  207.     Exit Sub
  208.     
  209.  
  210. RefErr:
  211.     MsgBox "Error:" & Err & " " & Err.Description
  212.     Exit Sub
  213.     
  214.  
  215. End Sub
  216.  
  217.  
  218.  
  219.  
  220. Private Sub cmdSort_Click()
  221.     On Error GoTo SortErr
  222.  
  223.  
  224.     Dim recRecordset1 As Recordset, recRecordset2 As Recordset
  225.     Dim SortStr As String
  226.  
  227.  
  228.     If Data1.RecordsetType = vbRSTypeTable Then
  229.         Beep
  230.         MsgBox "You Cannot Sort a Table Recordset!", 48
  231.         Exit Sub
  232.     End If
  233.  
  234.  
  235.     Set recRecordset1 = Data1.Recordset            'copy the recordset
  236.     
  237.  
  238.     If Len(msSortCol) = 0 Then
  239.         SortStr = InputBox("Enter Sort Column:")
  240.         If Len(SortStr) = 0 Then Exit Sub
  241.     Else
  242.         SortStr = msSortCol
  243.     End If
  244.  
  245.  
  246.     Screen.MousePointer = vbHourglass
  247.     recRecordset1.Sort = SortStr
  248.     
  249.  
  250.     'establish the Sort
  251.     Set recRecordset2 = recRecordset1.OpenRecordset(recRecordset1.Type)
  252.     Set Data1.Recordset = recRecordset2
  253.     
  254.  
  255.     Screen.MousePointer = vbDefault
  256.     Exit Sub
  257.  
  258.  
  259. SortErr:
  260.     Screen.MousePointer = vbDefault
  261.     MsgBox "Error:" & Err & " " & Err.Description
  262.     Exit Sub
  263.  
  264.  
  265. End Sub
  266.  
  267.  
  268. Private Sub Form_Resize()
  269.     On Error Resume Next
  270.     If Me.WindowState <> 1 Then
  271.         grdDataGrid.Height = Me.Height - (425 + picButtons.Height)
  272.     End If
  273. End Sub
  274.  
  275.  
  276. Private Sub grdDataGrid_BeforeDelete(Cancel As Integer)
  277.     If MsgBox("Delete Current Row?", vbYesNo + vbQuestion) <> vbYes Then
  278.         Cancel = True
  279.     End If
  280. End Sub
  281.  
  282.  
  283. Private Sub grdDataGrid_BeforeUpdate(Cancel As Integer)
  284.     If MsgBox("Commit changes?", vbYesNo + vbQuestion) <> vbYes Then
  285.         Cancel = True
  286.     End If
  287. End Sub
  288.  
  289.  
  290. Private Sub grdDataGrid_HeadClick(ByVal ColIndex As Integer)
  291.     'let's sort on this column
  292.     If Data1.RecordsetType = vbRSTypeTable Then Exit Sub
  293.     
  294.  
  295.     'check for the use of the ctrl key for descending sort
  296.     If mbCtrlKey Then
  297.         msSortCol = "[" & Data1.Recordset(ColIndex).Name & "] desc"
  298.         mbCtrlKey = 0 'reset it
  299.     Else
  300.         msSortCol = "[" & Data1.Recordset(ColIndex).Name & "]"
  301.     End If
  302.     cmdSort_Click
  303.     msSortCol = vbNullString 'reset it
  304.     
  305.  
  306. End Sub
  307.  
  308.  
  309. Private Sub grdDataGrid_MouseUp(Button As Integer, Shift As Integer, x As Single, Y As Single)
  310.     mbCtrlKey = Shift
  311. End Sub
  312.  
  313.