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

系统设计方案

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Begin VB.Form frmReturn1 
  3.    Caption         =   "还书信息"
  4.    ClientHeight    =   5184
  5.    ClientLeft      =   48
  6.    ClientTop       =   348
  7.    ClientWidth     =   6516
  8.    LinkTopic       =   "Form1"
  9.    ScaleHeight     =   5184
  10.    ScaleWidth      =   6516
  11.    StartUpPosition =   3  'Windows Default
  12.    Begin VB.Frame Frame2 
  13.       Caption         =   "还书日期"
  14.       Height          =   732
  15.       Left            =   480
  16.       TabIndex        =   14
  17.       Top             =   3720
  18.       Width           =   5052
  19.       Begin VB.ComboBox cboYear 
  20.          Height          =   288
  21.          Index           =   0
  22.          Left            =   1560
  23.          Style           =   2  'Dropdown List
  24.          TabIndex        =   17
  25.          Top             =   240
  26.          Width           =   765
  27.       End
  28.       Begin VB.ComboBox cboMonth 
  29.          Height          =   288
  30.          Index           =   0
  31.          Left            =   2760
  32.          Style           =   2  'Dropdown List
  33.          TabIndex        =   16
  34.          Top             =   240
  35.          Width           =   645
  36.       End
  37.       Begin VB.ComboBox cboDay 
  38.          Height          =   288
  39.          Left            =   3840
  40.          Style           =   2  'Dropdown List
  41.          TabIndex        =   15
  42.          Top             =   240
  43.          Width           =   612
  44.       End
  45.       Begin VB.Label Label1 
  46.          Caption         =   "请设置还书时间:"
  47.          Height          =   216
  48.          Index           =   0
  49.          Left            =   240
  50.          TabIndex        =   21
  51.          Top             =   240
  52.          Width           =   2400
  53.       End
  54.       Begin VB.Label Label1 
  55.          Caption         =   "月"
  56.          Height          =   216
  57.          Index           =   2
  58.          Left            =   3480
  59.          TabIndex        =   20
  60.          Top             =   240
  61.          Width           =   240
  62.       End
  63.       Begin VB.Label Label1 
  64.          Caption         =   "年"
  65.          Height          =   216
  66.          Index           =   1
  67.          Left            =   2400
  68.          TabIndex        =   19
  69.          Top             =   240
  70.          Width           =   240
  71.       End
  72.       Begin VB.Label Label1 
  73.          Caption         =   "日"
  74.          Height          =   216
  75.          Index           =   7
  76.          Left            =   4560
  77.          TabIndex        =   18
  78.          Top             =   240
  79.          Width           =   120
  80.       End
  81.    End
  82.    Begin VB.CommandButton cmdSave 
  83.       Caption         =   "保存 (&S)"
  84.       Height          =   375
  85.       Left            =   2280
  86.       TabIndex        =   8
  87.       Top             =   4680
  88.       Width           =   1215
  89.    End
  90.    Begin VB.CommandButton cmdExit 
  91.       Caption         =   "返回 (&X)"
  92.       Height          =   375
  93.       Left            =   4200
  94.       TabIndex        =   7
  95.       Top             =   4680
  96.       Width           =   1215
  97.    End
  98.    Begin VB.Frame Frame1 
  99.       Caption         =   "借书信息"
  100.       Height          =   3372
  101.       Left            =   120
  102.       TabIndex        =   1
  103.       Top             =   120
  104.       Width           =   6252
  105.       Begin VB.TextBox txtItem 
  106.          Height          =   1920
  107.          Index           =   0
  108.          Left            =   120
  109.          MultiLine       =   -1  'True
  110.          ScrollBars      =   2  'Vertical
  111.          TabIndex        =   13
  112.          Top             =   1320
  113.          Width           =   6012
  114.       End
  115.       Begin VB.ComboBox cboItem 
  116.          Height          =   288
  117.          Index           =   0
  118.          Left            =   960
  119.          Style           =   2  'Dropdown List
  120.          TabIndex        =   5
  121.          Top             =   240
  122.          Width           =   2175
  123.       End
  124.       Begin VB.ComboBox cboItem 
  125.          Height          =   288
  126.          Index           =   1
  127.          Left            =   960
  128.          Style           =   2  'Dropdown List
  129.          TabIndex        =   4
  130.          Top             =   720
  131.          Width           =   2175
  132.       End
  133.       Begin VB.ComboBox cboItem 
  134.          Height          =   288
  135.          Index           =   2
  136.          Left            =   3960
  137.          Style           =   2  'Dropdown List
  138.          TabIndex        =   3
  139.          Top             =   240
  140.          Width           =   2175
  141.       End
  142.       Begin VB.ComboBox cboItem 
  143.          Height          =   288
  144.          Index           =   3
  145.          Left            =   3960
  146.          Style           =   2  'Dropdown List
  147.          TabIndex        =   2
  148.          Top             =   720
  149.          Width           =   2175
  150.       End
  151.       Begin VB.Label Label2 
  152.          Caption         =   "借书日期:"
  153.          Height          =   252
  154.          Index           =   6
  155.          Left            =   3360
  156.          TabIndex        =   12
  157.          Top             =   720
  158.          Width           =   972
  159.       End
  160.       Begin VB.Label Label2 
  161.          Caption         =   "备 注 信 息:"
  162.          Height          =   252
  163.          Index           =   7
  164.          Left            =   120
  165.          TabIndex        =   11
  166.          Top             =   1080
  167.          Width           =   972
  168.       End
  169.       Begin VB.Label Label2 
  170.          Caption         =   "读者编号:"
  171.          Height          =   252
  172.          Index           =   4
  173.          Left            =   120
  174.          TabIndex        =   10
  175.          Top             =   240
  176.          Width           =   972
  177.       End
  178.       Begin VB.Label Label2 
  179.          Caption         =   "读者姓名:"
  180.          Height          =   252
  181.          Index           =   5
  182.          Left            =   120
  183.          TabIndex        =   9
  184.          Top             =   720
  185.          Width           =   972
  186.       End
  187.       Begin VB.Label Label2 
  188.          Caption         =   "书籍名称:"
  189.          Height          =   252
  190.          Index           =   0
  191.          Left            =   3360
  192.          TabIndex        =   6
  193.          Top             =   240
  194.          Width           =   972
  195.       End
  196.    End
  197.    Begin VB.TextBox txtNo 
  198.       Height          =   270
  199.       Left            =   960
  200.       TabIndex        =   0
  201.       TabStop         =   0   'False
  202.       Top             =   4680
  203.       Visible         =   0   'False
  204.       Width           =   735
  205.    End
  206. End
  207. Attribute VB_Name = "frmReturn1"
  208. Attribute VB_GlobalNameSpace = False
  209. Attribute VB_Creatable = False
  210. Attribute VB_PredeclaredId = True
  211. Attribute VB_Exposed = False
  212. Option Explicit
  213. '是否改动过记录,ture为改过
  214. Dim mblChange As Boolean
  215. Dim mrc As ADODB.Recordset
  216. Public txtSQL As String
  217. Dim BookID As String
  218. Private Sub cboItem_Change(Index As Integer)
  219.     '有变化设置gblchange
  220.     
  221.     mblChange = True
  222.     
  223. End Sub
  224. Private Sub cboItem_Click(Index As Integer)
  225.     Dim mrcc As ADODB.Recordset
  226.     Dim MsgText As String
  227.     
  228.     If gintBBmode = 1 Then
  229.         If Index = 1 Then
  230.             txtSQL = "select * from borrowinfo where returndate is null"
  231.             Set mrcc = ExecuteSQL(txtSQL, MsgText)
  232.             
  233.             If Not mrcc.EOF Then
  234.                 cboItem(0).Clear
  235.                 cboItem(0).AddItem mrcc!readerid
  236.                 cboItem(0).ListIndex = 0
  237.                 
  238.                 cboItem(2).Clear
  239.                 cboItem(2).AddItem mrcc!bookname
  240.                 cboItem(2).ListIndex = 0
  241.                 
  242.                 cboItem(3).Clear
  243.                 cboItem(3).AddItem mrcc!borrowdate
  244.                 cboItem(3).ListIndex = 0
  245.                 
  246.                 txtItem(0) = mrcc.Fields(7)
  247.                 txtNo = mrcc!borrowno
  248.                 BookID = mrcc.Fields(3)
  249.             End If
  250.             mrcc.Close
  251.         End If
  252.     End If
  253. End Sub
  254. Private Sub cmdSave_Click()
  255.     Dim intCount As Integer
  256.     Dim sMeg As String
  257.     Dim MsgText As String
  258.     Dim returnDate As String
  259.     Dim mrcd As ADODB.Recordset
  260.     Dim bYear As Integer
  261.     Dim eYear As Integer
  262.     Dim bDays As Integer
  263.     Dim eDays As Integer
  264.     Dim aDays As Integer
  265.     Dim uDays As Integer
  266.     
  267.     
  268.     If Trim(txtNo) = "" Then
  269.         MsgBox "请选择借书信息!", vbOKOnly + vbExclamation, "警告"
  270.         cboItem(1).SetFocus
  271.         Exit Sub
  272.     End If
  273.     
  274.     returnDate = Format(CDate(cboYear(0) & "-" & cboMonth(0) & "-" & cboDay), "yyyy-mm-dd")
  275.     If Trim(returnDate) = "" Then
  276.         MsgBox "请选择还书日期!", vbOKOnly + vbExclamation, "警告"
  277.         cboYear(1).SetFocus
  278.         Exit Sub
  279.     End If
  280.     
  281.     If gintBBmode = 2 Then
  282.         txtSQL = "select * from books where bookid = '" & Trim(BookID) & "'"
  283.         Set mrcd = ExecuteSQL(txtSQL, MsgText)
  284.         If Not mrcd.EOF Then
  285.             mrcd!putup = "y"
  286.         End If
  287.         mrcd.Update
  288.         mrcd.Close
  289.     End If
  290.     
  291.     txtSQL = "select * from borrowinfo where  borrowno = '" & Trim(txtNo) & "'"
  292.     Set mrc = ExecuteSQL(txtSQL, MsgText)
  293.     If Not mrc.EOF Then
  294.         mrc.Fields(6) = Trim(returnDate)
  295.         txtSQL = "select * from books where bookid = '" & Trim(BookID) & "'"
  296.         Set mrcd = ExecuteSQL(txtSQL, MsgText)
  297.         
  298.         If Not mrcd.EOF Then
  299.             mrcd!putup = " "
  300.         End If
  301.         mrcd.Update
  302.         mrcd.Close
  303.         
  304.     End If
  305.     mrc.Update
  306.     mrc.Close
  307.     
  308.     
  309.     bYear = DatePart("yyyy", cboItem(3))
  310.     eYear = DatePart("yyyy", returnDate)
  311.     bDays = DatePart("y", cboItem(3))
  312.     eDays = DatePart("y", returnDate)
  313.     If bYear = eYear Then
  314.         aDays = eDays - bDays
  315.     Else
  316.         aDays = (eYear - bYear - 1) * 365 + (365 - bDays) + eDays
  317.     End If
  318.     
  319.     txtSQL = "select readertype from readers where readerno = '" & Trim(cboItem(0)) & "'"
  320.     Set mrc = ExecuteSQL(txtSQL, MsgText)
  321.     
  322.     If Not mrc.EOF Then
  323.         sMeg = mrc.Fields(0)
  324.     End If
  325.     mrc.Close
  326.     
  327.     txtSQL = "select bookdays from readertype where typename = '" & Trim(sMeg) & "'"
  328.     Set mrc = ExecuteSQL(txtSQL, MsgText)
  329.     If Not mrc.EOF Then
  330.         uDays = mrc.Fields(0)
  331.     End If
  332.     mrc.Close
  333.     
  334.     If uDays < aDays Then
  335.         MsgBox "过期" & (aDays - uDays) & "天,罚款" & (0.1 * (aDays - uDays)) & "元!", vbOKOnly + vbExclamation, "警告"
  336.     End If
  337.     
  338.     
  339.     
  340.     If gintBBmode = 1 Then
  341.         MsgBox "添加还书信息成功!", vbOKOnly + vbExclamation, "添加借书消息"
  342.         Unload Me
  343.         If flagBBedit Then
  344.             Unload frmReturn
  345.         End If
  346.         frmReturn.txtSQL = "select * from borrowinfo"
  347.         frmReturn.Show
  348.     Else
  349.         MsgBox "修改还书信息成功!", vbOKOnly + vbExclamation, "修改借书消息"
  350.         Unload Me
  351.         If flagBBedit Then
  352.             Unload frmReturn
  353.         End If
  354.         frmReturn.txtSQL = "select * from borrowinfo"
  355.         frmReturn.Show
  356.     End If
  357.     
  358. End Sub
  359. Private Sub Form_Load()
  360.     
  361.     Dim sSql As String
  362.     Dim intCount As Integer
  363.     Dim MsgText As String
  364.     Dim i As Integer
  365.     Dim j As Integer
  366.     
  367.     
  368.     
  369.     If gintBBmode = 1 Then
  370.         Me.Caption = Me.Caption & "添加"
  371.         
  372.         '初始化客房信息
  373.         txtSQL = "select DISTINCT readername from borrowinfo where returndate is null "
  374.         Set mrc = ExecuteSQL(txtSQL, MsgText)
  375.         
  376.         If Not mrc.EOF Then
  377.                 
  378.             Do While Not mrc.EOF
  379.                 cboItem(1).AddItem Trim(mrc.Fields(0))
  380.                 mrc.MoveNext
  381.             Loop
  382.         Else
  383.             MsgBox "没人借书!", vbOKOnly + vbExclamation, "警告"
  384.             cmdSave.Enabled = False
  385.             Exit Sub
  386.         End If
  387.         mrc.Close
  388.         
  389.         txtSQL = "select distinct datepart(yy,borrowdate) from borrowinfo where returndate is null "
  390.         Set mrc = ExecuteSQL(txtSQL, MsgText)
  391.         If mrc.EOF = False Then
  392.             With mrc
  393.             Do While Not .EOF
  394.                 cboYear(0).AddItem .Fields(0)
  395.                 .MoveNext
  396.             Loop
  397.             End With
  398.             
  399.             cboYear(0).ListIndex = 0
  400.             
  401.             For j = 1 To 12
  402.                 cboMonth(0).AddItem j
  403.             Next j
  404.             cboMonth(0).Text = Month(Now())
  405.             
  406.             For j = 1 To 31
  407.                 cboDay.AddItem j
  408.             Next j
  409.             cboDay.Text = Day(Now())
  410.             
  411.         Else
  412.             cmdSave.Enabled = False
  413.         End If
  414.         mrc.Close
  415.             
  416.         
  417.             
  418.         
  419.             
  420.     ElseIf gintBBmode = 2 Then
  421.         Me.Caption = Me.Caption & "修改"
  422.         Set mrc = ExecuteSQL(txtSQL, MsgText)
  423.         
  424.         If Not mrc.EOF Then
  425.             txtNo = mrc!borrowno
  426.             
  427.             For intCount = 0 To 1
  428.                 cboItem(intCount).Clear
  429.                 cboItem(intCount).AddItem mrc.Fields(intCount + 1)
  430.                 cboItem(intCount).ListIndex = 0
  431.             Next intCount
  432.             
  433.             BookID = mrc.Fields(3)
  434.             
  435.             For intCount = 2 To 3
  436.                 cboItem(intCount).Clear
  437.                 cboItem(intCount).AddItem mrc.Fields(intCount + 2)
  438.                 cboItem(intCount).ListIndex = 0
  439.             Next intCount
  440.             
  441.             txtItem(0) = mrc.Fields(7)
  442.         End If
  443.         
  444.         mrc.Close
  445.         
  446.         txtSQL = "select distinct datepart(yy,borrowdate) from borrowinfo where returndate is not null "
  447.         Set mrc = ExecuteSQL(txtSQL, MsgText)
  448.         If mrc.EOF = False Then
  449.             With mrc
  450.             Do While Not .EOF
  451.                 cboYear(0).AddItem .Fields(0)
  452.                 .MoveNext
  453.             Loop
  454.             End With
  455.             
  456.             cboYear(0).ListIndex = 0
  457.             
  458.             For j = 1 To 12
  459.                 cboMonth(0).AddItem j
  460.             Next j
  461.             cboMonth(0).Text = Month(Now())
  462.             
  463.             For j = 1 To 31
  464.                 cboDay.AddItem j
  465.             Next j
  466.             cboDay.Text = Day(Now())
  467.             
  468.         Else
  469.             cmdSave.Enabled = False
  470.         End If
  471.         mrc.Close
  472.             
  473.         
  474.             
  475.             
  476.     End If
  477.     
  478.     
  479.     
  480.     mblChange = False
  481.         
  482.     
  483.     
  484.     
  485. End Sub
  486. Private Sub Form_Unload(Cancel As Integer)
  487.     gintBBmode = 0
  488. End Sub
  489. Private Sub txtItem_Change(Index As Integer)
  490.     '有变化设置gblchange
  491.     mblChange = True
  492.     
  493. End Sub
  494. Private Sub txtItem_GotFocus(Index As Integer)
  495.     txtItem(Index).SelStart = 0
  496.     txtItem(Index).SelLength = Len(txtItem(Index))
  497.     
  498. End Sub
  499. Private Sub txtItem_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
  500.         EnterToTab KeyCode
  501. End Sub
  502. Private Sub cmdExit_Click()
  503.     If mblChange And cmdSave.Enabled Then
  504.         If MsgBox("保存当前记录的变化吗?", vbOKCancel + vbExclamation, "警告") = vbOK Then
  505.             '保存
  506.             Call cmdSave_Click
  507.         End If
  508.     End If
  509.     Unload Me
  510. End Sub