frmDetail.frm
上传用户:djzm888
上传日期:2013-02-15
资源大小:867k
文件大小:22k
源码类别:

其他数据库

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Begin VB.Form frmDetail 
  3.    BorderStyle     =   3  'Fixed Dialog
  4.    Caption         =   "具体排班"
  5.    ClientHeight    =   6150
  6.    ClientLeft      =   45
  7.    ClientTop       =   330
  8.    ClientWidth     =   10440
  9.    BeginProperty Font 
  10.       Name            =   "宋体"
  11.       Size            =   12
  12.       Charset         =   134
  13.       Weight          =   400
  14.       Underline       =   0   'False
  15.       Italic          =   0   'False
  16.       Strikethrough   =   0   'False
  17.    EndProperty
  18.    Icon            =   "frmDetail.frx":0000
  19.    LinkTopic       =   "Form1"
  20.    LockControls    =   -1  'True
  21.    MaxButton       =   0   'False
  22.    MinButton       =   0   'False
  23.    ScaleHeight     =   6150
  24.    ScaleWidth      =   10440
  25.    ShowInTaskbar   =   0   'False
  26.    StartUpPosition =   1  '所有者中心
  27.    Begin VB.Frame fraCmd 
  28.       Appearance      =   0  'Flat
  29.       BackColor       =   &H00C0C0C0&
  30.       BorderStyle     =   0  'None
  31.       BeginProperty Font 
  32.          Name            =   "宋体"
  33.          Size            =   10.5
  34.          Charset         =   134
  35.          Weight          =   400
  36.          Underline       =   0   'False
  37.          Italic          =   0   'False
  38.          Strikethrough   =   0   'False
  39.       EndProperty
  40.       ForeColor       =   &H80000008&
  41.       Height          =   600
  42.       Left            =   4440
  43.       TabIndex        =   13
  44.       Top             =   5400
  45.       Width           =   3000
  46.       Begin VB.CommandButton cmdPlan 
  47.          Caption         =   "保存(&S)"
  48.          BeginProperty Font 
  49.             Name            =   "宋体"
  50.             Size            =   10.5
  51.             Charset         =   134
  52.             Weight          =   400
  53.             Underline       =   0   'False
  54.             Italic          =   0   'False
  55.             Strikethrough   =   0   'False
  56.          EndProperty
  57.          Height          =   525
  58.          Index           =   0
  59.          Left            =   0
  60.          TabIndex        =   15
  61.          Top             =   0
  62.          Width           =   1275
  63.       End
  64.       Begin VB.CommandButton cmdPlan 
  65.          Caption         =   "返回(&R)"
  66.          BeginProperty Font 
  67.             Name            =   "宋体"
  68.             Size            =   10.5
  69.             Charset         =   134
  70.             Weight          =   400
  71.             Underline       =   0   'False
  72.             Italic          =   0   'False
  73.             Strikethrough   =   0   'False
  74.          EndProperty
  75.          Height          =   525
  76.          Index           =   1
  77.          Left            =   1688
  78.          TabIndex        =   14
  79.          Top             =   0
  80.          Width           =   1275
  81.       End
  82.    End
  83.    Begin VB.Frame fraPlan 
  84.       Caption         =   "排班表"
  85.       BeginProperty Font 
  86.          Name            =   "宋体"
  87.          Size            =   9
  88.          Charset         =   134
  89.          Weight          =   400
  90.          Underline       =   0   'False
  91.          Italic          =   0   'False
  92.          Strikethrough   =   0   'False
  93.       EndProperty
  94.       Height          =   4185
  95.       Left            =   315
  96.       TabIndex        =   3
  97.       Top             =   830
  98.       Width           =   5490
  99.       Begin VB.Image imgTemp 
  100.          Height          =   630
  101.          Left            =   1935
  102.          Top             =   4035
  103.          Visible         =   0   'False
  104.          Width           =   720
  105.       End
  106.       Begin VB.Label lblWeek 
  107.          AutoSize        =   -1  'True
  108.          BackColor       =   &H00C0C0C0&
  109.          BackStyle       =   0  'Transparent
  110.          Caption         =   "日"
  111.          BeginProperty Font 
  112.             Name            =   "宋体"
  113.             Size            =   12
  114.             Charset         =   134
  115.             Weight          =   700
  116.             Underline       =   0   'False
  117.             Italic          =   0   'False
  118.             Strikethrough   =   0   'False
  119.          EndProperty
  120.          ForeColor       =   &H00808000&
  121.          Height          =   240
  122.          Index           =   0
  123.          Left            =   300
  124.          TabIndex        =   12
  125.          Top             =   1425
  126.          Width           =   270
  127.       End
  128.       Begin VB.Label lblWeek 
  129.          AutoSize        =   -1  'True
  130.          BackColor       =   &H00C0C0C0&
  131.          BackStyle       =   0  'Transparent
  132.          Caption         =   "一"
  133.          BeginProperty Font 
  134.             Name            =   "宋体"
  135.             Size            =   12
  136.             Charset         =   134
  137.             Weight          =   700
  138.             Underline       =   0   'False
  139.             Italic          =   0   'False
  140.             Strikethrough   =   0   'False
  141.          EndProperty
  142.          ForeColor       =   &H00808000&
  143.          Height          =   240
  144.          Index           =   1
  145.          Left            =   1050
  146.          TabIndex        =   11
  147.          Top             =   1425
  148.          Width           =   270
  149.       End
  150.       Begin VB.Label lblWeek 
  151.          AutoSize        =   -1  'True
  152.          BackColor       =   &H00C0C0C0&
  153.          BackStyle       =   0  'Transparent
  154.          Caption         =   "二"
  155.          BeginProperty Font 
  156.             Name            =   "宋体"
  157.             Size            =   12
  158.             Charset         =   134
  159.             Weight          =   700
  160.             Underline       =   0   'False
  161.             Italic          =   0   'False
  162.             Strikethrough   =   0   'False
  163.          EndProperty
  164.          ForeColor       =   &H00808000&
  165.          Height          =   240
  166.          Index           =   2
  167.          Left            =   1800
  168.          TabIndex        =   10
  169.          Top             =   1425
  170.          Width           =   270
  171.       End
  172.       Begin VB.Label lblWeek 
  173.          AutoSize        =   -1  'True
  174.          BackColor       =   &H00C0C0C0&
  175.          BackStyle       =   0  'Transparent
  176.          Caption         =   "三"
  177.          BeginProperty Font 
  178.             Name            =   "宋体"
  179.             Size            =   12
  180.             Charset         =   134
  181.             Weight          =   700
  182.             Underline       =   0   'False
  183.             Italic          =   0   'False
  184.             Strikethrough   =   0   'False
  185.          EndProperty
  186.          ForeColor       =   &H00808000&
  187.          Height          =   240
  188.          Index           =   3
  189.          Left            =   2550
  190.          TabIndex        =   9
  191.          Top             =   1425
  192.          Width           =   270
  193.       End
  194.       Begin VB.Label lblWeek 
  195.          AutoSize        =   -1  'True
  196.          BackColor       =   &H00C0C0C0&
  197.          BackStyle       =   0  'Transparent
  198.          Caption         =   "四"
  199.          BeginProperty Font 
  200.             Name            =   "宋体"
  201.             Size            =   12
  202.             Charset         =   134
  203.             Weight          =   700
  204.             Underline       =   0   'False
  205.             Italic          =   0   'False
  206.             Strikethrough   =   0   'False
  207.          EndProperty
  208.          ForeColor       =   &H00808000&
  209.          Height          =   240
  210.          Index           =   4
  211.          Left            =   3300
  212.          TabIndex        =   8
  213.          Top             =   1425
  214.          Width           =   270
  215.       End
  216.       Begin VB.Label lblWeek 
  217.          AutoSize        =   -1  'True
  218.          BackColor       =   &H00C0C0C0&
  219.          BackStyle       =   0  'Transparent
  220.          Caption         =   "五"
  221.          BeginProperty Font 
  222.             Name            =   "宋体"
  223.             Size            =   12
  224.             Charset         =   134
  225.             Weight          =   700
  226.             Underline       =   0   'False
  227.             Italic          =   0   'False
  228.             Strikethrough   =   0   'False
  229.          EndProperty
  230.          ForeColor       =   &H00808000&
  231.          Height          =   240
  232.          Index           =   5
  233.          Left            =   4050
  234.          TabIndex        =   7
  235.          Top             =   1425
  236.          Width           =   270
  237.       End
  238.       Begin VB.Label lblWeek 
  239.          AutoSize        =   -1  'True
  240.          BackColor       =   &H00C0C0C0&
  241.          BackStyle       =   0  'Transparent
  242.          Caption         =   "六"
  243.          BeginProperty Font 
  244.             Name            =   "宋体"
  245.             Size            =   12
  246.             Charset         =   134
  247.             Weight          =   700
  248.             Underline       =   0   'False
  249.             Italic          =   0   'False
  250.             Strikethrough   =   0   'False
  251.          EndProperty
  252.          ForeColor       =   &H00808000&
  253.          Height          =   240
  254.          Index           =   6
  255.          Left            =   4800
  256.          TabIndex        =   6
  257.          Top             =   1425
  258.          Width           =   270
  259.       End
  260.       Begin VB.Label lblShift 
  261.          AutoSize        =   -1  'True
  262.          BackStyle       =   0  'Transparent
  263.          Caption         =   "*"
  264.          ForeColor       =   &H00FF0000&
  265.          Height          =   240
  266.          Index           =   0
  267.          Left            =   345
  268.          TabIndex        =   5
  269.          Top             =   615
  270.          Width           =   120
  271.       End
  272.       Begin VB.Label lblDay 
  273.          AutoSize        =   -1  'True
  274.          BackStyle       =   0  'Transparent
  275.          Caption         =   "1"
  276.          BeginProperty Font 
  277.             Name            =   "宋体"
  278.             Size            =   10.5
  279.             Charset         =   134
  280.             Weight          =   700
  281.             Underline       =   0   'False
  282.             Italic          =   0   'False
  283.             Strikethrough   =   0   'False
  284.          EndProperty
  285.          ForeColor       =   &H000000C0&
  286.          Height          =   210
  287.          Index           =   0
  288.          Left            =   345
  289.          TabIndex        =   4
  290.          Top             =   360
  291.          Width           =   135
  292.       End
  293.       Begin VB.Image imgPlan 
  294.          Height          =   660
  295.          Index           =   0
  296.          Left            =   75
  297.          Picture         =   "frmDetail.frx":000C
  298.          Top             =   225
  299.          Visible         =   0   'False
  300.          Width           =   705
  301.       End
  302.    End
  303.    Begin VB.Frame fraShift 
  304.       Caption         =   "请选择班次"
  305.       BeginProperty Font 
  306.          Name            =   "宋体"
  307.          Size            =   9
  308.          Charset         =   134
  309.          Weight          =   400
  310.          Underline       =   0   'False
  311.          Italic          =   0   'False
  312.          Strikethrough   =   0   'False
  313.       EndProperty
  314.       Height          =   4320
  315.       Left            =   6435
  316.       TabIndex        =   1
  317.       Top             =   830
  318.       Width           =   3705
  319.       Begin VB.OptionButton optShift 
  320.          BackColor       =   &H00C0C0C0&
  321.          Caption         =   "J"
  322.          BeginProperty Font 
  323.             Name            =   "宋体"
  324.             Size            =   10.5
  325.             Charset         =   134
  326.             Weight          =   400
  327.             Underline       =   0   'False
  328.             Italic          =   0   'False
  329.             Strikethrough   =   0   'False
  330.          EndProperty
  331.          Height          =   450
  332.          Index           =   0
  333.          Left            =   240
  334.          Style           =   1  'Graphical
  335.          TabIndex        =   2
  336.          Top             =   330
  337.          Width           =   500
  338.       End
  339.    End
  340.    Begin VB.Image imgNotSel 
  341.       Height          =   660
  342.       Left            =   3060
  343.       Picture         =   "frmDetail.frx":044E
  344.       Top             =   6120
  345.       Visible         =   0   'False
  346.       Width           =   705
  347.    End
  348.    Begin VB.Image imgSel 
  349.       Height          =   660
  350.       Left            =   3930
  351.       Picture         =   "frmDetail.frx":0890
  352.       Top             =   6105
  353.       Visible         =   0   'False
  354.       Width           =   705
  355.    End
  356.    Begin VB.Label lblTitle 
  357.       AutoSize        =   -1  'True
  358.       BackColor       =   &H00C0C0C0&
  359.       Caption         =   "2000年5月排班情况"
  360.       ForeColor       =   &H000040C0&
  361.       Height          =   240
  362.       Left            =   3840
  363.       TabIndex        =   0
  364.       Top             =   210
  365.       Width           =   2040
  366.    End
  367. End
  368. Attribute VB_Name = "frmDetail"
  369. Attribute VB_GlobalNameSpace = False
  370. Attribute VB_Creatable = False
  371. Attribute VB_PredeclaredId = True
  372. Attribute VB_Exposed = False
  373. Option Explicit
  374. Public mTitle As String
  375. Public mWorkNo As String
  376. Public mDeptID As String
  377. Public mNeedToRefresh As Boolean
  378. Public mIsToLook As Boolean
  379. Dim mPicNotSel As Picture
  380. Dim mPicSel As Picture
  381. Dim mPicHeight As Integer
  382. Dim mPicWidth As Integer
  383. Const PICSPACE = 45
  384. Const SHIFTPICSPACE = 340 'TOP
  385. Const DAYPICSPACE = 40 'TOP
  386. Const WEEKPICSPACE = 420
  387. Const INILEFT = 135 '450
  388. Const INITOP = 690 '1515
  389. Const COLCOUNT = 7
  390. '*******fraPlan
  391. Const FRATOP = 830
  392. Const FRALEFT = 315
  393. Const FRAWIDTH = 5490
  394. Const FRASPACE = 120
  395. '******optPlan
  396. Const OPTPLANLEFT = 240
  397. Const OPTPLANTOP = 350
  398. Const OPTPLANWIDTH = 500
  399. Const OPTPLANHEIGHT = 450
  400. Const FRASHIFTWIDTH = 3700
  401. Const ShiftCount = 6
  402. Const FRASHIFTPLANSPACE = 630
  403. Const STRPLAN = "排班表"
  404. Const STRYEAR = "年"
  405. Const STRMONTH = "月"
  406. Const STRPLANDETAIL = "具体排班"
  407. Const STRPLANLOOK = "查看排班"
  408. Const FRACMDSPACE = 400
  409. Const mMsg1 = "抱歉,排班保存未成功!"
  410. Const mMsg2 = "恭喜,排班保存成功!"
  411. Private Sub SetPic()
  412.     Set mPicNotSel = imgNotSel.Picture
  413.     Set mPicSel = imgSel.Picture
  414.     mPicHeight = imgNotSel.Height
  415.     mPicWidth = imgNotSel.Width
  416.     Dim I As Integer
  417.     For I = 0 To lblWeek.Count - 1
  418.         With lblWeek(I)
  419.             .Left = INILEFT + (mPicWidth + PICSPACE) * I _
  420.                 + (mPicWidth - Me.TextWidth(.Caption)) / 2
  421.             .Top = INITOP - WEEKPICSPACE
  422.         End With
  423.     Next
  424. End Sub
  425. Private Sub cmdPlan_Click(Index As Integer)
  426.     Select Case Index
  427.         Case 0
  428.             If SaveData Then
  429.                 mNeedToRefresh = True
  430.                 Me.Hide
  431.             End If
  432.         Case 1
  433.             mNeedToRefresh = False
  434.             Me.Hide
  435.     End Select
  436. End Sub
  437. Private Function SaveData() As Boolean
  438.     Dim EmpRst As Recordset
  439.     Dim DeptID As Integer
  440.     Dim Sql As String
  441.     Dim strWorkNo As String
  442.     Dim IsTrans As Boolean
  443.     On Error GoTo SaveErr
  444.     BeginTrans
  445.     IsTrans = True
  446.     If Trim(mDeptID) <> Empty Then
  447.         DeptID = CInt(Val(mDeptID))
  448.         Sql = "select WorkNo from Employee where DeptID=" & DeptID
  449.         Set EmpRst = gDataBase.OpenRecordset(Sql, dbOpenSnapshot)
  450.         While Not EmpRst.EOF
  451.             strWorkNo = Trim(EmpRst!WorkNo)
  452.             If Not SaveDataToDatabase(strWorkNo) Then GoTo SaveErr
  453.             EmpRst.MoveNext
  454.         Wend
  455.         EmpRst.Close
  456.         Set EmpRst = Nothing
  457.     Else
  458.         If Trim(mWorkNo) <> Empty Then
  459.             strWorkNo = Trim(mWorkNo)
  460.             If Not SaveDataToDatabase(strWorkNo) Then GoTo SaveErr
  461.         End If
  462.     End If
  463.     CommitTrans
  464.     IsTrans = False
  465.     SaveData = True
  466.     
  467.     MsgBox mMsg2, vbInformation, gTitle
  468.     Exit Function
  469. SaveErr:
  470.     If IsTrans Then Rollback
  471.     MsgBox mMsg1 & vbCrLf & Err.Description, vbCritical, gTitle
  472.     Err.Clear
  473.     SaveData = False
  474. End Function
  475. Private Function SaveDataToDatabase(strWorkNo As String) As Boolean
  476.     Dim Sql As String
  477.     Dim I As Integer
  478.     Dim IntShift As Integer
  479.     Dim intDay As Integer
  480.     On Error GoTo SaveDataErr
  481.     For I = 0 To lblDay.Count - 1
  482.         intDay = CInt(Val(lblDay(I)))
  483.         IntShift = CInt(Val(lblShift(I).Tag))
  484.         Sql = "Update " & gPlanTableName & " set F_Shift=" & IntShift _
  485.             & " where WorkNo='" & strWorkNo & "' and F_Day=" & intDay
  486.         gDataBase.Execute Sql
  487.     Next
  488.     SaveDataToDatabase = True
  489.     Exit Function
  490. SaveDataErr:
  491.     Err.Clear
  492.     SaveDataToDatabase = False
  493.     'Resume Next
  494. End Function
  495. Private Sub Form_Load()
  496. '    Dim Str As String
  497. '    Str = App.Path + "datakq.mdb"
  498. '    Set gDataBase = Workspaces(0).OpenDatabase(Str, False, False, ";pwd=wsh2000")
  499.     
  500.     fraPlan.Caption = Year(Date) & STRYEAR _
  501.         & Format(Month(Date), "00") & STRMONTH _
  502.         & Space(0) & STRPLAN
  503.     SetPic
  504.     SetDesk
  505.     
  506.     SetlblTitle
  507.     SetCaption
  508. End Sub
  509. Private Sub SetCaption()
  510.     Dim Str As String
  511.     If mIsToLook Then
  512.         Str = STRPLANLOOK
  513.     Else
  514.         Str = STRPLANDETAIL
  515.     End If
  516.     Me.Caption = Str
  517. End Sub
  518. Private Sub SetlblTitle()
  519.     With lblTitle
  520.         .Caption = mTitle
  521.         .Left = (Me.Width - Me.TextWidth(Trim(.Caption))) / 2
  522.     End With
  523. End Sub
  524. Private Sub ClearImages()
  525.     Dim Count As Integer
  526.     Count = imgPlan.Count
  527.     While Count <> 1
  528.         Unload imgPlan(Count - 1)
  529.         Unload lblShift(Count - 1)
  530.         Unload lblDay(Count - 1)
  531.         Count = imgPlan.Count
  532.     Wend
  533.     Count = optShift.Count
  534.     While Count <> 1
  535.         Unload optShift(Count - 1)
  536.     Wend
  537. End Sub
  538. Private Sub SetDesk()
  539.     Dim I As Integer
  540.     Dim DayRow As Integer
  541.     Dim DayCol As Integer
  542. '    Dim Row As Integer
  543.     Dim Cols As Integer
  544.     Dim FirstWeekDay As Integer
  545.     
  546.     ClearImages
  547.     
  548.     For I = 1 To gMaxDay - 1
  549.         Load imgPlan(I)
  550.         Load lblShift(I)
  551.         Load lblDay(I)
  552.     Next
  553.     
  554.     GetShift
  555.     
  556.     FirstWeekDay = Weekday(DateSerial(Year(Date), Month(Date), 1))
  557.     DayRow = 0
  558.     Cols = FirstWeekDay - 1
  559.     For I = 0 To gMaxDay - 1
  560.         DayCol = Cols Mod COLCOUNT
  561.         DayRow = Cols  COLCOUNT
  562.         imgPlan(I).Left = INILEFT + (mPicWidth + PICSPACE) * DayCol
  563.         imgPlan(I).Top = INITOP + (mPicHeight + PICSPACE) * DayRow
  564.         imgPlan(I).Visible = True
  565.         Cols = Cols + 1
  566.         
  567.         With lblDay(I)
  568.             .Caption = I + 1
  569.             .Left = imgPlan(I).Left + (mPicWidth - Me.TextWidth(.Caption)) / 2
  570.             .Top = imgPlan(I).Top + DAYPICSPACE
  571.             .Visible = True
  572.             .ZOrder 0
  573.         End With
  574.         
  575.         With lblShift(I)
  576.             .Left = imgPlan(I).Left + (mPicWidth - Me.TextWidth("A")) / 2
  577.             .Top = imgPlan(I).Top + SHIFTPICSPACE
  578.             .Visible = True
  579.             .ZOrder 0
  580.         End With
  581.     Next
  582.     
  583.     If Not mIsToLook Then
  584.         Dim Rst As Recordset
  585.         Set Rst = gDataBase.OpenRecordset("select ID,ShiftName " _
  586.             & "from Shift   where ID<>" & gNoShift _
  587.             & " order by ID", dbOpenSnapshot)
  588.         For I = 1 To Rst.RecordCount '- 1
  589.             Load optShift(I)
  590.         Next
  591.         'SHIFTCOUNT
  592.         
  593.         I = 0
  594.         DayRow = 0
  595.         Cols = 0
  596.         Dim H As Integer
  597.         While Not Rst.EOF
  598.             DayCol = Cols Mod ShiftCount
  599.             DayRow = Cols  ShiftCount
  600.             With optShift(I)
  601.                 .Caption = Trim(Rst!ShiftName)
  602.                 .Tag = CStr(Rst!ID)
  603.                 If Rst!ID <= UBound(aInnerShift) Then
  604.                     For H = 1 To UBound(aInnerShift)
  605.                         If Rst!ID = aInnerShift(H).ID Then
  606.                             .ToolTipText = aInnerShift(H).Note
  607.                             Exit For
  608.                         End If
  609.                     Next
  610.                 End If
  611.                 If I = 0 Then
  612.                     .Left = OPTPLANLEFT
  613.                     .Top = OPTPLANTOP
  614.                 Else
  615.                     .Left = OPTPLANLEFT + (OPTPLANWIDTH + PICSPACE) * DayCol 'optShift(0).Width
  616.                     .Top = OPTPLANTOP + (OPTPLANHEIGHT + PICSPACE) * DayRow 'optShift(0).Width
  617.                     .Visible = True
  618.                 End If
  619.             End With
  620.             I = I + 1
  621.             Cols = I
  622.             Rst.MoveNext
  623.         Wend
  624.         Rst.Close
  625.         Set Rst = Nothing
  626.     End If
  627.     'Next
  628.     
  629.     
  630.     '******fraPlan
  631.     With fraPlan
  632.         .Left = FRALEFT
  633.         .Top = FRATOP
  634.         .Width = FRAWIDTH
  635.         .Height = imgPlan(imgPlan.Count - 1).Top + mPicHeight _
  636.             + PICSPACE + FRASPACE
  637.     End With
  638.     With fraShift
  639.         .Left = fraPlan.Left + fraPlan.Width + FRASHIFTPLANSPACE
  640.         If mIsToLook Then
  641.             Me.Width = .Left - 200
  642.         End If
  643.         .Top = fraPlan.Top
  644.         .Height = fraPlan.Height
  645.         .Width = FRASHIFTWIDTH
  646.     End With
  647.     
  648.     With fraCmd
  649.         .Top = fraPlan.Top + fraPlan.Height + FRACMDSPACE
  650.         .Left = (Me.Width - .Width) / 2
  651.         Me.Height = .Top + .Height + FRACMDSPACE + 200
  652.         cmdPlan(0).Visible = Not mIsToLook
  653.         If mIsToLook Then
  654.             cmdPlan(1).Left = (.Width - cmdPlan(1).Width) / 2
  655.         End If
  656.     End With
  657. End Sub
  658. Private Sub GetShift()
  659.     If mWorkNo = Empty Then Exit Sub
  660.     Dim Rst As Recordset
  661.     Dim Sql As String
  662.     Dim I As Integer
  663.     Sql = "select ShiftName,ID from " & gPlanQryName _
  664.         & " where WorkNo='" & mWorkNo & "'" _
  665.         & " order by F_Day"
  666.     Set Rst = gDataBase.OpenRecordset(Sql, dbOpenSnapshot)
  667.     I = 0
  668.     While Not Rst.EOF
  669.         With lblShift(I)
  670.             .Caption = IIf(IsNull(Rst!ShiftName), "", Trim(Rst!ShiftName))
  671.             .Tag = IIf(IsNull(Rst!ID), gNoShift, CStr(Rst!ID))
  672.         End With
  673.         Rst.MoveNext
  674.         I = I + 1
  675.     Wend
  676.     Rst.Close
  677.     Set Rst = Nothing
  678. End Sub
  679. Private Function GetPicture(isSel As Boolean) As Picture
  680.     If isSel Then
  681.         Set GetPicture = mPicSel
  682.     Else
  683.         Set GetPicture = mPicNotSel
  684.     End If
  685. End Function
  686. Private Sub imgPlan_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
  687.     With imgTemp
  688.         Set imgTemp = GetPicture(True)
  689.         .Left = imgPlan(Index).Left
  690.         .Top = imgPlan(Index).Top
  691.         .Width = imgPlan(Index).Width
  692.         .Height = imgPlan(Index).Height
  693.         .Tag = Index
  694.         If Not .Visible Then .Visible = True
  695.     End With
  696.     
  697.     If Not mIsToLook Then
  698.         Dim I As Integer
  699.         Dim intIndex As Integer
  700.         For I = 0 To optShift.Count - 1
  701.             If optShift(I).Value Then
  702.                 intIndex = I
  703.                 Exit For
  704.             End If
  705.         Next
  706.         With lblShift(Index)
  707.             .Caption = optShift(intIndex).Caption
  708.             .Tag = optShift(intIndex).Tag
  709.         End With
  710.     End If
  711. End Sub
  712. Private Sub lblDay_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
  713.     imgPlan_MouseDown Index, Button, Shift, X, Y
  714. End Sub
  715. Private Sub lblShift_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
  716.     imgPlan_MouseDown Index, Button, Shift, X, Y
  717. End Sub