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

系统设计方案

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Begin VB.Form frmBook1 
  3.    BorderStyle     =   3  'Fixed Dialog
  4.    Caption         =   "书籍信息"
  5.    ClientHeight    =   4812
  6.    ClientLeft      =   48
  7.    ClientTop       =   336
  8.    ClientWidth     =   7428
  9.    LinkTopic       =   "Form1"
  10.    MaxButton       =   0   'False
  11.    MinButton       =   0   'False
  12.    ScaleHeight     =   4812
  13.    ScaleWidth      =   7428
  14.    ShowInTaskbar   =   0   'False
  15.    StartUpPosition =   1  'CenterOwner
  16.    Begin VB.TextBox txtNo 
  17.       Height          =   270
  18.       Left            =   840
  19.       TabIndex        =   21
  20.       TabStop         =   0   'False
  21.       Top             =   4320
  22.       Visible         =   0   'False
  23.       Width           =   735
  24.    End
  25.    Begin VB.Frame Frame3 
  26.       Caption         =   "备注信息"
  27.       Height          =   1215
  28.       Left            =   240
  29.       TabIndex        =   16
  30.       Top             =   2760
  31.       Width           =   6972
  32.       Begin VB.TextBox txtItem 
  33.          Height          =   840
  34.          Index           =   7
  35.          Left            =   120
  36.          MultiLine       =   -1  'True
  37.          ScrollBars      =   2  'Vertical
  38.          TabIndex        =   8
  39.          Top             =   240
  40.          Width           =   6732
  41.       End
  42.    End
  43.    Begin VB.Frame Frame1 
  44.       Caption         =   "书籍信息"
  45.       Height          =   2412
  46.       Left            =   240
  47.       TabIndex        =   10
  48.       Top             =   240
  49.       Width           =   6972
  50.       Begin VB.TextBox txtItem 
  51.          Height          =   270
  52.          Index           =   6
  53.          Left            =   4560
  54.          MaxLength       =   10
  55.          TabIndex        =   7
  56.          Top             =   1920
  57.          Width           =   2172
  58.       End
  59.       Begin VB.TextBox txtItem 
  60.          Height          =   270
  61.          Index           =   5
  62.          Left            =   4560
  63.          MaxLength       =   10
  64.          TabIndex        =   6
  65.          Top             =   1440
  66.          Width           =   2172
  67.       End
  68.       Begin VB.TextBox txtItem 
  69.          Height          =   270
  70.          Index           =   4
  71.          Left            =   4560
  72.          MaxLength       =   5
  73.          TabIndex        =   5
  74.          Top             =   960
  75.          Width           =   2172
  76.       End
  77.       Begin VB.TextBox txtItem 
  78.          Height          =   270
  79.          Index           =   3
  80.          Left            =   4560
  81.          MaxLength       =   10
  82.          TabIndex        =   4
  83.          Top             =   480
  84.          Width           =   2172
  85.       End
  86.       Begin VB.TextBox txtItem 
  87.          Height          =   270
  88.          Index           =   2
  89.          Left            =   1200
  90.          MaxLength       =   20
  91.          TabIndex        =   3
  92.          Top             =   1920
  93.          Width           =   2172
  94.       End
  95.       Begin VB.TextBox txtItem 
  96.          Height          =   270
  97.          Index           =   1
  98.          Left            =   1200
  99.          MaxLength       =   20
  100.          TabIndex        =   2
  101.          Top             =   1440
  102.          Width           =   2175
  103.       End
  104.       Begin VB.TextBox txtItem 
  105.          Height          =   270
  106.          Index           =   0
  107.          Left            =   1200
  108.          MaxLength       =   20
  109.          TabIndex        =   0
  110.          Top             =   480
  111.          Width           =   2175
  112.       End
  113.       Begin VB.ComboBox cboItem 
  114.          Height          =   288
  115.          Index           =   0
  116.          Left            =   1200
  117.          Style           =   2  'Dropdown List
  118.          TabIndex        =   1
  119.          Top             =   960
  120.          Width           =   2175
  121.       End
  122.       Begin VB.Label Label2 
  123.          Caption         =   "登记日期:"
  124.          Height          =   252
  125.          Index           =   6
  126.          Left            =   3600
  127.          TabIndex        =   20
  128.          Top             =   1920
  129.          Width           =   972
  130.       End
  131.       Begin VB.Label Label2 
  132.          Caption         =   "关键词:"
  133.          Height          =   252
  134.          Index           =   5
  135.          Left            =   3600
  136.          TabIndex        =   19
  137.          Top             =   1440
  138.          Width           =   972
  139.       End
  140.       Begin VB.Label Label2 
  141.          Caption         =   "书籍页数:"
  142.          Height          =   252
  143.          Index           =   4
  144.          Left            =   3600
  145.          TabIndex        =   18
  146.          Top             =   960
  147.          Width           =   972
  148.       End
  149.       Begin VB.Label Label2 
  150.          Caption         =   "出版日期:"
  151.          Height          =   252
  152.          Index           =   2
  153.          Left            =   3600
  154.          TabIndex        =   17
  155.          Top             =   480
  156.          Width           =   972
  157.       End
  158.       Begin VB.Label Label2 
  159.          Caption         =   "出版社名称:"
  160.          Height          =   255
  161.          Index           =   3
  162.          Left            =   240
  163.          TabIndex        =   15
  164.          Top             =   1920
  165.          Width           =   975
  166.       End
  167.       Begin VB.Label Label2 
  168.          Caption         =   "书籍名称:"
  169.          Height          =   255
  170.          Index           =   0
  171.          Left            =   240
  172.          TabIndex        =   14
  173.          Top             =   480
  174.          Width           =   975
  175.       End
  176.       Begin VB.Label Label2 
  177.          Caption         =   "书籍类别:"
  178.          Height          =   255
  179.          Index           =   1
  180.          Left            =   240
  181.          TabIndex        =   13
  182.          Top             =   960
  183.          Width           =   975
  184.       End
  185.       Begin VB.Label Label2 
  186.          Caption         =   "作者姓名:"
  187.          Height          =   255
  188.          Index           =   16
  189.          Left            =   240
  190.          TabIndex        =   12
  191.          Top             =   1440
  192.          Width           =   975
  193.       End
  194.    End
  195.    Begin VB.CommandButton cmdExit 
  196.       Caption         =   "返回 (&X)"
  197.       Height          =   375
  198.       Left            =   4320
  199.       TabIndex        =   11
  200.       Top             =   4200
  201.       Width           =   1215
  202.    End
  203.    Begin VB.CommandButton cmdSave 
  204.       Caption         =   "保存 (&S)"
  205.       Height          =   375
  206.       Left            =   2880
  207.       TabIndex        =   9
  208.       Top             =   4200
  209.       Width           =   1215
  210.    End
  211. End
  212. Attribute VB_Name = "frmBook1"
  213. Attribute VB_GlobalNameSpace = False
  214. Attribute VB_Creatable = False
  215. Attribute VB_PredeclaredId = True
  216. Attribute VB_Exposed = False
  217. Option Explicit
  218. '是否改动过记录,ture为改过
  219. Dim mblChange As Boolean
  220. Dim mrc As ADODB.Recordset
  221. Public txtSQL As String
  222. Private Sub cboItem_Change(Index As Integer)
  223.     '有变化设置gblchange
  224.     mblChange = True
  225. End Sub
  226. Private Sub cboItem_Click(Index As Integer)
  227.     Dim sSql As String
  228.     Dim MsgText As String
  229.     Dim mrcc As ADODB.Recordset
  230.     
  231.     
  232.   
  233.     
  234.     
  235.     
  236.     
  237. End Sub
  238. Private Sub cboItem_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
  239.     EnterToTab KeyCode
  240.     
  241. End Sub
  242. Private Sub cmdExit_Click()
  243.     If mblChange And cmdSave.Enabled Then
  244.         If MsgBox("保存当前记录的变化吗?", vbOKCancel + vbExclamation, "警告") = vbOK Then
  245.             '保存
  246.             Call cmdSave_Click
  247.         End If
  248.     End If
  249.     Unload Me
  250. End Sub
  251. Private Sub cmdSave_Click()
  252.     Dim intCount As Integer
  253.     Dim sMeg As String
  254.     Dim mrcc As ADODB.Recordset
  255.     Dim MsgText As String
  256.     
  257.     For intCount = 0 To 6
  258.         If Trim(txtItem(intCount) & " ") = "" Then
  259.             Select Case intCount
  260.                 Case 0
  261.                     sMeg = "书籍名称"
  262.                 Case 1
  263.                     sMeg = "作者姓名"
  264.                 Case 2
  265.                     sMeg = "出版社名称"
  266.                 Case 3
  267.                     sMeg = "出版日期"
  268.                 Case 4
  269.                     sMeg = "书籍页码"
  270.                 Case 5
  271.                     sMeg = "关键词"
  272.                 Case 6
  273.                     sMeg = "登记日期"
  274.                 
  275.             End Select
  276.             sMeg = sMeg & "不能为空!"
  277.             MsgBox sMeg, vbOKOnly + vbExclamation, "警告"
  278.             txtItem(intCount).SetFocus
  279.         
  280.             Exit Sub
  281.         End If
  282.     Next intCount
  283.     
  284.     For intCount = 3 To 6 Step 3
  285.         If Not IsDate(Trim(txtItem(intCount) & " ")) Then
  286.             Select Case intCount
  287.                 Case 3
  288.                     sMeg = "出版日期"
  289.                 Case 6
  290.                     sMeg = "登记日期"
  291.                 
  292.             End Select
  293.             sMeg = sMeg & "请输入日期!"
  294.             MsgBox sMeg, vbOKOnly + vbExclamation, "警告"
  295.             txtItem(intCount).SetFocus
  296.         
  297.             Exit Sub
  298.         End If
  299.     Next intCount
  300.         
  301.    
  302.     
  303.     If gintBmode = 1 Then
  304.         txtSQL = "select * from books where bookname ='" & Trim(txtItem(0)) & "' and bookauthor = '" & Trim(txtItem(1)) & "' and bookpub = '" & Trim(txtItem(2)) & "'"
  305.         Set mrc = ExecuteSQL(txtSQL, MsgText)
  306.         If mrc.EOF = False Then
  307.             MsgBox "已经存在此书籍的记录!", vbOKOnly + vbExclamation, "警告"
  308.             txtItem(0).SetFocus
  309.             Exit Sub
  310.         End If
  311.         mrc.Close
  312.     End If
  313.     
  314.     
  315.     If gintBmode = 2 Then
  316.         '先删除已有记录
  317.         txtSQL = "delete from books where bookid ='" & Trim(txtNo) & "'"
  318.         Set mrc = ExecuteSQL(txtSQL, MsgText)
  319.     End If
  320.     
  321.     '再加入新记录
  322.     txtSQL = "select * from books"
  323.     Set mrc = ExecuteSQL(txtSQL, MsgText)
  324.     mrc.AddNew
  325.     mrc.Fields(0) = Trim(txtNo)
  326.     mrc.Fields(1) = Trim(txtItem(0))
  327.     mrc.Fields(2) = Trim(cboItem(0))
  328.     
  329.     For intCount = 3 To 8
  330.         If Trim(txtItem(intCount - 2) & " ") = "" Then
  331.             mrc.Fields(intCount) = Null
  332.         Else
  333.             mrc.Fields(intCount) = Trim(txtItem(intCount - 2))
  334.         End If
  335.     Next intCount
  336.     
  337.     mrc.Fields(9) = " "
  338.     mrc.Fields(10) = Trim(txtItem(7))
  339.     
  340.     mrc.Update
  341.     mrc.Close
  342.    
  343.     
  344.         
  345.     If gintBmode = 1 Then
  346.         For intCount = 0 To 7
  347.             txtItem(intCount) = ""
  348.         Next intCount
  349.         
  350.         mblChange = False
  351.         If flagBedit Then
  352.             Unload frmBook
  353.             frmBook.txtSQL = "select * from books"
  354.             frmBook.Show
  355.         End If
  356.     ElseIf gintBmode = 2 Then
  357.         Unload Me
  358.         If flagBedit Then
  359.             Unload frmBook
  360.         End If
  361.         frmBook.txtSQL = "select * from books"
  362.         frmBook.Show
  363.         
  364.     End If
  365.     
  366. End Sub
  367. Private Sub Form_Load()
  368.     Dim sSql As String
  369.     Dim intCount As Integer
  370.     Dim MsgText As String
  371.     Dim mrcc As ADODB.Recordset
  372.     
  373.     
  374.    
  375.     If gintBmode = 1 Then
  376.         Me.Caption = Me.Caption & "添加"
  377.         
  378.         '初始化物资名称
  379.         txtSQL = "select DISTINCT typename from booktype"
  380.         Set mrc = ExecuteSQL(txtSQL, MsgText)
  381.         
  382.         If Not mrc.EOF Then
  383.             
  384.                 Do While Not mrc.EOF
  385.                     cboItem(0).AddItem Trim(mrc.Fields(0))
  386.                     mrc.MoveNext
  387.                 Loop
  388.                 cboItem(0).ListIndex = 0
  389.             
  390.         Else
  391.             MsgBox "请先进行书籍标准设置!", vbOKOnly + vbExclamation, "警告"
  392.             cmdSave.Enabled = False
  393.             Exit Sub
  394.         End If
  395.         mrc.Close
  396.         txtNo = GetRkno()
  397.         
  398.         
  399.                 
  400.     ElseIf gintBmode = 2 Then
  401.        
  402.         
  403.         
  404.         Set mrcc = ExecuteSQL(txtSQL, MsgText)
  405.         
  406.         If mrcc.EOF = False Then
  407.             With mrcc
  408.             
  409.                 txtNo = .Fields(0)
  410.                 
  411.                 txtItem(0) = .Fields(1)
  412.                 
  413.                 
  414.                                 
  415.                 For intCount = 1 To 6
  416.                     If Not IsNull(.Fields(intCount + 2)) Then
  417.                         txtItem(intCount) = .Fields(intCount + 2)
  418.                     End If
  419.                 Next intCount
  420.                 
  421.                 txtItem(7) = .Fields(9)
  422.                 
  423.                 txtSQL = "select DISTINCT typename from booktype"
  424.                 cboItem(0).Clear
  425.                 Set mrc = ExecuteSQL(txtSQL, MsgText)
  426.                 
  427.                 If Not mrc.EOF Then
  428.                     
  429.                         Do While Not mrc.EOF
  430.                             cboItem(0).AddItem Trim(mrc.Fields(0))
  431.                             mrc.MoveNext
  432.                         Loop
  433.                         
  434.                     
  435.                 Else
  436.                     MsgBox "请先进行书籍种类设置!", vbOKOnly + vbExclamation, "警告"
  437.                     cmdSave.Enabled = False
  438.                     Exit Sub
  439.                 End If
  440.                 mrc.Close
  441.                 
  442.                              
  443.             End With
  444.             
  445.         End If
  446.         mrcc.Close
  447.         Me.Caption = Me.Caption & "修改"
  448.             
  449.         
  450.     End If
  451.     
  452.     mblChange = False
  453.     
  454.     
  455. End Sub
  456. Private Sub Form_Unload(Cancel As Integer)
  457.     gintBmode = 0
  458. End Sub
  459. Private Sub txtItem_Change(Index As Integer)
  460.     '有变化设置gblchange
  461.     mblChange = True
  462.     
  463.     
  464. End Sub
  465. Private Sub txtItem_GotFocus(Index As Integer)
  466.     txtItem(Index).SelStart = 0
  467.     txtItem(Index).SelLength = Len(txtItem(Index))
  468.     
  469. End Sub
  470. Private Sub txtItem_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
  471.         EnterToTab KeyCode
  472. End Sub
  473. Private Function GetRkno() As String
  474.     GetRkno = Format(Now, "yymmddhhmmss")
  475.     Randomize
  476.     GetRkno = GetRkno & Int((99 - 10 + 1) * Rnd + 10)
  477. End Function