⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form5.frm

📁 vb 编写的直接读取连个数据库进行表表读写达到数据同步
💻 FRM
📖 第 1 页 / 共 5 页
字号:
                                 rs_SDM.Fields(i) = HM_DATA(i)
                             End If
                          Next i
                             rs_SDM.Update
                    End If
                 End If
             
            End If
        
    Next k
        

   '铁水、废钢实际值
   Dim HM_SCR_Real(3) As Double
  
    Set rs_CCM = New ADODB.Recordset
    sql_CCM = "select heat_no,hm_weig,scr_weig from tc_flux_cal  where  HEAT_NO ='" & Trim(Heat_no) & "'  and rec=4 order by heat_no"
    rs_CCM.Open sql_CCM, cn_CCM, adOpenStatic, adLockOptimistic

    If rs_CCM.RecordCount <> 0 Then
        rs_CCM.MoveFirst
        For i = 1 To 2
            If IsNull(rs_CCM.Fields(i)) = True Then
                HM_SCR_Real(i) = 100
            Else
                HM_SCR_Real(i) = rs_CCM.Fields(i)
            End If
        Next i



        Set rs_SDM = New ADODB.Recordset
        sql_SDM = "select heat_no,hm_weig,scr_weig from tc_flux_cal  where  HEAT_NO ='" & Trim(Heat_no) & "'  and rec=4 order by heat_no"
        rs_SDM.Open sql_SDM, cn_SDM, adOpenStatic, adLockOptimistic

        If rs_SDM.RecordCount <> 0 Then
            rs_SDM.MoveFirst
            If HM_SCR_Real(1) <> 100 Then
                rs_SDM.Fields(1) = HM_SCR_Real(1)
                rs_SDM.Update
            End If

            If HM_SCR_Real(2) <> 100 Then
                rs_SDM.Fields(2) = HM_SCR_Real(2)
                rs_SDM.Update
            End If

        End If

    End If
    

        
    '生铁实际值
    Dim CPI_Real(3) As Double
    
    If Check2.Value = 1 Then
    
        Set rs_CCM = New ADODB.Recordset
        sql_CCM = "select heat_no,PIG_WEIG_OPER,PIG_WEIG_REAL from tc_heat_data  where  HEAT_NO ='" & Trim(Heat_no) & "'  order by heat_no"
        rs_CCM.Open sql_CCM, cn_CCM, adOpenStatic, adLockOptimistic
    
        If rs_CCM.RecordCount <> 0 Then
            rs_CCM.MoveFirst
            For i = 1 To 2
                If IsNull(rs_CCM.Fields(i)) = True Then
                    CPI_Real(i) = 0
                Else
                    CPI_Real(i) = rs_CCM.Fields(i)
                End If
            Next i
    
    
    
            Set rs_SDM = New ADODB.Recordset
            sql_SDM = "select heat_no,PIG_WEIG_OPER,PIG_WEIG_REAL from tc_heat_data  where  HEAT_NO ='" & Trim(Heat_no) & "'  order by heat_no"
            rs_SDM.Open sql_SDM, cn_SDM, adOpenStatic, adLockOptimistic
    
            If rs_SDM.RecordCount <> 0 Then
                rs_SDM.MoveFirst
    
     '           If CPI_Real(1) <> 100 Then
                    rs_SDM.Fields(2) = CPI_Real(1)
                    rs_SDM.Update
     '           End If
    
            End If
    
        End If
        
    End If
    
    
    OK_Num_Real = OK_Num_Real + 1
    Label3.Caption = "读实际值_成功次数: " + Trim(OK_Num_Real)
    If OK_Num_Real >= 7000 Then OK_Num_Real = 0
    Exit Sub
     
RealError:
    Beep

    Error_Num_Real = Error_Num_Real + 1
    If Error_Num_Real >= 7000 Then Error_Num_Real = 0
    Label2.Caption = "读实际值_失败次数: " + Trim(Error_Num_Real)
    Label16.Caption = "错误信息:" + Err.Description
        
End Sub
Private Sub SDM_TO_CCM_Cal(ByVal Heat_No_Write) ''向原系统中写入----铁水\废钢\生铁--计算值 设定值-------

'温度计算值 设定值

On Error GoTo CalError

    Set rs_SDM2 = New ADODB.Recordset
    sql_SDM2 = "select * from tc_temp_cal where  HEAT_NO ='" & Trim(Heat_No_Write) & "' "
    rs_SDM2.Open sql_SDM2, cn_SDM2, adOpenStatic, adLockOptimistic
    
    If rs_SDM2.RecordCount <> 0 Then
    
        rs_SDM2.MoveFirst
        For i = 0 To 19
            If IsNull(rs_SDM2.Fields(i)) = True Then
                temp_cal(i) = 0
            Else
                temp_cal(i) = rs_SDM2.Fields(i)
            End If
        Next i


        Set rs_CCM2 = New ADODB.Recordset
        sql_CCM2 = "select * from tc_temp_cal where  HEAT_NO ='" & Trim(Heat_No_Write) & "' "
        rs_CCM2.Open sql_CCM2, cn_CCM2, adOpenStatic, adLockOptimistic
        
        If rs_CCM2.RecordCount <> 0 Then
           For i = 0 To 19
              rs_CCM2.Fields(i) = temp_cal(i)
           Next i
           rs_CCM2.Update
           rs_CCM2.Close
           Else
              rs_CCM2.AddNew
              For i = 0 To 0
                 rs_CCM2.Fields(i) = temp_cal(i)
              Next i
              rs_CCM2.Update
              rs_CCM2.Close
        End If
        
    End If
    
    
    
 ''''铁水 主原料 计算值----------
'
    Set rs_SDM2 = New ADODB.Recordset
    sql_SDM2 = "select * from tc_raw_material_cal where  HEAT_NO ='" & Trim(Heat_No_Write) & "' order by rec"
    rs_SDM2.Open sql_SDM2, cn_SDM2, adOpenStatic, adLockOptimistic

    If rs_SDM2.RecordCount <> 0 Then
        j = rs_SDM2.RecordCount
        ReDim HM_Cal_Raw_M(0 To j - 1, 0 To 14)
        rs_SDM2.MoveFirst
        For k = 0 To j - 1
            For i = 0 To 14
                If IsNull(rs_SDM2.Fields(i)) = True Then
                    HM_Cal_Raw_M(k, i) = 9999
                Else
                     HM_Cal_Raw_M(k, i) = rs_SDM2.Fields(i)
                End If
            Next i
            rs_SDM2.MoveNext
        Next k

        For k = 0 To j - 1
            Set rs_CCM2 = New ADODB.Recordset
            sql_CCM2 = "select * from tc_raw_material_cal where heat_no='" & Trim(HM_Cal_Raw_M(k, 0)) & "'and rec='" & Trim(HM_Cal_Raw_M(k, 1)) & "' order by rec"
            rs_CCM2.Open sql_CCM2, cn_CCM2, adOpenStatic, adLockOptimistic

            If rs_CCM2.RecordCount <> 0 Then
                    For i = 0 To 14
                       If HM_Cal_Raw_M(k, i) <> 9999 Then
                           rs_CCM2.Fields(i) = HM_Cal_Raw_M(k, i)
                       End If
                    Next i
                    rs_CCM2.Update
                    rs_CCM2.Close
               Else
                  rs_CCM2.AddNew
                  For i = 0 To 1
                     rs_CCM2.Fields(i) = HM_Cal_Raw_M(k, i)
                  Next i
                  rs_CCM2.Update
                  rs_CCM2.Close
            End If

        Next k


    End If


 ''''铁水成分  计算值----------


    Set rs_SDM2 = New ADODB.Recordset
    sql_SDM2 = "select * from tc_hm_data where  HEAT_NO ='" & Trim(Heat_No_Write) & "' order by rec"
    rs_SDM2.Open sql_SDM2, cn_SDM2, adOpenStatic, adLockOptimistic

    If rs_SDM2.RecordCount <> 0 Then
        j = rs_SDM2.RecordCount
        ReDim HM_DATA_CAL(0 To j - 1, 0 To 9)
        rs_SDM2.MoveFirst
        For k = 0 To j - 1
            For i = 0 To 9
                If IsNull(rs_SDM2.Fields(i)) = True Then
                    HM_DATA_CAL(k, i) = 0
                Else
                     HM_DATA_CAL(k, i) = rs_SDM2.Fields(i)
                End If
            Next i
            rs_SDM2.MoveNext
        Next k

        For k = 0 To j - 1
            Set rs_CCM2 = New ADODB.Recordset
            sql_CCM2 = "select * from tc_hm_data where heat_no='" & Trim(HM_DATA_CAL(k, 0)) & "'and rec='" & Trim(HM_DATA_CAL(k, 1)) & "' order by rec"
            rs_CCM2.Open sql_CCM2, cn_CCM2, adOpenStatic, adLockOptimistic

            If rs_CCM2.RecordCount <> 0 Then
            
                If k = 0 Then
                    For i = 0 To 1
                        rs_CCM2.Fields(i) = HM_DATA_CAL(k, i)
                    Next i
                     For i = 2 To 8
                        rs_CCM2.Fields(i) = HM_DATA_CAL(k, i + 1)
                    Next i
                    rs_CCM2.Update
                    rs_CCM2.Close
                 End If
                 
               Else
                  rs_CCM2.AddNew
                  For i = 0 To 1
                     rs_CCM2.Fields(i) = HM_DATA_CAL(k, i)
                  Next i
                  rs_CCM2.Update
                  rs_CCM2.Close
            End If

        Next k


    End If


 '''铁水- 废钢- 熔剂 计算值 设定值-----

    Set rs_SDM2 = New ADODB.Recordset
    sql_SDM2 = "select  * from  tc_flux_cal where  HEAT_NO ='" & Trim(Heat_No_Write) & "' order by rec"
    rs_SDM2.Open sql_SDM2, cn_SDM2, adOpenStatic, adLockOptimistic

    If rs_SDM2.RecordCount <> 0 Then
        j = rs_SDM2.RecordCount
        ReDim HM_Cal_Flux(0 To j - 1, 0 To 23)
        rs_SDM2.MoveFirst
        For k = 0 To j - 1
            For i = 0 To 23
                If IsNull(rs_SDM2.Fields(i)) = True Then
                    HM_Cal_Flux(k, i) = 0
                Else
                     HM_Cal_Flux(k, i) = rs_SDM2.Fields(i)
                End If
            Next i
            rs_SDM2.MoveNext
        Next k


        For k = 0 To j - 1
            
            Set rs_CCM2 = New ADODB.Recordset
            If k = 2 Then sql_CCM2 = "select * from tc_flux_cal where heat_no='" & Trim(HM_Cal_Flux(k + 1, 0)) & "'and rec='" & Trim(HM_Cal_Flux(k + 1, 1)) & "' order by rec" ''原系统REC=4
            If k = 0 Or k = 1 Or k = 3 Then sql_CCM2 = "select * from tc_flux_cal where heat_no='" & Trim(HM_Cal_Flux(k, 0)) & "'and rec='" & Trim(HM_Cal_Flux(k, 1)) & "' order by rec"
            rs_CCM2.Open sql_CCM2, cn_CCM2, adOpenStatic, adLockOptimistic

            If rs_CCM2.RecordCount <> 0 Then
            
                If k = 0 Then     'rec=1
                    rs_CCM2.Fields(0) = HM_Cal_Flux(k, 0)
                    rs_CCM2.Fields(1) = HM_Cal_Flux(k, 1)
                    If Val(HM_Cal_Flux(k, 2)) <> 0 Then rs_CCM2.Fields(2) = HM_Cal_Flux(k, 2)
                    If Val(HM_Cal_Flux(k, 3)) <> 0 And Val(HM_Cal_Flux(k, 3)) <> 0.01 Then rs_CCM2.Fields(3) = HM_Cal_Flux(k, 3)
                    For i = 12 To 21
                   '    If Val(HM_Cal_Flux(k, i)) <> 0 Then
                           rs_CCM2.Fields(i) = HM_Cal_Flux(k, i)
                   '    End If
                    Next i
                    rs_CCM2.Update
                    rs_CCM2.Close
                End If
                
                If k = 1 Then     'rec=2
                    rs_CCM2.Fields(0) = HM_Cal_Flux(k, 0)
                    rs_CCM2.Fields(1) = HM_Cal_Flux(k, 1)
                    If Val(HM_Cal_Flux(k, 2)) <> 0 Then rs_CCM2.Fields(2) = HM_Cal_Flux(k, 2)
                    If Val(HM_Cal_Flux(k, 3)) <> 0 And Val(HM_Cal_Flux(k, 3)) <> 0.01 Then rs_CCM2.Fields(3) = HM_Cal_Flux(k, 3)
                    For i = 4 To 23
                       ' If Val(HM_Cal_Flux(k, i)) <> 0 Then
                            rs_CCM2.Fields(i) = HM_Cal_Flux(k, i)
                      '  End If
                    Next i
                    rs_CCM2.Update
                    rs_CCM2.Close
                End If
                
                If k = 2 Then     'rec=3
                    rs_CCM2.Fields(0) = HM_Cal_Flux(k, 0)
                    rs_CCM2.Fields(1) = HM_Cal_Flux(k + 1, 1)
                    For i = 4 To 11
                       ' If Val(HM_Cal_Flux(k, i)) <> 0 Then
                            rs_CCM2.Fields(i) = HM_Cal_Flux(k, i)
                      '  End If
                    Next i
                    rs_CCM2.Update
                    rs_CCM2.Close
                End If

'                If k = 3 Then     'rec=4
'                    rs_CCM2.Fields(0) = HM_Cal_Flux(k, 0)
'                    rs_CCM2.Fields(1) = HM_Cal_Flux(k, 1)
'                    For i = 2 To 23
'                        If Val(HM_Cal_Flux(k, i)) <> 0 Then
'                            rs_CCM2.Fields(i) = HM_Cal_Flux(k, i)
'                        End If
'                    Next i
'                    rs_CCM2.Update
'                    rs_CCM2.Close
'                End If

            ''''''原系统REC=3,REC=4,废钢分类重量为实际值

             Else
                                 
                If k = 0 Then     'rec=1
                    rs_CCM2.AddNew
                    rs_CCM2.Fields(0) = HM_Cal_Flux(k, 0)
                    rs_CCM2.Fields(1) = HM_Cal_Flux(k, 1)
                    If Val(HM_Cal_Flux(k, 2)) <> 0 Then rs_CCM2.Fields(2) = HM_Cal_Flux(k, 2)
                    If Val(HM_Cal_Flux(k, 3)) <> 0 And Val(HM_Cal_Flux(k, 3)) <> 0.01 Then rs_CCM2.Fields(3) = HM_Cal_Flux(k, 3)
                    For i = 12 To 21
                       If Val(HM_Cal_Flux(k, i)) <> 0 Then
                           rs_CCM2.Fields(i) = HM_Cal_Flux(k, i)
                       End If
                    Next i
                    rs_CCM2.Update
                    rs_CCM2.Close
                End If
                
                If k = 1 Then     'rec=2
                    rs_CCM2.AddNew
                    rs_CCM2.Fields(0) = HM_Cal_Flux(k, 0)
                    rs_CCM2.Fields(1) = HM_Cal_Flux(k, 1)
                    If Val(HM_Cal_Flux(k, 2)) <> 0 Then rs_CCM2.Fields(2) = HM_Cal_Flux(k, 2)
                    If Val(HM_Cal_Flux(k, 3)) <> 0 And Val(HM_Cal_Flux(k, 3)) <> 0.01 Then rs_CCM2.Fields(3) = HM_Cal_Flux(k, 3)
                    For i = 4 To 23
                        If Val(HM_Cal_Flux(k, i)) <> 0 Then
                            rs_CCM2.Fields(i) = HM_Cal_Flux(k, i)
                        End If
                    Next i
                    rs_CCM2.Update
                    rs_CCM2.Close
                End If
                
                If k = 2 Then     'rec=3
                    rs_CCM2.AddNew
                    For i = 0 To 1
                        If Val(HM_Cal_Flux(k, i)) <> 0 Then
                            rs_CCM2.Fields(i) = HM_Cal_Flux(k, i)
                        End If
                    Next i
                    rs_CCM2.Update
                    rs_CCM2.Close
                End If
                If k = 3 Then     'rec=4
                    rs_CCM2.AddNew
                    For i = 0 To 1
                        If Val(HM_Cal_Flux(k, i)) <> 0 Then
                            rs_CCM2.Fields(i) = HM_Cal_Flux(k, i)
                        End If
                    Next i
                    rs_CCM2.Update
                    rs_CCM2.Close
                End If
                
             End If
        Next k
        
    End If
'


'
''''生铁块-目标出钢量-氧量 计算值 设定值---

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -