⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 新增报损单.frm

📁 一个完整的仓库管理系统
💻 FRM
📖 第 1 页 / 共 2 页
字号:
      Top             =   2220
      Width           =   795
   End
   Begin VB.Label Label7 
      BackColor       =   &H00FFFF80&
      BackStyle       =   0  'Transparent
      Caption         =   "数量"
      Height          =   255
      Left            =   2460
      TabIndex        =   18
      Top             =   1740
      Width           =   435
   End
   Begin VB.Label Label6 
      BackColor       =   &H00FFFF80&
      BackStyle       =   0  'Transparent
      Caption         =   "报损单价"
      Height          =   255
      Left            =   240
      TabIndex        =   17
      Top             =   1740
      Width           =   795
   End
   Begin VB.Label Label5 
      BackColor       =   &H00FFFF80&
      BackStyle       =   0  'Transparent
      Caption         =   "货名规格"
      Height          =   255
      Left            =   2460
      TabIndex        =   16
      Top             =   1260
      Width           =   795
   End
   Begin VB.Label Label4 
      BackColor       =   &H00FFFF80&
      BackStyle       =   0  'Transparent
      Caption         =   "存放仓库"
      Height          =   255
      Left            =   240
      TabIndex        =   15
      Top             =   2700
      Width           =   735
   End
   Begin VB.Label Label3 
      Appearance      =   0  'Flat
      BackColor       =   &H00FFFF80&
      BackStyle       =   0  'Transparent
      Caption         =   "日期:"
      ForeColor       =   &H80000008&
      Height          =   255
      Left            =   4320
      TabIndex        =   14
      Top             =   780
      Width           =   495
   End
   Begin VB.Label Label2 
      BackColor       =   &H00FFFF80&
      BackStyle       =   0  'Transparent
      Caption         =   "报  损  单"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   18
         Charset         =   134
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   375
      Left            =   2520
      TabIndex        =   13
      Top             =   180
      Width           =   1935
   End
   Begin VB.Label Label1 
      BackColor       =   &H00FFFF80&
      BackStyle       =   0  'Transparent
      Caption         =   "编号:"
      Height          =   255
      Left            =   300
      TabIndex        =   12
      Top             =   780
      Width           =   495
   End
End
Attribute VB_Name = "新增报损单"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private 客户编号 As String
Private 仓库编号 As String
Private 经办人编号 As String
Private bkcolor As Long

Option Explicit

Private Sub ChangeBackColor(bkcolor As Long)

    Me.BackColor = bkcolor
    保存.BackColor = bkcolor
    打印.BackColor = bkcolor
    更改背景.BackColor = bkcolor

    
    编号.BackColor = bkcolor
    货物编号.BackColor = bkcolor
    年.BackColor = bkcolor
    月.BackColor = bkcolor
    日.BackColor = bkcolor
    货名规格.BackColor = bkcolor
    单价.BackColor = bkcolor
    单位.BackColor = bkcolor
    数量.BackColor = bkcolor
    金额.BackColor = bkcolor
    其它金额.BackColor = bkcolor
    存放仓库.BackColor = bkcolor
    备注.BackColor = bkcolor
    经办人.BackColor = bkcolor
    
End Sub

Private Sub lockcontrol()
    
    编号.Locked = True
    年.Locked = True: 月.Locked = True: 日.Locked = True
    货物编号.Locked = True
    货名规格.Locked = True
    单价.Locked = True
    单位.Locked = True
    数量.Locked = True
    金额.Locked = True
    其它金额.Locked = True
    存放仓库.Locked = True
    备注.Locked = True
    经办人.Locked = True
    
End Sub

Private Sub Form_Load()
    bkcolor = RGB(128, 255, 255)
End Sub

Private Sub Form_Resize()
        
    On Error Resume Next
    
    '新增状态
    If 编号 = "" Then
        '初始化年月日
        年.Text = Year(Date)
        月.Text = Month(Date)
        日.Text = Day(Date)
        
        '初始化编号
        fMainForm.m_checkado.RecordSource = "select 编号 from 报损单"
        fMainForm.m_checkado.Refresh
        If fMainForm.m_checkado.Recordset.RecordCount > 0 Then
            fMainForm.m_checkado.Recordset.MoveLast
            编号.Text = fMainForm.m_checkado.Recordset.Fields("编号").Value + 1
        Else
            编号.Text = 1
        End If
    Else '打印状态
        fMainForm.m_checkado.RecordSource = "select 货物信息.编号,货物信息.货物名称,货物信息.货物规格,职员信息.姓名 as 经办人,报损单.报损时间,报损单.报损单价,货物信息.计量单位,报损单.报损数量,(报损单.报损单价*报损单.报损数量) as 金额,报损单.其它金额,仓库.仓库名称 as 存放仓库,报损单.备注 from 报损单,货物信息,职员信息,仓库 where 货物信息.编号=报损单.货物编号 and 职员信息.编号=报损单.经办人编号 and 仓库.编号=报损单.仓库编号 and 报损单.编号=" + 编号
        fMainForm.m_checkado.Refresh
        货物编号.Text = fMainForm.m_checkado.Recordset.Fields("编号").Value
        货名规格.Text = fMainForm.m_checkado.Recordset.Fields("货物名称").Value
        单价.Text = fMainForm.m_checkado.Recordset.Fields("报损单价").Value
        单位.Text = fMainForm.m_checkado.Recordset.Fields("计量单位").Value
        数量.Text = fMainForm.m_checkado.Recordset.Fields("报损数量").Value
        金额.Text = fMainForm.m_checkado.Recordset.Fields("金额").Value
        其它金额.Text = fMainForm.m_checkado.Recordset.Fields("其它金额").Value
        存放仓库.Text = fMainForm.m_checkado.Recordset.Fields("存放仓库").Value
        备注.Text = fMainForm.m_checkado.Recordset.Fields("备注").Value
        经办人.Text = fMainForm.m_checkado.Recordset.Fields("经办人").Value
        
        Dim t As Date
        t = fMainForm.m_checkado.Recordset.Fields("报损时间").Value
        年.Text = Year(t)
        月.Text = Month(t)
        日.Text = Day(t)
        
        '锁住控件
        lockcontrol
        
        打印.Visible = True
        保存.Visible = False
        更改背景.Visible = True
        
    End If
End Sub



Private Sub 保存_Click()
        
    If 年.Text = "" Or 月.Text = "" Or 日.Text = "" Then MsgBox "请填写日期!", vbQuestion: Exit Sub
    If 货物编号.Text = "" Then MsgBox "请填写货物信息!", vbQuestion: Exit Sub
    If 单价.Text = "" Then MsgBox "请填写报损单价!", vbQuestion: Exit Sub
    If 数量.Text = "" Then MsgBox "请填数量!", vbQuestion: Exit Sub
    If 存放仓库.Text = "" Then MsgBox "请填写存放仓库!", vbQuestion: Exit Sub
    If 经办人.Text = "" Then MsgBox "请填写经办人!", vbQuestion: Exit Sub
    
    On Error Resume Next
    '检测有没有足够的库存
    fMainForm.m_checkado.RecordSource = "select sum(select 库存数量 from 库存状况 where 仓库编号=仓库.编号 and 货物编号=" + 货物编号.Text + ") as 库存量 from 仓库,货物信息 where 仓库.编号=" + Str(仓库编号) + " and 货物信息.编号=" + 货物编号.Text
    fMainForm.m_checkado.Refresh
    Dim max As String
    On Error Resume Next
    max = fMainForm.m_checkado.Recordset.Fields(0).Value
    
    '如果超过最高限量
    Dim a, b As Long
    a = 数量.Text: b = max
    If a > b Then
        MsgBox "报损失败,不能报损" + 数量.Text + ",库存剩余量为" + Str(max)
        Exit Sub
    End If

    '库存量足够
    '开始写出新的报损单到数据库
    On Error Resume Next
    fMainForm.m_checkado.RecordSource = "select 编号,货物编号,经办人编号,报损时间,报损单价,报损数量,仓库编号,其它金额,备注 from 报损单"
    fMainForm.m_checkado.Refresh
    
    
    fMainForm.m_checkado.Recordset.AddNew
    fMainForm.m_checkado.Recordset.Fields("编号") = 编号.Text
    fMainForm.m_checkado.Recordset.Fields("货物编号") = 货物编号.Text
    fMainForm.m_checkado.Recordset.Fields("经办人编号") = 经办人编号
    fMainForm.m_checkado.Recordset.Fields("报损时间") = 年.Text + "-" + 月.Text + "-" + 日.Text
    fMainForm.m_checkado.Recordset.Fields("报损单价") = 单价.Text
    fMainForm.m_checkado.Recordset.Fields("报损数量") = 数量.Text
    fMainForm.m_checkado.Recordset.Fields("仓库编号") = 仓库编号
    fMainForm.m_checkado.Recordset.Fields("其它金额") = 其它金额
    fMainForm.m_checkado.Recordset.Fields("备注") = 备注.Text
    
    fMainForm.m_checkado.Recordset.update
    fMainForm.m_checkado.Refresh
    
    '更新[库存状况]
    On Error Resume Next
    fMainForm.m_checkado.RecordSource = "select 编号,货物编号,库存数量,仓库编号 from 库存状况 where 货物编号=" + Str(货物编号) + " and 仓库编号=" + Str(仓库编号)
    fMainForm.m_checkado.Refresh
    
    If fMainForm.m_checkado.Recordset.RecordCount > 0 Then
        Dim n As Long
        n = fMainForm.m_checkado.Recordset.Fields("库存数量").Value - 数量.Text
        If n > 0 Then
            fMainForm.m_checkado.Recordset.Fields("库存数量").Value = n
            fMainForm.m_checkado.Recordset.update
        Else
            fMainForm.m_checkado.Recordset.Delete
        End If
        fMainForm.m_checkado.Recordset.update
        fMainForm.m_checkado.Refresh
    End If
    
    保存.Visible = False
    更改背景.Visible = True
    打印.Visible = True
    
    '锁住控件
    lockcontrol
    
    MsgBox "新增报损单成功!"
     '写入系统日志
    fMainForm.WriteLog ("新增报损单")
    
End Sub


Private Sub 存放仓库_Click()
    
    If 存放仓库.Locked Then Exit Sub
    On Error Resume Next
    Dim sel As New 数据选择
    sel.Adodc1.ConnectionString = DataConnectString
    
    If 货物编号.Text <> "" Then
        sel.Adodc1.RecordSource = "select 仓库.编号,仓库.仓库名称,sum(select 库存数量 from 库存状况 where 仓库编号=仓库.编号 and 货物编号=" + 货物编号.Text + ") as 库存数量 from 仓库 where 仓库.编号 in (select 仓库编号 from 库存状况 where 货物编号=" + 货物编号 + ")"
    Else
        sel.Adodc1.RecordSource = "select 编号,仓库名称 from 仓库"
    End If
    
    sel.title = "请选择存放仓库"
    
    sel.Show vbModal
    
    If sel.result1 <> "" Then 仓库编号 = sel.result1
    If sel.result2 <> "" Then 存放仓库.Text = sel.result2
    
    Unload sel
    
End Sub

Private Sub 存放仓库_KeyPress(KeyAscii As Integer)
    KeyAscii = 0
End Sub

Private Sub 打印_Click()
    Me.Height = Me.Height - 600
    PrintForm
    Me.Height = Me.Height + 600
     '写入系统日志
    fMainForm.WriteLog ("打印报损单")
    
End Sub

Private Sub 更改背景_Click()

    On Error Resume Next
    With CommonDialog1
        .DialogTitle = "页面设置"
        .CancelError = True
        .ShowColor
    End With
    
    ChangeBackColor (CommonDialog1.Color)
    
End Sub


Private Sub 货物编号_Click()
    
    If 货物编号.Locked Then Exit Sub
    On Error Resume Next
    Dim sel As New 数据选择
    sel.Adodc1.ConnectionString = DataConnectString
    sel.Adodc1.RecordSource = "select 库存状况.货物编号 as 编号,货物信息.货物名称,库存状况.库存数量,货物信息.最低限量,货物信息.最高限量,仓库.仓库名称 as 存放仓库 from 库存状况,货物信息,仓库 where 货物信息.编号=库存状况.货物编号 and 仓库.编号=库存状况.仓库编号"
    sel.title = "请选择报损货物"
    
    sel.Show vbModal
    
    If sel.result1 <> "" Then
        货物编号.Text = sel.result1
    Else
        Exit Sub
        Unload sel
    End If
    
    Unload sel
    
    '更新货名规格与计量单位
    fMainForm.m_checkado.RecordSource = "select 货物名称,货物规格,计量单位 from 货物信息 where 编号=" + 货物编号.Text
    fMainForm.m_checkado.Refresh
    
    货名规格.Text = fMainForm.m_checkado.Recordset.Fields("货物名称").Value
    On Error GoTo cont
    Dim s As String
    s = fMainForm.m_checkado.Recordset.Fields("货物规格").Value
    If Len(s) > 0 Then 货名规格.Text = 货名规格.Text + "(" + s + ")"
cont:
    On Error Resume Next
    单位.Text = fMainForm.m_checkado.Recordset.Fields("计量单位").Value
    
    
End Sub

Private Sub 货物编号_KeyPress(KeyAscii As Integer)
    KeyAscii = 0
End Sub

Private Sub 金额_Click()

    If 金额.Locked Then Exit Sub
    On Error Resume Next
    金额.Text = 单价.Text * 数量.Text
End Sub

Private Sub 经办人_Click()

    If 经办人.Locked Then Exit Sub
    On Error Resume Next
    Dim sel As New 数据选择
    sel.Adodc1.ConnectionString = DataConnectString
    sel.Adodc1.RecordSource = "select 编号,姓名 from 职员信息"
    sel.title = "请选择经办人"
    
    sel.Show vbModal
    
    If sel.result1 <> "" Then 经办人编号 = sel.result1
    If sel.result2 <> "" Then 经办人.Text = sel.result2
    
    Unload sel
End Sub

Private Sub 经办人_KeyPress(KeyAscii As Integer)
    KeyAscii = 0
End Sub


'此源码由程序太平洋收集整理发布,任何人都可自由转载,但需保留本站信息
'╭⌒╮┅~ ¤ 欢迎光临程序太平洋╭⌒╮
'╭⌒╭⌒╮╭⌒╮~╭⌒╮  ︶  ,︶︶
',︶︶︶︶,''︶~~ ,''~︶︶  ,''
'╔ ╱◥███◣═╬╬╬╬╬╬╬╬╬╗
'╬ ︱田︱田 田 ︱          ╬
'╬       http://www.5ivb.net ╬
'╬  ╭○╮●                     ╬
'╬  /■\/■\                    ╬
'╬   <| ||    有希望,就有成功! ╬
'╬                 ╬
'╚╬╬╬╬╬╬╬╬╬╬╗  ╔╬╬╬╬╝
'
'说明:
'专业提供VB、.NET、Delphi、ASP、PB源码下载
'包括:程序源码,控件,商业源码,系统方案,开发工具,书籍教程,技术文档


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -