frmBuy.frm
上传用户:czxfzx
上传日期:2015-02-25
资源大小:749k
文件大小:11k
源码类别:

企业管理

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Object = "{86CF1D34-0C5F-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCT2.OCX"
  3. Begin VB.Form frmBuy 
  4.    BorderStyle     =   3  'Fixed Dialog
  5.    Caption         =   "进货信息"
  6.    ClientHeight    =   5610
  7.    ClientLeft      =   2760
  8.    ClientTop       =   3750
  9.    ClientWidth     =   6615
  10.    LinkTopic       =   "Form1"
  11.    MaxButton       =   0   'False
  12.    MinButton       =   0   'False
  13.    ScaleHeight     =   5610
  14.    ScaleWidth      =   6615
  15.    ShowInTaskbar   =   0   'False
  16.    Begin VB.Frame fraBuy 
  17.       Caption         =   "进货信息"
  18.       Height          =   4695
  19.       Left            =   240
  20.       TabIndex        =   11
  21.       Top             =   120
  22.       Width           =   6015
  23.       Begin VB.ComboBox cboMerchName 
  24.          Height          =   300
  25.          Left            =   1200
  26.          Style           =   2  'Dropdown List
  27.          TabIndex        =   0
  28.          Top             =   300
  29.          Width           =   1815
  30.       End
  31.       Begin VB.TextBox txtCount 
  32.          Height          =   350
  33.          Left            =   1200
  34.          MaxLength       =   8
  35.          TabIndex        =   5
  36.          Text            =   "txtCount"
  37.          Top             =   2640
  38.          Width           =   1335
  39.       End
  40.       Begin VB.ComboBox cboUnit 
  41.          Height          =   300
  42.          ItemData        =   "frmBuy.frx":0000
  43.          Left            =   2760
  44.          List            =   "frmBuy.frx":0007
  45.          Style           =   2  'Dropdown List
  46.          TabIndex        =   6
  47.          Top             =   2665
  48.          Width           =   1335
  49.       End
  50.       Begin MSComCtl2.DTPicker dtpBuyDate 
  51.          Height          =   345
  52.          Left            =   1200
  53.          TabIndex        =   2
  54.          Top             =   1210
  55.          Width           =   1815
  56.          _ExtentX        =   3201
  57.          _ExtentY        =   609
  58.          _Version        =   393216
  59.          Format          =   60030977
  60.          CurrentDate     =   38263
  61.       End
  62.       Begin VB.TextBox txtPrice 
  63.          Height          =   350
  64.          Left            =   1200
  65.          MaxLength       =   8
  66.          TabIndex        =   7
  67.          Text            =   "txtPrice"
  68.          Top             =   3155
  69.          Width           =   1335
  70.       End
  71.       Begin VB.TextBox txtConsignee 
  72.          Height          =   350
  73.          Left            =   1200
  74.          MaxLength       =   18
  75.          TabIndex        =   4
  76.          Text            =   "txtConsignee"
  77.          Top             =   2195
  78.          Width           =   2535
  79.       End
  80.       Begin VB.TextBox txtRemark 
  81.          Height          =   735
  82.          Left            =   1200
  83.          MultiLine       =   -1  'True
  84.          TabIndex        =   8
  85.          Text            =   "frmBuy.frx":0012
  86.          Top             =   3720
  87.          Width           =   4695
  88.       End
  89.       Begin VB.TextBox txtDeliver 
  90.          Height          =   350
  91.          Left            =   1200
  92.          MaxLength       =   20
  93.          TabIndex        =   3
  94.          Text            =   "txtDeliver"
  95.          Top             =   1700
  96.          Width           =   2535
  97.       End
  98.       Begin VB.ComboBox cboProvider 
  99.          Height          =   300
  100.          Left            =   1200
  101.          Style           =   2  'Dropdown List
  102.          TabIndex        =   1
  103.          Top             =   765
  104.          Width           =   1815
  105.       End
  106.       Begin VB.Label Label9 
  107.          AutoSize        =   -1  'True
  108.          Caption         =   "(人民币)"
  109.          Height          =   180
  110.          Left            =   2760
  111.          TabIndex        =   20
  112.          Top             =   3240
  113.          Width           =   900
  114.       End
  115.       Begin VB.Label Label8 
  116.          AutoSize        =   -1  'True
  117.          Caption         =   "购入单价"
  118.          Height          =   180
  119.          Left            =   240
  120.          TabIndex        =   19
  121.          Top             =   3240
  122.          Width           =   720
  123.       End
  124.       Begin VB.Label Label7 
  125.          AutoSize        =   -1  'True
  126.          Caption         =   "购入数量"
  127.          Height          =   180
  128.          Left            =   240
  129.          TabIndex        =   18
  130.          Top             =   2760
  131.          Width           =   720
  132.       End
  133.       Begin VB.Label Label6 
  134.          AutoSize        =   -1  'True
  135.          Caption         =   "经手人姓名"
  136.          Height          =   180
  137.          Left            =   240
  138.          TabIndex        =   17
  139.          Top             =   2280
  140.          Width           =   900
  141.       End
  142.       Begin VB.Label Label3 
  143.          AutoSize        =   -1  'True
  144.          Caption         =   "备注"
  145.          Height          =   180
  146.          Left            =   240
  147.          TabIndex        =   16
  148.          Top             =   3840
  149.          Width           =   360
  150.       End
  151.       Begin VB.Label Label1 
  152.          AutoSize        =   -1  'True
  153.          Caption         =   "购买商品"
  154.          Height          =   180
  155.          Left            =   240
  156.          TabIndex        =   15
  157.          Top             =   360
  158.          Width           =   720
  159.       End
  160.       Begin VB.Label Label2 
  161.          AutoSize        =   -1  'True
  162.          Caption         =   "送货人姓名"
  163.          Height          =   180
  164.          Left            =   240
  165.          TabIndex        =   14
  166.          Top             =   1800
  167.          Width           =   900
  168.       End
  169.       Begin VB.Label Label4 
  170.          AutoSize        =   -1  'True
  171.          Caption         =   "供应商"
  172.          Height          =   180
  173.          Left            =   240
  174.          TabIndex        =   13
  175.          Top             =   840
  176.          Width           =   540
  177.       End
  178.       Begin VB.Label Label5 
  179.          AutoSize        =   -1  'True
  180.          Caption         =   "进货时间"
  181.          Height          =   180
  182.          Left            =   240
  183.          TabIndex        =   12
  184.          Top             =   1320
  185.          Width           =   720
  186.       End
  187.    End
  188.    Begin VB.CommandButton OKButton 
  189.       Caption         =   "确定"
  190.       Height          =   330
  191.       Left            =   3480
  192.       TabIndex        =   9
  193.       Top             =   5040
  194.       Width           =   1215
  195.    End
  196.    Begin VB.CommandButton CancelButton 
  197.       Caption         =   "取消"
  198.       Height          =   330
  199.       Left            =   4920
  200.       TabIndex        =   10
  201.       Top             =   5040
  202.       Width           =   1215
  203.    End
  204. End
  205. Attribute VB_Name = "frmBuy"
  206. Attribute VB_GlobalNameSpace = False
  207. Attribute VB_Creatable = False
  208. Attribute VB_PredeclaredId = True
  209. Attribute VB_Exposed = False
  210. Option Explicit
  211. Private OK As Boolean             '确定用户按了OK还是CANCEL按钮
  212. Public m_ViewType As gxcViewType  '显示状态,指添加还是修改
  213. Private m_obj As clsBuy           '数据对象,用来存储用户输入数据
  214. Private m_Account As String       '调用此对话框的操作员
  215. '根据是“新增”还是修改,确定显示内容
  216. Private Sub SetStatus()
  217.   
  218.   '设置控件默认值
  219.   Call SetDefaultValue
  220.   
  221.   '设置状态
  222.   Select Case m_ViewType
  223.   Case vtadd    '添加
  224.     CancelButton.Visible = True
  225.     OKButton.Caption = "确定"
  226.   Case vtModify '修改
  227.     CancelButton.Visible = True
  228.     OKButton.Caption = "保存"
  229.   End Select
  230. End Sub
  231. '打开对话框,并传出用户输入数据
  232. Public Function ShowDlg(ByRef obj As Object, _
  233.                         ByVal eViewType As gxcViewType, _
  234.                         Optional strUser As String = "") As Boolean
  235.   '保存数据
  236.   Set m_obj = obj         '用户输入数据存放于此对象中
  237.   m_ViewType = eViewType  '对话框状态
  238.   m_Account = strUser     '调用此对话框的用户账号
  239.   
  240.   '根据新增、编辑或查看设置显示内容
  241.   SetStatus
  242.   
  243.   '显示对话框
  244.   OK = False
  245.   Me.Show vbModal
  246.   If OK = False Then
  247.     ShowDlg = False
  248.     Exit Function
  249.   End If
  250.   
  251.   '保存数据
  252.   Set obj = m_obj
  253.   
  254.   '返回并释放对话框
  255.   ShowDlg = True
  256.   Unload Me
  257.   
  258. End Function
  259. '设置控件默认值
  260. Private Sub SetDefaultValue()
  261.   Dim ctl As Control
  262.   Dim i As Integer
  263.   
  264.  
  265.  '如果是新增,则清空所有文本框
  266.  '此处判断 m_obj为空与判断m_ViewType = vtAdd等效,但更安全
  267.   If m_obj Is Nothing Then
  268.     For Each ctl In Controls
  269.       If TypeOf ctl Is TextBox Then
  270.         ctl.Text = ""
  271.       End If
  272.     Next
  273.   Else  '用传入对象的值更新数据
  274.     With m_obj
  275.       txtDeliver.Text = .Deliver
  276.       txtConsignee.Text = .Consignee
  277.       cboUnit.ListIndex = 0
  278.       txtCount.Text = .Count
  279.       txtPrice.Text = .StockPrice
  280.       txtRemark.Text = .Remark
  281.       dtpBuyDate.Value = .StockDate
  282.       
  283.       ' 选择商品
  284.       For i = 0 To cboMerchName.ListCount - 1
  285.         If cboMerchName.ItemData(i) = .MerchandiseID Then
  286.           cboMerchName.ListIndex = i         '商品Id
  287.           Exit For
  288.         End If
  289.       Next i
  290.       '选择供应商
  291.       For i = 0 To cboProvider.ListCount - 1
  292.         If cboProvider.ItemData(i) = .ProviderId Then
  293.           cboProvider.ListIndex = i         '供应商Id
  294.           Exit For
  295.         End If
  296.       Next i
  297.       
  298.     End With
  299.   End If
  300.   
  301. End Sub
  302. '检查输入有效性
  303. Private Function CheckValid() As Boolean
  304.   CheckValid = False
  305.   If txtDeliver.Text = "" _
  306.       Or txtConsignee.Text = "" _
  307.       Or txtCount.Text = "" _
  308.       Or txtPrice.Text = "" _
  309.       Or cboMerchName.Text = "" _
  310.       Or cboProvider.Text = "" _
  311.       Or txtRemark.Text = "" Then
  312.     MsgBox "请填写完毕以上各项内容"
  313.     Exit Function
  314.   End If
  315.   
  316.   If Not IsNumeric(txtPrice.Text) Then
  317.     MsgBox "价格请输入数字"
  318.     Exit Function
  319.   End If
  320.   If Not IsNumeric(txtCount.Text) Then
  321.     MsgBox "数量请输入数字"
  322.     Exit Function
  323.   End If
  324.   
  325.   If Not IsDate(dtpBuyDate.Value) Then
  326.     MsgBox "请输入正确的日期格式"
  327.     Exit Function
  328.   End If
  329.   
  330.   CheckValid = True
  331.   
  332. End Function
  333. '保存数据
  334. Private Sub SaveValue()
  335.   '给“成员变量”对象赋值
  336.   With m_obj
  337.     '注意以下利用RealString函数替换去除输入中的单引号
  338.     .Deliver = RealString(txtDeliver.Text)
  339.     .Consignee = RealString(txtConsignee.Text)
  340.     .Count = txtCount.Text
  341.     .StockPrice = txtPrice.Text
  342.     .StockDate = dtpBuyDate.Value
  343.     .Remark = RealString(txtRemark.Text)
  344.     .MerchandiseID = cboMerchName.ItemData(cboMerchName.ListIndex)
  345.     .MerchName = cboMerchName.Text
  346.     .ProviderId = cboProvider.ItemData(cboProvider.ListIndex)
  347.     .ProviderName = cboProvider.Text
  348.     .OperatorId = m_Account   '操作者账号
  349.     
  350.   End With
  351. End Sub
  352. '取消按钮
  353. Private Sub CancelButton_Click()
  354.   Unload Me
  355. End Sub
  356. Private Sub Form_Load()
  357.   Dim opMerch As New clsOpMerch
  358.   Dim opProvider As New clsOpProvider
  359.   opMerch.FillCombo cboMerchName
  360.   opProvider.FillCombo cboProvider
  361. End Sub
  362. '确定按钮
  363. Private Sub OKButton_Click()
  364.   OK = True
  365.   
  366.   '检测输入有效性
  367.   If Not CheckValid Then Exit Sub
  368.   
  369.   '如果是新增状态,则初始化一个数据对象
  370.   If m_ViewType = vtadd Then Set m_obj = New clsBuy
  371.   
  372.   '保存用户输入
  373.   SaveValue
  374.   Me.Hide
  375.   
  376. End Sub