📄 form_generalpartplan.frm
字号:
BeginProperty Column00
DataField = ""
Caption = ""
BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED}
Type = 0
Format = ""
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 2052
SubFormatType = 0
EndProperty
EndProperty
BeginProperty Column01
DataField = ""
Caption = ""
BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED}
Type = 0
Format = ""
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 2052
SubFormatType = 0
EndProperty
EndProperty
SplitCount = 1
BeginProperty Split0
BeginProperty Column00
EndProperty
BeginProperty Column01
EndProperty
EndProperty
End
Begin MSDataGridLib.DataGrid DataGrid2
Height = 3975
Left = 120
TabIndex = 5
Top = 3960
Width = 11535
_ExtentX = 20346
_ExtentY = 7011
_Version = 393216
HeadLines = 1
RowHeight = 17
BeginProperty HeadFont {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "宋体"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "宋体"
Size = 11.25
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Caption = "本月零件计划"
ColumnCount = 2
BeginProperty Column00
DataField = ""
Caption = ""
BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED}
Type = 0
Format = ""
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 2052
SubFormatType = 0
EndProperty
EndProperty
BeginProperty Column01
DataField = ""
Caption = ""
BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED}
Type = 0
Format = ""
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 2052
SubFormatType = 0
EndProperty
EndProperty
SplitCount = 1
BeginProperty Split0
BeginProperty Column00
EndProperty
BeginProperty Column01
EndProperty
EndProperty
End
End
Begin MSComctlLib.TabStrip TabStrip1
Height = 8655
Left = 0
TabIndex = 0
Top = 0
Width = 11895
_ExtentX = 20981
_ExtentY = 15266
_Version = 393216
BeginProperty Tabs {1EFB6598-857C-11D1-B16A-00C0F0283628}
NumTabs = 2
BeginProperty Tab1 {1EFB659A-857C-11D1-B16A-00C0F0283628}
Caption = "计划拆零"
ImageVarType = 2
EndProperty
BeginProperty Tab2 {1EFB659A-857C-11D1-B16A-00C0F0283628}
Caption = "按调度规则排序"
ImageVarType = 2
EndProperty
EndProperty
BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "宋体"
Size = 11.25
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
End
End
Attribute VB_Name = "form_generalpartplan"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim rs As New ADODB.Recordset
Dim rs2 As New ADODB.Recordset '用来记录零件计划
Dim total As Integer
Dim myrs As New ADODB.Recordset '用来记录生成的零部件计划
Dim mark
Dim bool As Boolean
'根据零部件的工作号、机车型号,图号,计划个数、台分数量、生产类型查找以他为父件的零部件
Public Sub ff(workcodes As String, ordercodes As String, locomotivetypes As String, prodrawings As String, progroupamounts As Integer, groupamounts As Integer)
Dim sql As String
Dim bmrs As New ADODB.Recordset '用来记录生成的零部件计划
Dim find As Boolean '表示本计划再零部件计划表中是否存在
Dim find1 As Boolean '表示本记录的借用关系
Dim sch As New ADODB.Recordset
Dim ddrs As New ADODB.Recordset '他为查询大纲计划是否在调度模式计划中的记录集
Dim orderrs As New ADODB.Recordset
sql = "select * from t_spbillofmaterial" & _
" where locomotivetype='" & Trim$(locomotivetypes) & "'" & _
" and prodrawingnumber='" & Trim$(prodrawings) & "'" ' and productiontype in ('委外加工','自制','组装')"
bmrs.ActiveConnection = "dsn=dlrwdb;uid=scl;uid=scl"
bmrs.CursorLocation = adUseClient
bmrs.CursorType = adOpenDynamic
bmrs.LockType = adLockOptimistic
bmrs.Source = sql
bmrs.Open
If bmrs.EOF And bmrs.BOF Then '若没有此部件的产品明细,则退出
bmrs.Close
Set bmrs = Nothing
' mark = mark + 1
Exit Sub
End If '否则转换成另不见计划
'On Error Resume Next
bmrs.MoveFirst
Do Until bmrs.EOF '首先判断本条记录是否为调度模式计划若是则去掉
If bmrs("pargroupamount") <> 0 Then
If rs2.RecordCount <> 0 Then '首先判断零部件计划表中是否有本计划,若有则只增加其数量,否则增加一条新记录.
find = False
sql = "select * from t_spgeneralpartplan" & _
" where ordercode='" & Trim$(ordercodes) & "'and workcode='" & Trim$(workcodes) & "' and drawingnumber='" & Trim$(bmrs("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") + progroupamounts * bmrs("pargroupamount") / groupamounts '父件计划个数*子件台分数量/父件台分数量
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("机车型号") = CStr(Trim$(bmrs("locomotivetype")))
rs2("定单号") = Trim$(ordercodes)
rs2("父件图号") = CStr(Trim$(bmrs("prodrawingnumber")))
rs2("图号") = CStr(Trim$(bmrs("pardrawingnumber")))
rs2("本月计划") = progroupamounts * bmrs("pargroupamount") / groupamounts '父件计划个数*子件台分数量/父件台分数量
rs2("台分数量") = Int(bmrs("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$(bmrs("locomotivetype")))
myrs("drawingnumber") = CStr(Trim$(bmrs("pardrawingnumber")))
myrs("pargroupamount") = Int(bmrs("pargroupamount"))
myrs("planquantity") = progroupamounts * Int(bmrs("pargroupamount")) / groupamounts
myrs.Update
End If
bmrs.MoveNext
Loop
bmrs.Close
Set bmrs = Nothing
End Sub
'一产品的工作号、机车型号、图号、计划台分为参数进行拆零函数
Public Sub Main1(workcodes As String, ordercodes As String, locomotivetypes As String, pardrawings As String, pargroupamounts As Integer) 'groupamounts As Integer
Dim sql As String
Dim rs1 As New ADODB.Recordset '用来记录生成的零部件计划
Dim find As Boolean '表示本计划再零部件计划表中是否存在
Dim find1 As Boolean '表示本记录的借用关系
Dim sch As New ADODB.Recordset
Dim orderrs As New ADODB.Recordset
'本条计划拆零按正常情况拆零
sql = "select * from t_spbillofmaterial where locomotivetype='" & Trim$(locomotivetypes) & "' and " & _
" pardrawingnumber='" & Trim$(pardrawings) & "'" '& " and productiontype in ('委外加工','自制','组装') "
rs1.ActiveConnection = "dsn=dlrwdb;uid=scl;uid=scl"
rs1.CursorLocation = adUseClient
rs1.CursorType = adOpenKeyset
rs1.LockType = adLockOptimistic
rs1.Source = sql
rs1.Open
bool = False
If rs1.RecordCount = 0 Then '若没有此部件的产品明细,则退出
MsgBox "没有此部件的产品明细", vbExclamation, "提示"
bool = True
rs1.Close
Set rs1 = Nothing
Exit Sub
End If
' On Error Resume Next
rs1.MoveFirst
Do Until rs1.EOF
If rs1("pargroupamount") <> 0 Then
If rs2.RecordCount <> 0 Then '首先判断零部件计划表中是否有本计划,若有则只增加其数量,否则增加一条新记录.
find = False
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -