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

系统设计方案

开发平台:

Visual Basic

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