+
上传用户:zhpu1995
上传日期:2013-09-06
资源大小:61151k
文件大小:7k
源码类别:

企业管理

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Begin VB.Form BOM_BOMCopy 
  3.    BorderStyle     =   3  'Fixed Dialog
  4.    Caption         =   "配方复制"
  5.    ClientHeight    =   1440
  6.    ClientLeft      =   45
  7.    ClientTop       =   330
  8.    ClientWidth     =   3615
  9.    Icon            =   "配方管理_配方复制.frx":0000
  10.    KeyPreview      =   -1  'True
  11.    LinkTopic       =   "Form1"
  12.    MaxButton       =   0   'False
  13.    MinButton       =   0   'False
  14.    ScaleHeight     =   1440
  15.    ScaleWidth      =   3615
  16.    ShowInTaskbar   =   0   'False
  17.    StartUpPosition =   2  '屏幕中心
  18.    Begin VB.CommandButton Cmd_Ok 
  19.       Caption         =   "确定(&O)"
  20.       Height          =   300
  21.       Left            =   1320
  22.       TabIndex        =   1
  23.       Top             =   1080
  24.       Width           =   1005
  25.    End
  26.    Begin VB.CommandButton Cmd_Cancel 
  27.       Caption         =   "取消(&C)"
  28.       Height          =   300
  29.       Left            =   2550
  30.       TabIndex        =   2
  31.       Top             =   1080
  32.       Width           =   1005
  33.    End
  34.    Begin VB.Frame Frame1 
  35.       Height          =   975
  36.       Left            =   60
  37.       TabIndex        =   3
  38.       Top             =   0
  39.       Width           =   3495
  40.       Begin VB.TextBox Lrtext 
  41.          Height          =   300
  42.          Index           =   1
  43.          Left            =   1020
  44.          MaxLength       =   12
  45.          TabIndex        =   0
  46.          Top             =   540
  47.          Width           =   2355
  48.       End
  49.       Begin VB.TextBox Lrtext 
  50.          Height          =   300
  51.          Index           =   0
  52.          Left            =   1020
  53.          TabIndex        =   6
  54.          Top             =   180
  55.          Width           =   2355
  56.       End
  57.       Begin VB.Label Label2 
  58.          Caption         =   "新BOM单号:"
  59.          Height          =   255
  60.          Left            =   120
  61.          TabIndex        =   5
  62.          Top             =   600
  63.          Width           =   1095
  64.       End
  65.       Begin VB.Label Label1 
  66.          Caption         =   "原BOM单号:"
  67.          Height          =   255
  68.          Left            =   120
  69.          TabIndex        =   4
  70.          Top             =   240
  71.          Width           =   1095
  72.       End
  73.    End
  74. End
  75. Attribute VB_Name = "BOM_BOMCopy"
  76. Attribute VB_GlobalNameSpace = False
  77. Attribute VB_Creatable = False
  78. Attribute VB_PredeclaredId = True
  79. Attribute VB_Exposed = False
  80. '**************************************************************************
  81. '*    模 块 名 称 :配方管理--配方复制
  82. '*    功 能 描 述 :配方复制
  83. '*    程序员姓名  :乔进
  84. '*    最后修改人  :乔进
  85. '*    最后修改时间:2001/11/30
  86. '*    备        注:程序中所有依实际情况自定义部分均用[>>  <<]括起
  87. '**************************************************************************
  88. Dim bBOMCopy As Boolean
  89. Dim sTemp As String, Tsxx As String, RecTemp As New ADODB.Recordset
  90. Private Sub Cmd_Cancel_Click()
  91.     Unload Me
  92. End Sub
  93. Private Sub cmd_Ok_Click()
  94.     If bBOMCopy Then
  95.         If Len(Trim(LrText(1))) = 0 Then
  96.             Tsxx = "BOM单号不能为空!"
  97.             Call Xtxxts(Tsxx, 0, 1)
  98.             Exit Sub
  99.         End If
  100.         
  101.         If Trim(LrText(0)) = Trim(LrText(1)) Then
  102.             Tsxx = "BOM单号重复!"
  103.             Call Xtxxts(Tsxx, 0, 1)
  104.             Exit Sub
  105.         End If
  106.         
  107.         If HaveChinese(LrText(1)) Then
  108.             Tsxx = "BOM单号不能包含汉字!"
  109.             Call Xtxxts(Tsxx, 0, 1)
  110.             Exit Sub
  111.         End If
  112.         
  113.         Sqlstr = "Select BOMNumber From MRP_BOMMain Where BOMNumber='" & Trim(LrText(1)) & "'"
  114.         Set RecTemp = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  115.         If Not RecTemp.EOF Then
  116.             Tsxx = "BOM单号已经存在!"
  117.             Call Xtxxts(Tsxx, 0, 1)
  118.             Exit Sub
  119.         End If
  120.         
  121.         Call Sub_PasteBOM(Trim(LrText(0)), Trim(LrText(1)))
  122.         
  123.     Else
  124.         Tsxx = "没有有效复制配方!"
  125.         Call Xtxxts(Tsxx, 0, 1)
  126.         Exit Sub
  127.     End If
  128. End Sub
  129. '复制配方
  130. Private Sub Sub_PasteBOM(oldBOMNumber As String, newBOMNumber As String)
  131.     Dim newBOMID As String
  132.     Sqlstr = "Select * From MRP_BOMMain Where BOMNumber='" & Trim(oldBOMNumber) & "' "
  133.     Set RecTemp = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  134.     On Error GoTo Errorhand:
  135.     If Not RecTemp.EOF Then
  136.  
  137.         Cw_DataEnvi.DataConnect.BeginTrans
  138.         newBOMID = CreatBillID("2401")
  139.         
  140.         '写入主表数据
  141.         Sqlstr = "Insert MRP_BOMMain (BOMMainID,BOMNumber,MNumber,State,DeptCode,Maker,MakeDate,ProPercent) " & _
  142.                  " Values ( '" & newBOMID & "','" & newBOMNumber & "','" & Trim(RecTemp!MNumber) & "' ,0 ,'" & Trim(RecTemp!DeptCode & "") & "','" & Xtczy & "' ,'" & Format(Xtrq, "yyyy-mm-dd") & "',100) "
  143.         Cw_DataEnvi.DataConnect.Execute (Sqlstr)
  144.         
  145.         '建立临时表,同时将要复制的子表的数据写入临时表,然后替换主表ID为新的ID
  146.         Sqlstr = "Select MRP_BOMSub.* Into #MRP_BOMCopyTemp From MRP_BOMSub Left Join MRP_BOMMain On MRP_BOMSub.BOMMainID=MRP_BOMMain.BOMMainID  Where MRP_BOMMain.BOMNumber='" & Trim(oldBOMNumber) & "' "
  147.         Cw_DataEnvi.DataConnect.Execute (Sqlstr)
  148.         Sqlstr = "Update #MRP_BOMCopyTemp Set BOMMainID='" & Trim(newBOMID) & "'"
  149.         Cw_DataEnvi.DataConnect.Execute (Sqlstr)
  150.         
  151.         '将修改后的临时表中得数据写入配方子表中
  152.         Sqlstr = "Insert  Into MRP_BOMSub    Select  BOMSubID ,BOMMainID ,MNumber ,RationNum,WhCode,WastePercent  From #MRP_BOMCopyTemp"
  153.         Cw_DataEnvi.DataConnect.Execute (Sqlstr)
  154.         Sqlstr = "Drop  Table  #MRP_BOMCopyTemp "
  155.         Cw_DataEnvi.DataConnect.Execute (Sqlstr)
  156.         Cw_DataEnvi.DataConnect.CommitTrans
  157.         Xtfhcs = 1
  158.         Tsxx = "复制完成!"
  159.         Call Xtxxts(Tsxx, 0, 4)
  160.         Exit Sub
  161.     Else
  162.         Tsxx = "没有找到当前复制配方,可能已被其它用户删除! "
  163.         Call Xtxxts(Tsxx, 0, 1)
  164.         Exit Sub
  165.     End If
  166. Errorhand:
  167.     Cw_DataEnvi.DataConnect.RollbackTrans
  168.     Tsxx = "复制过程出现未知错误,复制失败!"
  169.     Call Xtxxts(Tsxx, 0, 1)
  170. End Sub
  171. Private Sub Form_KeyPress(KeyAscii As Integer)
  172.     If KeyAscii = vbKeyReturn Then
  173.         SendKeys "{tab}"
  174.         KeyAscii = 0
  175.     End If
  176. End Sub
  177. Private Sub Form_Load()
  178.     Xtfhcs = 0
  179.     If BOM_QueryList.bBOMCopy = True Then
  180.         bBOMCopy = True
  181.         sTemp = BOM_QueryList.sString
  182.         LrText(0).Text = sTemp
  183.         LrText(0).BackColor = &H8000000F
  184.         LrText(0).Enabled = False
  185.         cmd_Ok.Enabled = True
  186.         Cmd_Cancel.Enabled = True
  187.          
  188.     Else
  189.         bBOMCopy = False
  190.         LrText(0) = ""
  191.         LrText(1) = ""
  192.         LrText(0).Enabled = False
  193.         LrText(1).Enabled = False
  194.         LrText(0).BackColor = &H80000005
  195.         LrText(1).BackColor = &H80000005
  196.         cmd_Ok.Enabled = False
  197.         Cmd_Cancel.Enabled = True
  198.     End If
  199.     Me.HelpContextID = 2412002
  200. End Sub
  201. Private Sub LrText_Change(Index As Integer)
  202.     Call TextChangeLimit(LrText(1), 2)  '去掉无效字符
  203. End Sub