?? frmmps.vb
字號(hào):
End Try
End Sub
Private Sub btnDate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDate.Click
Try
Dim dlgSelect As frmCalendarMan = New frmCalendarMan
dlgSelect.GroupBox1.Visible = False
dlgSelect.ToolBar1.Visible = False
dlgSelect.dgdList.Dock = DockStyle.Fill
dlgSelect.bClose = True
dlgSelect.ShowDialog()
Dim sResult() As String = dlgSelect.GetInfo().Trim.Split("|")
Me.txbDate.Text = sResult(0)
Me.txbPlanDate.Text = sResult(1)
Me.txbBegDate.Text = sResult(2)
Me.txbEndDate.Text = sResult(3)
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
End Sub
Private Sub btnSubmit_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnSubmit.Click
'判斷主需求列表是否為空
If dvDetailResult.Count = 0 Then
Exit Sub
End If
'查詢最大的MPS編號(hào)
Dim db As DataBase = New DataBase
Dim strSQL As String = "select max(編號(hào)) from 主生產(chǎn)計(jì)劃"
Dim dv As DataView = db.RunSelectSQL(strSQL)
Dim iMax As Integer
Dim sMax As String
If dv Is Nothing Then
'如果主生產(chǎn)計(jì)劃表中沒有最大的MPS編號(hào)
'查看主生產(chǎn)計(jì)劃歷史表中的最大的MPS編號(hào)
strSQL = "select max(編號(hào)) from 主生產(chǎn)計(jì)劃歷史"
Dim dvH As DataView = db.RunSelectSQL(strSQL)
If dvH Is Nothing Then
sMax = "MPS0000000001"
Else
'獲得主生產(chǎn)計(jì)劃歷史表最大的MPS編號(hào)的數(shù)字部分
sMax = dvH(0)(0).ToString().Substring(3)
iMax = CInt(sMax)
iMax += 1
sMax = iMax.ToString
Dim i, len As Integer
len = 10 - iMax.ToString.Length
For i = 0 To len - 1
sMax = "0" + sMax
Next
sMax = "MPS" + sMax
End If
Else
'獲得主生產(chǎn)計(jì)劃表最大的MPS編號(hào)的數(shù)字部分
sMax = dv(0)(0).ToString().Substring(3)
iMax = CInt(sMax)
iMax += 1
sMax = iMax.ToString
Dim i, len As Integer
len = 10 - iMax.ToString.Length
For i = 0 To len - 1
sMax = "0" + sMax
Next
sMax = "MPS" + sMax
End If
'將主需求計(jì)劃數(shù)據(jù)導(dǎo)入主生產(chǎn)計(jì)劃數(shù)據(jù)
Dim iRow As Integer = dgdDetailList.CurrentCell.RowNumber
Dim sDemCount, sId, sDate, sPlanDate, _
sBegDate, sEndDate, sState As String
sDemCount = dvDetailResult.Item(iRow)("需求數(shù)量")
sId = dvDetailResult.Item(iRow)("物料編號(hào)")
sDate = dvDetailResult.Item(iRow)("年份")
sPlanDate = dvDetailResult.Item(iRow)("計(jì)劃期")
sBegDate = dvDetailResult.Item(iRow)("開始日期")
sEndDate = dvDetailResult.Item(iRow)("結(jié)束日期")
sState = dvDetailResult.Item(iRow)("狀態(tài)")
strSQL = "insert into 主生產(chǎn)計(jì)劃 (物料編號(hào),編號(hào),年份,"
strSQL += "計(jì)劃期,開始日期,結(jié)束日期,需求數(shù)量,MPS數(shù)量,狀態(tài))"
strSQL += "values ('" + sId.Trim + "','" + sMax + "','"
strSQL += sDate + "','" + sPlanDate + "','"
strSQL += sBegDate + "','" + sEndDate + "','"
strSQL += sDemCount + "','" + sDemCount + "','"
strSQL += sState + "')"
db.RunDelOrInsSQL(strSQL)
strSQL = "delete from 主需求計(jì)劃 where 物料編號(hào)='"
strSQL += sId + "' and 年份='"
strSQL += sDate + "' and 計(jì)劃期='" + sPlanDate + "'"
db.RunDelOrInsSQL(strSQL)
db.Dispose()
SearchResult()
SetForDetailList()
End Sub
Public Overrides Sub SetOpenButton(ByVal bEnable As Boolean)
btnDate.Enabled = bEnable
btnProduct.Enabled = bEnable
End Sub
Public Overrides Sub SaveForUpdate()
Try
Dim row As Integer
row = dgdList.CurrentCell.RowNumber
dgdList.CurrentCell = New DataGridCell((row + 1) Mod bmData.Count, 0)
If Me.DataSet11.HasChanges = True Then
SqlDataAdapter1.Update(DataSet11)
End If
Catch ex As Exception
MessageBox.Show("數(shù)據(jù)修改失敗!")
End Try
End Sub
Public Overrides Sub DeleteData()
Try
DataSet11.Tables("主生產(chǎn)計(jì)劃").Rows(bmData.Position).Delete()
If Me.DataSet11.HasChanges = True Then
SqlDataAdapter1.Update(DataSet11)
End If
Catch ex As Exception
MessageBox.Show("數(shù)據(jù)刪除失敗!")
End Try
End Sub
Public Overrides Sub SaveForAdd()
Dim drData As DataRow = DataSet11.Tables("主生產(chǎn)計(jì)劃").NewRow()
Try
'物料編號(hào),物料名稱,年份,計(jì)劃期,需求數(shù)量,開始日期,結(jié)束日期,狀態(tài)
drData("物料編號(hào)") = txbID.Text
'drData("物料名稱") = txbName.Text
drData("年份") = txbDate.Text
drData("計(jì)劃期") = txbPlanDate.Text
drData("開始日期") = txbBegDate.Text
drData("結(jié)束日期") = txbEndDate.Text
drData("期初庫(kù)存") = SetText(txbProCount.Text)
drData("需求數(shù)量") = SetText(txbDemCount.Text)
drData("MPS數(shù)量") = SetText(txbMPSCount.Text)
drData("生產(chǎn)單數(shù)量") = SetText(txbProCount.Text)
drData("預(yù)計(jì)庫(kù)存") = SetText(txbExpStock.Text)
drData("備注") = txbRemark.Text
drData("狀態(tài)") = "正常"
Catch ex As Exception
MessageBox.Show(ex.ToString) '("數(shù)據(jù)格式不正確!")
Exit Sub
End Try
Try
DataSet11.Tables("主生產(chǎn)計(jì)劃").Rows.Add(drData)
If Me.DataSet11.HasChanges = True Then
SqlDataAdapter1.Update(DataSet11)
End If
Catch ex As Exception
MessageBox.Show(ex.ToString) '("數(shù)據(jù)添加失敗!")
End Try
End Sub
Private Sub LoadData()
Dim strFilter As String
If txbOne.Text.Trim.Length = 0 Then
If txbTwo.Text.Trim.Length = 0 Then
If txbThree.Text.Trim.Length = 0 Then
strFilter = ""
Else
strFilter = "where 計(jì)劃期 like '" + txbThree.Text.Trim + "%'"
End If
Else
strFilter = "where 年份 like '" + txbTwo.Text.Trim + "%'"
If txbThree.Text.Trim.Length <> 0 Then
strFilter += " and 計(jì)劃期 like '" + txbThree.Text.Trim + "%'"
End If
End If
Else
strFilter = "where 物料編號(hào) like '" + txbOne.Text.Trim + "%'"
If txbTwo.Text.Trim.Length <> 0 Then
strFilter += " and 年份 like '" + txbTwo.Text.Trim + "%'"
If txbThree.Text.Trim.Length <> 0 Then
strFilter += " and 計(jì)劃期 like '" + txbThree.Text.Trim + "%'"
End If
Else
If txbThree.Text.Trim.Length <> 0 Then
strFilter += " and 計(jì)劃期 like '" + txbThree.Text.Trim + "%'"
End If
End If
End If
DataSet11.Clear()
SqlConnection1.ConnectionString = DataBase.sConn
SqlDataAdapter1.SelectCommand.CommandText = "select * from 主生產(chǎn)計(jì)劃 " + strFilter
SqlDataAdapter1.Fill(DataSet11)
dtData = DataSet11.Tables("主生產(chǎn)計(jì)劃")
bmData = Me.BindingContext(DataSet11, "主生產(chǎn)計(jì)劃")
End Sub
Public Overrides Sub SearchResult()
LoadData()
dgdList.DataSource = dtData.DefaultView
End Sub
Public Overrides Sub SetProductName()
Dim iRow As Integer = bmData.Position
Dim db As DataBase = New DataBase
Dim dv As DataView
Dim strSQL As String = "select 物料名稱 from 物料主文件 where 物料編號(hào)='"
strSQL += dtData.Rows(iRow)("物料編號(hào)") + "'"
dv = db.RunSelectSQL(strSQL)
Me.txbName.Text = dv(0)(0).ToString()
db.Dispose()
End Sub
Private Function SetText(ByVal strText As String) As String
If strText.Trim = "" Then
Return "0"
Else
Return strText.Trim
End If
End Function
End Class
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -