frmReader1.frm
上传用户:wang_li173
上传日期:2007-06-22
资源大小:43k
文件大小:19k
源码类别:

系统设计方案

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Begin VB.Form frmReader1 
  3.    BorderStyle     =   3  'Fixed Dialog
  4.    Caption         =   "读者信息"
  5.    ClientHeight    =   4776
  6.    ClientLeft      =   48
  7.    ClientTop       =   336
  8.    ClientWidth     =   8928
  9.    LinkTopic       =   "Form1"
  10.    MaxButton       =   0   'False
  11.    MinButton       =   0   'False
  12.    ScaleHeight     =   4776
  13.    ScaleWidth      =   8928
  14.    ShowInTaskbar   =   0   'False
  15.    StartUpPosition =   1  'CenterOwner
  16.    Begin VB.Frame Frame1 
  17.       Caption         =   "读者种类:"
  18.       Height          =   2412
  19.       Index           =   1
  20.       Left            =   240
  21.       TabIndex        =   10
  22.       Top             =   240
  23.       Width           =   2892
  24.       Begin VB.ComboBox cboItem 
  25.          Height          =   288
  26.          Index           =   4
  27.          Left            =   1080
  28.          Style           =   2  'Dropdown List
  29.          TabIndex        =   23
  30.          Top             =   1800
  31.          Width           =   1092
  32.       End
  33.       Begin VB.ComboBox cboItem 
  34.          Height          =   288
  35.          Index           =   3
  36.          Left            =   1080
  37.          Style           =   2  'Dropdown List
  38.          TabIndex        =   22
  39.          Top             =   1440
  40.          Width           =   1092
  41.       End
  42.       Begin VB.ComboBox cboItem 
  43.          Height          =   288
  44.          Index           =   2
  45.          Left            =   1080
  46.          Style           =   2  'Dropdown List
  47.          TabIndex        =   21
  48.          Top             =   1080
  49.          Width           =   1092
  50.       End
  51.       Begin VB.ComboBox cboItem 
  52.          Height          =   288
  53.          Index           =   1
  54.          Left            =   1080
  55.          Style           =   2  'Dropdown List
  56.          TabIndex        =   20
  57.          Top             =   720
  58.          Width           =   1332
  59.       End
  60.       Begin VB.ComboBox cboItem 
  61.          Height          =   288
  62.          Index           =   0
  63.          Left            =   1080
  64.          Style           =   2  'Dropdown List
  65.          TabIndex        =   19
  66.          Top             =   360
  67.          Width           =   1332
  68.       End
  69.       Begin VB.Label Label2 
  70.          Caption         =   "借书数量:"
  71.          Height          =   255
  72.          Index           =   12
  73.          Left            =   240
  74.          TabIndex        =   18
  75.          Top             =   1080
  76.          Width           =   975
  77.       End
  78.       Begin VB.Label Label2 
  79.          Caption         =   "有效期限:"
  80.          Height          =   252
  81.          Index           =   11
  82.          Left            =   240
  83.          TabIndex        =   17
  84.          Top             =   1800
  85.          Width           =   972
  86.       End
  87.       Begin VB.Label Label2 
  88.          Caption         =   "种类名称:"
  89.          Height          =   255
  90.          Index           =   10
  91.          Left            =   240
  92.          TabIndex        =   16
  93.          Top             =   720
  94.          Width           =   975
  95.       End
  96.       Begin VB.Label Label2 
  97.          Caption         =   "种类编号:"
  98.          Height          =   255
  99.          Index           =   9
  100.          Left            =   240
  101.          TabIndex        =   15
  102.          Top             =   360
  103.          Width           =   975
  104.       End
  105.       Begin VB.Label Label2 
  106.          Caption         =   "借书期限:"
  107.          Height          =   255
  108.          Index           =   8
  109.          Left            =   240
  110.          TabIndex        =   14
  111.          Top             =   1440
  112.          Width           =   975
  113.       End
  114.       Begin VB.Label Label2 
  115.          Caption         =   "月"
  116.          Height          =   252
  117.          Index           =   2
  118.          Left            =   2280
  119.          TabIndex        =   13
  120.          Top             =   1800
  121.          Width           =   252
  122.       End
  123.       Begin VB.Label Label2 
  124.          Caption         =   "天"
  125.          Height          =   252
  126.          Index           =   5
  127.          Left            =   2280
  128.          TabIndex        =   12
  129.          Top             =   1440
  130.          Width           =   252
  131.       End
  132.       Begin VB.Label Label2 
  133.          Caption         =   "本"
  134.          Height          =   252
  135.          Index           =   6
  136.          Left            =   2280
  137.          TabIndex        =   11
  138.          Top             =   1080
  139.          Width           =   252
  140.       End
  141.    End
  142.    Begin VB.Frame Frame3 
  143.       Caption         =   "备注信息"
  144.       Height          =   1215
  145.       Left            =   240
  146.       TabIndex        =   6
  147.       Top             =   2760
  148.       Width           =   8532
  149.       Begin VB.TextBox txtItem 
  150.          Height          =   840
  151.          Index           =   7
  152.          Left            =   120
  153.          MultiLine       =   -1  'True
  154.          ScrollBars      =   2  'Vertical
  155.          TabIndex        =   33
  156.          Top             =   240
  157.          Width           =   8292
  158.       End
  159.    End
  160.    Begin VB.Frame Frame1 
  161.       Caption         =   "读者信息"
  162.       Height          =   2412
  163.       Index           =   0
  164.       Left            =   3240
  165.       TabIndex        =   2
  166.       Top             =   240
  167.       Width           =   5532
  168.       Begin VB.ComboBox cboItem 
  169.          Height          =   288
  170.          Index           =   5
  171.          Left            =   1200
  172.          Style           =   2  'Dropdown List
  173.          TabIndex        =   34
  174.          Top             =   1200
  175.          Width           =   1572
  176.       End
  177.       Begin VB.TextBox txtItem 
  178.          Height          =   270
  179.          Index           =   6
  180.          Left            =   3840
  181.          MaxLength       =   20
  182.          TabIndex        =   32
  183.          Top             =   1200
  184.          Width           =   1572
  185.       End
  186.       Begin VB.TextBox txtItem 
  187.          Height          =   270
  188.          Index           =   5
  189.          Left            =   3840
  190.          MaxLength       =   20
  191.          TabIndex        =   31
  192.          Top             =   840
  193.          Width           =   1572
  194.       End
  195.       Begin VB.TextBox txtItem 
  196.          Height          =   276
  197.          Index           =   4
  198.          Left            =   3840
  199.          MaxLength       =   20
  200.          TabIndex        =   27
  201.          Top             =   480
  202.          Width           =   1572
  203.       End
  204.       Begin VB.TextBox txtItem 
  205.          Height          =   276
  206.          Index           =   3
  207.          Left            =   1200
  208.          MaxLength       =   20
  209.          TabIndex        =   24
  210.          Top             =   1920
  211.          Width           =   3852
  212.       End
  213.       Begin VB.TextBox txtItem 
  214.          Height          =   270
  215.          Index           =   2
  216.          Left            =   1200
  217.          MaxLength       =   20
  218.          TabIndex        =   9
  219.          Top             =   1560
  220.          Width           =   3852
  221.       End
  222.       Begin VB.TextBox txtItem 
  223.          Height          =   270
  224.          Index           =   1
  225.          Left            =   1200
  226.          MaxLength       =   8
  227.          TabIndex        =   8
  228.          Top             =   840
  229.          Width           =   1572
  230.       End
  231.       Begin VB.TextBox txtItem 
  232.          Height          =   270
  233.          Index           =   0
  234.          Left            =   1200
  235.          MaxLength       =   5
  236.          TabIndex        =   7
  237.          Top             =   480
  238.          Width           =   1572
  239.       End
  240.       Begin VB.Label Label2 
  241.          Caption         =   "办  证  日  期:"
  242.          Height          =   252
  243.          Index           =   14
  244.          Left            =   2880
  245.          TabIndex        =   30
  246.          Top             =   1200
  247.          Width           =   972
  248.       End
  249.       Begin VB.Label Label2 
  250.          Caption         =   "电子邮件地址:"
  251.          Height          =   252
  252.          Index           =   13
  253.          Left            =   2880
  254.          TabIndex        =   29
  255.          Top             =   840
  256.          Width           =   1092
  257.       End
  258.       Begin VB.Label Label2 
  259.          Caption         =   "电  话  号  码:"
  260.          Height          =   252
  261.          Index           =   4
  262.          Left            =   2880
  263.          TabIndex        =   28
  264.          Top             =   480
  265.          Width           =   972
  266.       End
  267.       Begin VB.Label Label2 
  268.          Caption         =   "家庭住址:"
  269.          Height          =   252
  270.          Index           =   7
  271.          Left            =   240
  272.          TabIndex        =   26
  273.          Top             =   1920
  274.          Width           =   972
  275.       End
  276.       Begin VB.Label Label2 
  277.          Caption         =   "读者性别:"
  278.          Height          =   252
  279.          Index           =   1
  280.          Left            =   240
  281.          TabIndex        =   25
  282.          Top             =   1200
  283.          Width           =   972
  284.       End
  285.       Begin VB.Label Label2 
  286.          Caption         =   "工作单位:"
  287.          Height          =   252
  288.          Index           =   3
  289.          Left            =   240
  290.          TabIndex        =   5
  291.          Top             =   1560
  292.          Width           =   972
  293.       End
  294.       Begin VB.Label Label2 
  295.          Caption         =   "读者编号:"
  296.          Height          =   255
  297.          Index           =   0
  298.          Left            =   240
  299.          TabIndex        =   4
  300.          Top             =   480
  301.          Width           =   975
  302.       End
  303.       Begin VB.Label Label2 
  304.          Caption         =   "读者姓名:"
  305.          Height          =   252
  306.          Index           =   16
  307.          Left            =   240
  308.          TabIndex        =   3
  309.          Top             =   840
  310.          Width           =   972
  311.       End
  312.    End
  313.    Begin VB.CommandButton cmdExit 
  314.       Caption         =   "返回 (&X)"
  315.       Height          =   375
  316.       Left            =   4320
  317.       TabIndex        =   1
  318.       Top             =   4200
  319.       Width           =   1215
  320.    End
  321.    Begin VB.CommandButton cmdSave 
  322.       Caption         =   "保存 (&S)"
  323.       Height          =   375
  324.       Left            =   2160
  325.       TabIndex        =   0
  326.       Top             =   4200
  327.       Width           =   1215
  328.    End
  329. End
  330. Attribute VB_Name = "frmReader1"
  331. Attribute VB_GlobalNameSpace = False
  332. Attribute VB_Creatable = False
  333. Attribute VB_PredeclaredId = True
  334. Attribute VB_Exposed = False
  335. Option Explicit
  336. '是否改动过记录,ture为改过
  337. Dim mblChange As Boolean
  338. Dim mrc As ADODB.Recordset
  339. Public txtSQL As String
  340. Private Sub cboItem_Change(Index As Integer)
  341.     '有变化设置gblchange
  342.     mblChange = True
  343. End Sub
  344. Private Sub cboItem_Click(Index As Integer)
  345.     Dim sSql As String
  346.     Dim MsgText As String
  347.     Dim mrccc As ADODB.Recordset
  348.     Dim intCount As Integer
  349.     
  350.     
  351.     
  352.         '初始化员工名称和ID
  353.         If Index = 1 Then
  354.                         
  355.             txtSQL = "select * from readertype where typename = '" & Trim(cboItem(1)) & "'"
  356.             Set mrccc = ExecuteSQL(txtSQL, MsgText)
  357.                 
  358.             If Not mrccc.EOF Then
  359.                 
  360.                 cboItem(0).Clear
  361.                 cboItem(0).AddItem Trim(mrccc.Fields(0))
  362.                 cboItem(0).ListIndex = 0
  363.                 
  364.                 For intCount = 2 To 4
  365.                     cboItem(intCount).Clear
  366.                     cboItem(intCount).AddItem Trim(mrccc.Fields(intCount))
  367.                     cboItem(intCount).ListIndex = 0
  368.                 Next intCount
  369.             End If
  370.             mrccc.Close
  371.         
  372.         End If
  373.         
  374.         
  375.    
  376.     
  377.     
  378. End Sub
  379. Private Sub cboItem_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
  380.     EnterToTab KeyCode
  381.     
  382. End Sub
  383. Private Sub cmdExit_Click()
  384.     If mblChange And cmdSave.Enabled Then
  385.         If MsgBox("保存当前记录的变化吗?", vbOKCancel + vbExclamation, "警告") = vbOK Then
  386.             '保存
  387.             Call cmdSave_Click
  388.         End If
  389.     End If
  390.     Unload Me
  391. End Sub
  392. Private Sub cmdSave_Click()
  393.     Dim intCount As Integer
  394.     Dim sMeg As String
  395.     Dim mrcc As ADODB.Recordset
  396.     Dim MsgText As String
  397.     
  398.     For intCount = 0 To 6
  399.         If Trim(txtItem(intCount) & " ") = "" Then
  400.             Select Case intCount
  401.                 Case 0
  402.                     sMeg = "读者编号"
  403.                 Case 1
  404.                     sMeg = "读者姓名"
  405.                 Case 2
  406.                     sMeg = "工作单位"
  407.                 Case 3
  408.                     sMeg = "家庭住址"
  409.                 Case 4
  410.                     sMeg = "电话号码"
  411.                 Case 5
  412.                     sMeg = "电子邮件地址"
  413.                 Case 6
  414.                     sMeg = "办证日期"
  415.             End Select
  416.             sMeg = sMeg & "不能为空!"
  417.             MsgBox sMeg, vbOKOnly + vbExclamation, "警告"
  418.             txtItem(intCount).SetFocus
  419.         
  420.             Exit Sub
  421.         End If
  422.     Next intCount
  423.     
  424.     If Not IsDate(Trim(txtItem(6))) Then
  425.         MsgBox "请输入日期!", vbOKOnly + vbExclamation, "警告"
  426.         Exit Sub
  427.     Else
  428.         txtItem(6) = Format(txtItem(6), "yyyy-mm-dd")
  429.     End If
  430.    
  431.     
  432.     If gintRmode = 1 Then
  433.         txtSQL = "select * from readers where readerno='" & Trim(txtItem(0)) & "'"
  434.         Set mrc = ExecuteSQL(txtSQL, MsgText)
  435.         If mrc.EOF = False Then
  436.             MsgBox "已经存在此读者编号的记录!", vbOKOnly + vbExclamation, "警告"
  437.             txtItem(0).SetFocus
  438.             Exit Sub
  439.         End If
  440.         mrc.Close
  441.     End If
  442.     
  443.     
  444.     If gintRmode = 2 Then
  445.         '先删除已有记录
  446.         txtSQL = "delete from readers where readerno='" & Trim(txtItem(0)) & "'"
  447.         Set mrc = ExecuteSQL(txtSQL, MsgText)
  448.     End If
  449.     
  450.     '再加入新记录
  451.     txtSQL = "select * from readers"
  452.     Set mrc = ExecuteSQL(txtSQL, MsgText)
  453.     mrc.AddNew
  454.     
  455.     For intCount = 0 To 1
  456.         mrc.Fields(intCount) = Trim(txtItem(intCount))
  457.     Next intCount
  458.     
  459.     mrc.Fields(2) = Trim(cboItem(5))
  460.     mrc.Fields(3) = Trim(cboItem(1))
  461.     
  462.     For intCount = 2 To 7
  463.         mrc.Fields(intCount + 2) = Trim(txtItem(intCount))
  464.     Next intCount
  465.     
  466.     mrc.Update
  467.     mrc.Close
  468.    
  469.     
  470.         
  471.     If gintRmode = 1 Then
  472.         For intCount = 0 To 7
  473.             txtItem(intCount) = ""
  474.         Next intCount
  475.         
  476.         mblChange = False
  477.         If flagRedit Then
  478.             Unload frmReader
  479.             frmReader.txtSQL = "select * from readers"
  480.             frmReader.Show
  481.         End If
  482.     ElseIf gintRmode = 2 Then
  483.         Unload Me
  484.         If flagRedit Then
  485.             Unload frmReader
  486.         End If
  487.         frmReader.txtSQL = "select * from readers"
  488.         frmReader.Show
  489.         
  490.     End If
  491.     
  492. End Sub
  493. Private Sub Form_Load()
  494.     Dim sSql As String
  495.     Dim intCount As Integer
  496.     Dim MsgText As String
  497.     Dim mrcc As ADODB.Recordset
  498.     
  499.     
  500.    
  501.     If gintRmode = 1 Then
  502.         Me.Caption = Me.Caption & "添加"
  503.         
  504.         '初始化物资名称
  505.         txtSQL = "select DISTINCT typename from readertype"
  506.         Set mrc = ExecuteSQL(txtSQL, MsgText)
  507.         
  508.         If Not mrc.EOF Then
  509.             
  510.                 Do While Not mrc.EOF
  511.                     cboItem(1).AddItem Trim(mrc.Fields(0))
  512.                     mrc.MoveNext
  513.                 Loop
  514.                 cboItem(1).ListIndex = 0
  515.             
  516.         Else
  517.             MsgBox "请先进行读者种类设置!", vbOKOnly + vbExclamation, "警告"
  518.             cmdSave.Enabled = False
  519.             Exit Sub
  520.         End If
  521.         mrc.Close
  522.         
  523.         cboItem(5).AddItem "男"
  524.         cboItem(5).AddItem "女"
  525.         
  526.         
  527.                 
  528.     ElseIf gintRmode = 2 Then
  529.        
  530.         
  531.         
  532.         Set mrcc = ExecuteSQL(txtSQL, MsgText)
  533.         
  534.         If mrcc.EOF = False Then
  535.             With mrcc
  536.                 
  537.                 
  538.                 
  539.                                 
  540.                 For intCount = 0 To 1
  541.                     If Not IsNull(.Fields(intCount)) Then
  542.                         txtItem(intCount) = .Fields(intCount)
  543.                     End If
  544.                 Next intCount
  545.                 
  546.                 cboItem(1).Clear
  547.                 cboItem(1).AddItem .Fields(3)
  548.                 cboItem(1).ListIndex = 0
  549.                 
  550.                 cboItem(5).Clear
  551.                 cboItem(5).AddItem .Fields(2)
  552.                 cboItem(5).ListIndex = 0
  553.                 
  554.                 For intCount = 2 To 7
  555.                     If Not IsNull(.Fields(intCount)) Then
  556.                         txtItem(intCount) = .Fields(intCount + 2)
  557.                     End If
  558.                 Next intCount
  559.                 
  560.                 
  561.                 
  562.                 txtSQL = "select * from readertype where typename = '" & Trim(cboItem(0)) & "'"
  563.                 Set mrc = ExecuteSQL(txtSQL, MsgText)
  564.                 
  565.                 If Not mrc.EOF Then
  566.                         
  567.                         cboItem(0).Clear
  568.                         cboItem(0).AddItem Trim(mrc.Fields(0))
  569.                         cboItem(0).ListIndex = 0
  570.                     
  571.                         For intCount = 2 To 4
  572.                             cboItem(intCount).Clear
  573.                             cboItem(intCount).AddItem Trim(mrc.Fields(intCount))
  574.                             cboItem(intCount).ListIndex = 0
  575.                         Next intCount
  576.                 End If
  577.                 mrc.Close
  578.                 
  579.                 txtSQL = "select DISTINCT typename from readertype"
  580.                 Set mrc = ExecuteSQL(txtSQL, MsgText)
  581.         
  582.                 If Not mrc.EOF Then
  583.             
  584.                     Do While Not mrc.EOF
  585.                         cboItem(1).AddItem Trim(mrc.Fields(0))
  586.                         mrc.MoveNext
  587.                     Loop
  588.                     
  589.             
  590.                 Else
  591.                     MsgBox "请先进行读者种类设置!", vbOKOnly + vbExclamation, "警告"
  592.                     cmdSave.Enabled = False
  593.                     Exit Sub
  594.                 End If
  595.                 mrc.Close
  596.                 
  597.                 
  598.                 cboItem(5).Clear
  599.                 cboItem(5).AddItem "男"
  600.                 cboItem(5).AddItem "女"
  601.         
  602.                 
  603.                 
  604.                 
  605.                 
  606.                                 
  607.             End With
  608.             
  609.         End If
  610.         mrcc.Close
  611.         Me.Caption = Me.Caption & "修改"
  612.             
  613.         
  614.     End If
  615.     
  616.     mblChange = False
  617.     
  618.     
  619. End Sub
  620. Private Sub Form_Unload(Cancel As Integer)
  621.     gintRmode = 0
  622. End Sub
  623. Private Sub txtItem_Change(Index As Integer)
  624.     '有变化设置gblchange
  625.     mblChange = True
  626.     
  627.     
  628. End Sub
  629. Private Sub txtItem_GotFocus(Index As Integer)
  630.     txtItem(Index).SelStart = 0
  631.     txtItem(Index).SelLength = Len(txtItem(Index))
  632.     
  633. End Sub
  634. Private Sub txtItem_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
  635.         EnterToTab KeyCode
  636. End Sub