frmTicket1.frm
上传用户:darkchong
上传日期:2007-06-21
资源大小:44k
文件大小:18k
源码类别:

交通/航空行业

开发平台:

Visual Basic

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