?? 新增出庫單.frm
字號:
End
Begin VB.Label Label7
BackColor = &H00FFFF80&
BackStyle = 0 'Transparent
Caption = "數量"
Height = 255
Left = 2460
TabIndex = 19
Top = 1740
Width = 435
End
Begin VB.Label Label6
BackColor = &H00FFFF80&
BackStyle = 0 'Transparent
Caption = "出庫單價"
Height = 255
Left = 240
TabIndex = 18
Top = 1740
Width = 795
End
Begin VB.Label Label5
BackColor = &H00FFFF80&
BackStyle = 0 'Transparent
Caption = "貨名規格"
Height = 255
Left = 2460
TabIndex = 17
Top = 1260
Width = 795
End
Begin VB.Label Label4
BackColor = &H00FFFF80&
BackStyle = 0 'Transparent
Caption = "存放倉庫"
Height = 255
Left = 3540
TabIndex = 16
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 = 15
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 = 14
Top = 180
Width = 1935
End
Begin VB.Label Label1
BackColor = &H00FFFF80&
BackStyle = 0 'Transparent
Caption = "編號:"
Height = 255
Left = 300
TabIndex = 13
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
經辦人.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
經辦人.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 客戶,倉庫.倉庫名稱 as 存放倉庫,出庫單.備注 from 出庫單,貨物信息,職員信息,客戶,倉庫 where 貨物信息.編號=出庫單.貨物編號 and 職員信息.編號=出庫單.經辦人編號 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
經辦人.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("定單狀況") = "已處理"
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.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 貨物編號_KeyPress(KeyAscii As Integer)
KeyAscii = 0
End Sub
Private Sub 經辦人_KeyPress(KeyAscii As Integer)
KeyAscii = 0
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 貨物編號_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 金額_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 + -