📄 form_generalpartplan.frm
字号:
sql = "select * from t_spgeneralpartplan " & _
" where ordercode='" & Trim$(ordercodes) & "' and workcode='" & Trim$(workcodes) & "' and drawingnumber='" & Trim$(rs1("pardrawingnumber")) & "'"
If sch.State = adStateOpen Then sch.Close
sch.ActiveConnection = "dsn=dlrwdb;uid=scl;uid=scl"
sch.CursorLocation = adUseClient
sch.CursorType = adOpenKeyset
sch.LockType = adLockOptimistic
sch.Source = sql
sch.Open
If sch.RecordCount <> 0 Then find = True
End If
If find Then '若发现零部件计划里本计划已存在则增加新计划计划
sch("planquantity") = sch("planquantity") + pargroupamounts * rs1("pargroupamount")
sch.Update
Else '否则增加新计划
Set orderrs = Nothing
orderrs.ActiveConnection = "dsn=dlrwdb;uid=scl;uid=scl"
orderrs.CursorLocation = adUseClient
orderrs.CursorType = adOpenKeyset
orderrs.LockType = adLockOptimistic
orderrs.Source = "select * from t_suborder where ordercode='" & Trim$(ordercodes) & "'"
orderrs.Open
rs2.AddNew
rs2("工作号") = Trim$(workcodes)
rs2("定单号") = Trim$(ordercodes)
rs2("机车型号") = CStr(Trim$(rs1("locomotivetype")))
rs2("父件图号") = CStr(Trim$(rs1("prodrawingnumber")))
rs2("图号") = CStr(Trim$(rs1("pardrawingnumber")))
rs2("台分数量") = Int(rs1("pargroupamount"))
rs2("本月计划") = pargroupamounts * Int(rs1("pargroupamount"))
rs2("预收日期") = CDate(orderrs("acceptdate"))
rs2("交货日期") = CDate(orderrs("senddate"))
rs2("工序号") = 0
rs2.Update
End If '将计划加入临时表中
myrs.AddNew
myrs("workcode") = Trim$(workcodes)
myrs("ordercode") = Trim$(ordercodes)
myrs("locomotivetype") = CStr(Trim$(rs1("locomotivetype")))
myrs("drawingnumber") = CStr(Trim$(rs1("pardrawingnumber")))
myrs("pargroupamount") = Int(rs1("pargroupamount"))
myrs("planquantity") = pargroupamounts * Int(rs1("pargroupamount"))
myrs.Update
End If
rs1.MoveNext
Loop
rs1.Close
Set rs1 = Nothing
End Sub
Private Sub cmbfind_Click()
Dim sql As String
sql = "select * from t_suborder where added='否'"
Set rs = Nothing
rs.ActiveConnection = "dsn=dlrwdb;uid=scl;uid=scl"
rs.CursorLocation = adUseClient
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
rs.Source = sql
rs.Open
Set DataGrid1.DataSource = rs
Call initial(DataGrid1, "定单表")
Call first(DataGrid1)
If rs.RecordCount <> 0 Then
comshchjh.Enabled = True
End If
End Sub
Private Sub Comddgz_Click()
Select Case Trim$(cmbddgz.Text)
Case "基于交货期的规则"
Set rs2 = Nothing
rs2.ActiveConnection = "dsn=dlrwdb;uid=scl;uid=scl"
rs2.CursorLocation = adUseClient
rs2.CursorType = adOpenKeyset
rs2.LockType = adLockOptimistic
rs2.Source = "select * from t_spgeneralpartplan where added='否' order by senddate"
rs2.Open
Case "先到达者优先的规则"
Set rs2 = Nothing
rs2.ActiveConnection = "dsn=dlrwdb;uid=scl;uid=scl"
rs2.CursorLocation = adUseClient
rs2.CursorType = adOpenKeyset
rs2.LockType = adLockOptimistic
rs2.Source = "select * from t_spgeneralpartplan where added='否' order by acceptdate"
rs2.Open
End Select
Set DataGrid3.DataSource = rs2
Call first(DataGrid3)
Call initial(DataGrid3, "零件表")
End Sub
Private Sub Comexit_Click()
'On Error Resume Next
'rs2.Close
Set rs2 = Nothing
Unload Me
End Sub
Private Sub Comexit2_Click()
Unload Me
End Sub
Private Sub comshchjh_Click() '将大纲计划生成零件计划
Dim i As Integer
Dim dgrs As New ADODB.Recordset
Dim sql As String
Dim dgsql As String
Screen.MousePointer = vbHourglass
'2.大纲计划
If myrs.State = adStateOpen Then myrs.Close
myrs.ActiveConnection = "dsn=dlrwdb;uid=scl;uid=scl"
myrs.CursorLocation = adUseClient
myrs.CursorType = adOpenKeyset
myrs.LockType = adLockOptimistic
myrs.Source = "DELETE FROM t_spbillofmaterials"
myrs.Open
If myrs.State = adStateOpen Then myrs.Close
myrs.ActiveConnection = "dsn=dlrwdb;uid=scl;uid=scl"
myrs.CursorLocation = adUseClient
myrs.CursorType = adOpenKeyset
myrs.LockType = adLockOptimistic
myrs.Source = "t_spbillofmaterials"
myrs.Open
'On Error Resume Next
If rs.RecordCount <> 0 Then '如果大纲记录不为零则生成零件记录
rs.MoveFirst
Do Until rs.EOF
' On Error Resume Next
Call Main1(rs("workcode"), rs("ordercode"), rs("locomotivetype"), rs("drawingnumber"), rs("amount"))
If Not bool Then
rs("added") = "是"
rs.Update
End If
rs.MoveNext
Loop
If myrs.RecordCount <> 0 Then
myrs.MoveFirst
mark = myrs.Bookmark
Do Until myrs.EOF
Call ff(myrs("workcode"), myrs("ordercode"), myrs("locomotivetype"), myrs("drawingnumber"), myrs("planquantity"), myrs("pargroupamount"))
myrs.Bookmark = mark
myrs.MoveNext
If Not myrs.EOF Then
mark = myrs.Bookmark
End If
Loop
End If
End If
'显示本月零部件计划
sql = "select * from t_spgeneralpartplan" & _
" where added='否' order by ordercode"
If rs2.State = adStateOpen Then rs2.Close
rs2.ActiveConnection = "dsn=dlrwdb;uid=scl;uid=scl"
rs2.Source = sql
rs2.CursorLocation = adUseClient
rs2.CursorType = adOpenDynamic
rs2.LockType = adLockOptimistic
rs2.Open
If rs2.RecordCount <> 0 Then
Do Until rs2.EOF
rs2.MoveFirst
Set dgrs = Nothing
dgrs.ActiveConnection = "dsn=dlrwdb;uid=scl;uid=scl"
dgrs.CursorLocation = adUseClient
dgrs.CursorType = adOpenKeyset
dgrs.LockType = adLockOptimistic
dgrs.Source = "select max(processnumber) as number from t_subprocessplan where drawingnumber='" & Trim$(rs2("drawingnumber")) & "'"
dgrs.Open
dgrs.MoveFirst
rs2("endstate") = dgrs("number")
rs2.Update
rs2.MoveNext
Loop
End If
Screen.MousePointer = vbDefault
Set DataGrid2.DataSource = rs2
Call initial(DataGrid2, "零件表")
DataGrid2.Refresh
Call first(DataGrid2)
comshchjh.Enabled = False
End Sub
Private Sub DTPicker1_Change()
DataGrid2.Refresh
End Sub
Private Sub Form_Load()
Dim sql As String
sql = "select workcode as 工作号,locomotivetype as 机车型号,ordercode as 定单号,prodrawingnumber as 父件图号," & _
"drawingnumber as 图号,state as 工序号,pargroupamount as 台分数量,planquantity as 本月计划,acceptdate as 预收日期,senddate as 交货日期,note as 备注 from t_spgeneralpartplan where added='否'"
If rs2.State = adStateOpen Then rs2.Close
rs2.ActiveConnection = "dsn=dlrwdb;uid=scl;uid=scl"
rs2.Source = sql
rs2.CursorLocation = adUseClient
rs2.CursorType = adOpenDynamic
rs2.LockType = adLockOptimistic
rs2.Open
Set DataGrid2.DataSource = rs2
DataGrid2.Refresh
comshchjh.Enabled = False '把生成零件计划按钮设成不可用
Call first(DataGrid2)
Frame2.Visible = False
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Call Comexit_Click
If myrs.State = adStateOpen Then myrs.Close
myrs.ActiveConnection = "dsn=dlrwdb;uid=scl;uid=scl"
myrs.CursorLocation = adUseClient
myrs.CursorType = adOpenKeyset
myrs.LockType = adLockOptimistic
myrs.Source = "DELETE FROM t_spbillofmaterials"
myrs.Open
End Sub
Private Sub Form_Unload(Cancel As Integer)
Call Comexit_Click
If myrs.State = adStateOpen Then myrs.Close
myrs.ActiveConnection = "dsn=dlrwdb;uid=scl;uid=scl"
myrs.CursorLocation = adUseClient
myrs.CursorType = adOpenKeyset
myrs.LockType = adLockOptimistic
myrs.Source = "DELETE FROM t_spbillofmaterials"
myrs.Open
End Sub
Private Sub TabStrip1_Click()
If TabStrip1.SelectedItem.Index = 1 Then
Frame2.Visible = False
Set rs2 = Nothing
rs2.ActiveConnection = "dsn=dlrwdb;uid=scl;uid=scl"
rs2.CursorLocation = adUseClient
rs2.CursorType = adOpenDynamic
rs2.LockType = adLockOptimistic
rs2.Source = "select * from t_spgeneralpartplan where added='否'"
rs2.Open
Set DataGrid2.DataSource = rs2
DataGrid2.Refresh
Call first(DataGrid2)
Call initial(DataGrid2, "零件表")
Else
Frame2.Visible = True
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -