AddCur.frm
上传用户:cntx88
上传日期:2022-08-07
资源大小:169k
文件大小:10k
源码类别:

企业管理

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Object = "{86CF1D34-0C5F-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCT2.OCX"
  3. Begin VB.Form AddCur 
  4.    Caption         =   "添加报销记录"
  5.    ClientHeight    =   7005
  6.    ClientLeft      =   60
  7.    ClientTop       =   450
  8.    ClientWidth     =   7830
  9.    LinkTopic       =   "Form1"
  10.    ScaleHeight     =   7005
  11.    ScaleWidth      =   7830
  12.    StartUpPosition =   3  'Windows Default
  13.    Begin VB.Frame Frame1 
  14.       Caption         =   "报销记录添加"
  15.       Height          =   6735
  16.       Left            =   120
  17.       TabIndex        =   0
  18.       Top             =   120
  19.       Width           =   7575
  20.       Begin VB.CommandButton Command2 
  21.          Caption         =   "放弃退出"
  22.          Height          =   495
  23.          Left            =   4080
  24.          TabIndex        =   15
  25.          Top             =   6120
  26.          Width           =   3135
  27.       End
  28.       Begin VB.CommandButton Command1 
  29.          Caption         =   "确定提交"
  30.          Height          =   495
  31.          Left            =   360
  32.          TabIndex        =   14
  33.          Top             =   6120
  34.          Width           =   3135
  35.       End
  36.       Begin VB.ComboBox Combo2 
  37.          Height          =   300
  38.          Left            =   5160
  39.          TabIndex        =   13
  40.          Text            =   "Combo2"
  41.          Top             =   1200
  42.          Width           =   2175
  43.       End
  44.       Begin VB.TextBox Text4 
  45.          Height          =   4215
  46.          Left            =   120
  47.          MultiLine       =   -1  'True
  48.          TabIndex        =   6
  49.          Text            =   "AddCur.frx":0000
  50.          Top             =   1800
  51.          Width           =   7215
  52.       End
  53.       Begin VB.ComboBox Combo1 
  54.          Height          =   300
  55.          Left            =   2640
  56.          TabIndex        =   5
  57.          Text            =   "Combo1"
  58.          Top             =   600
  59.          Width           =   2175
  60.       End
  61.       Begin MSComCtl2.DTPicker DTPicker1 
  62.          Height          =   255
  63.          Left            =   2640
  64.          TabIndex        =   4
  65.          Top             =   1200
  66.          Width           =   2175
  67.          _ExtentX        =   3836
  68.          _ExtentY        =   450
  69.          _Version        =   393216
  70.          Format          =   662831105
  71.          CurrentDate     =   38012
  72.       End
  73.       Begin VB.TextBox Text3 
  74.          Height          =   270
  75.          Left            =   120
  76.          TabIndex        =   3
  77.          Text            =   "Text3"
  78.          Top             =   1200
  79.          Width           =   2175
  80.       End
  81.       Begin VB.TextBox Text2 
  82.          Height          =   270
  83.          Left            =   5160
  84.          TabIndex        =   2
  85.          Text            =   "Text2"
  86.          Top             =   600
  87.          Width           =   2175
  88.       End
  89.       Begin VB.TextBox Text1 
  90.          Height          =   270
  91.          Left            =   120
  92.          TabIndex        =   1
  93.          Text            =   "Text1"
  94.          Top             =   600
  95.          Width           =   2175
  96.       End
  97.       Begin VB.Label Label7 
  98.          Caption         =   "报销说明"
  99.          Height          =   255
  100.          Left            =   120
  101.          TabIndex        =   16
  102.          Top             =   1560
  103.          Width           =   1815
  104.       End
  105.       Begin VB.Label Label6 
  106.          Caption         =   "报销部门"
  107.          Height          =   255
  108.          Left            =   5160
  109.          TabIndex        =   12
  110.          Top             =   960
  111.          Width           =   1815
  112.       End
  113.       Begin VB.Label Label5 
  114.          Caption         =   "报销人ID编号"
  115.          Height          =   255
  116.          Left            =   120
  117.          TabIndex        =   11
  118.          Top             =   960
  119.          Width           =   1815
  120.       End
  121.       Begin VB.Label Label4 
  122.          Caption         =   "报销日期"
  123.          Height          =   255
  124.          Left            =   2640
  125.          TabIndex        =   10
  126.          Top             =   960
  127.          Width           =   1815
  128.       End
  129.       Begin VB.Label Label3 
  130.          Caption         =   "报销金额"
  131.          Height          =   255
  132.          Left            =   5160
  133.          TabIndex        =   9
  134.          Top             =   360
  135.          Width           =   1815
  136.       End
  137.       Begin VB.Label Label2 
  138.          Caption         =   "报销类别"
  139.          Height          =   255
  140.          Left            =   2640
  141.          TabIndex        =   8
  142.          Top             =   360
  143.          Width           =   1815
  144.       End
  145.       Begin VB.Label Label1 
  146.          Caption         =   "报销单号"
  147.          Height          =   255
  148.          Left            =   120
  149.          TabIndex        =   7
  150.          Top             =   360
  151.          Width           =   1815
  152.       End
  153.    End
  154. End
  155. Attribute VB_Name = "AddCur"
  156. Attribute VB_GlobalNameSpace = False
  157. Attribute VB_Creatable = False
  158. Attribute VB_PredeclaredId = True
  159. Attribute VB_Exposed = False
  160. Option Explicit
  161. Private Sub Command1_Click()
  162.     Dim sql As String
  163.     Dim rs As New ADODB.Recordset
  164.     
  165.     If Text1.Text = "" Then     '判断报销单编号输入框不为空
  166.         MsgBox "报销单编号不能为空!", vbCritical
  167.         Text1.SetFocus
  168.         Exit Sub
  169.     End If
  170.     If Text2.Text = "" Then     '判断报销金额输入框不为空
  171.         MsgBox "报销金额不能为空!", vbCritical
  172.         Text2.SetFocus
  173.         Exit Sub
  174.     End If
  175.     If Text3.Text = "" Then      '判断报销人ID输入框不为空
  176.         MsgBox "报销人ID不能为空! ", vbCritical
  177.         Text3.SetFocus
  178.         Exit Sub
  179.     End If
  180.     If Text4.Text = "" Then      '判断报销说明输入框不为空
  181.         MsgBox "报销说明不能为空!", vbCritical
  182.         Text4.SetFocus
  183.         Exit Sub
  184.     End If
  185.     If Not IsNumeric(Text2.Text) Then       '判断资产数目必须是数字
  186.         MsgBox "资产数目必须是数字!", vbCritical
  187.         Text2.SetFocus
  188.         Exit Sub
  189.     End If
  190.     If Combo1.ListIndex = -1 Then       '判断报销类别下拉列表必须选择
  191.         MsgBox "报销类别必须选择!", vbCritical
  192.         Combo1.SetFocus
  193.         Exit Sub
  194.     End If
  195.     If Combo2.ListIndex = -1 Then       '判断部门下拉列表必须选择
  196.         MsgBox "部门必须选择!", vbCritical
  197.         Combo2.SetFocus
  198.         Exit Sub
  199.     End If
  200.     
  201.     If DbHandle.DbConnection Then       '打开DSN数据库源连接
  202.         sql = "TBL_CUR"     '对流动资产表进行操作
  203.         rs.CursorType = adOpenDynamic
  204.         rs.LockType = adLockOptimistic
  205.         rs.Filter = "CUR_ID='" & Text1.Text & "'"       '选择指定ID的记录
  206.         rs.Open sql, DbFinance
  207.         If DbHandle.resultcount(rs) = 1 Then        '如果记录已经存在则提示对话框并且关闭数据库
  208.             MsgBox "报销单编号已经存在!", vbExclamation
  209.             rs.Close
  210.             DbHandle.DbClose
  211.             Exit Sub
  212.         End If
  213.         rs.Close
  214.         sql = "TBL_USER"        '如果记录不存在打开职工表进一步验证职工ID号是否存在
  215.         rs.CursorType = adOpenDynamic
  216.         rs.LockType = adLockOptimistic
  217.         rs.Filter = "USER_ID='" & Text3.Text & "'"
  218.         rs.Open sql, DbFinance
  219.         If DbHandle.resultcount(rs) <> 1 Then       '如果职工ID记录不存在则提示错误对话框并且关闭数据库
  220.             MsgBox "错误,不存在的职工ID号!", vbExclamation
  221.             Text3.SetFocus
  222.             rs.Close
  223.             Set rs = Nothing        '释放结果记录集
  224.             DbHandle.DbClose
  225.             Exit Sub
  226.         Else
  227.             rs.Close
  228.             sql = "TBL_CUR"     '如果职工和报销单号都没有问题就打开流动资产表添加新记录
  229.             rs.Filter = ""
  230.             rs.Open sql, DbFinance
  231.             rs.AddNew
  232.             rs("CUR_ID") = Text1.Text       '报销单编号
  233.             rs("CUR_TYPE") = Combo1.ItemData(Combo1.ListIndex)      '报销类别
  234.             rs("CUR_MONEY") = Val(Text2.Text)       '报销金额
  235.             rs("CUR_USER") = Text3.Text     '报销职工的ID
  236.             rs("CUR_DATE") = Me.DTPicker1.Value     '报销时间
  237.             rs("CUR_PART") = Combo2.ItemData(Combo2.ListIndex)      '报销部门
  238.             rs("CUR_REMARK") = Text4.Text       '报销说明
  239.             rs.Update
  240.             rs.Close
  241.         End If
  242.         DbHandle.DbClose
  243.         MsgBox "报销记录成功添加!"
  244.         Unload Me
  245.     Else        '数据库打开失败则提示并关闭数据库
  246.         MsgBox "数据库错误!", vbExclamation
  247.         DbHandle.DbClose
  248.         End
  249.     End If
  250. End Sub
  251. Private Sub Command2_Click()
  252.     Unload Me       '取消添加并且返回主窗体
  253. End Sub
  254. Private Sub Form_Load()
  255.     Dim sql As String
  256.     Dim rs As New ADODB.Recordset
  257.     
  258.     Me.Left = (Screen.Width - Me.ScaleWidth) / 2        '居中显示当前窗体
  259.     Me.Top = (Screen.Height - Me.ScaleHeight) / 2
  260.     If DbHandle.DbConnection Then       '打开数据库连接
  261.         sql = "TBL_CURTYPE"     '将报销类别从数据库中取出来并且显示在下拉列表中
  262.         rs.CursorType = adOpenDynamic
  263.         rs.LockType = adLockOptimistic
  264.         rs.Filter = ""
  265.         rs.Open sql, DbFinance
  266.         
  267.         Do While rs.EOF = False     '从查找出来的结果集中循环加入下拉列表中,并且记录每个报销类别编号
  268.             Combo1.AddItem (rs("CURTYPE_NAME"))
  269.             Combo1.ItemData(Combo1.NewIndex) = rs("CURTYPE_ID")
  270.             rs.MoveNext
  271.         Loop
  272.         rs.Close
  273.         Set rs = Nothing        '添加完成释放结果集
  274.         DbHandle.DbClose
  275.     Else        '打开数据库失败弹出错误窗体
  276.         MsgBox "数据库错误!", vbExclamation
  277.         DbHandle.DbClose
  278.         End
  279.     End If
  280.     If DbHandle.DbConnection Then   '再次打开数据库提取部门信息
  281.         sql = "TBL_PART"        '对部门表进行全部选择
  282.         rs.CursorType = adOpenDynamic
  283.         rs.LockType = adLockOptimistic
  284.         rs.Filter = ""
  285.         rs.Open sql, DbFinance
  286.         
  287.         Do While rs.EOF = False     '对选择出来的部门结果集遍历,加入下拉列表中
  288.             Combo2.AddItem (rs("PART_NAME"))
  289.             Combo2.ItemData(Combo2.NewIndex) = rs("PART_ID")
  290.             rs.MoveNext
  291.         Loop
  292.         rs.Close        '完成下拉列表的动态添加,释放结果集资源,关闭数据库连接
  293.         Set rs = Nothing
  294.         DbHandle.DbClose
  295.     Else        '打开数据库失败弹出错误窗体
  296.         MsgBox "数据库错误!", vbExclamation
  297.         DbHandle.DbClose
  298.         End
  299.     End If
  300.     Text1.Text = ""     '初始化窗体元素属性
  301.     Text2.Text = ""
  302.     Text3.Text = ""
  303.     Text4.Text = ""
  304.     Text4.MaxLength = 100
  305.     Combo1.Text = ""
  306.     Combo2.Text = ""
  307. End Sub