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

📄 frm_mdbftodbf.frm

📁 本程序是工作中开发的一个接口程序.它实现从Access数据库导出相关的数据到SQL数据库。
💻 FRM
📖 第 1 页 / 共 2 页
字号:
         Height          =   255
         Left            =   240
         TabIndex        =   9
         Top             =   3840
         Visible         =   0   'False
         Width           =   1695
      End
   End
   Begin MSComctlLib.ImageList ImageList1 
      Left            =   0
      Top             =   0
      _ExtentX        =   1005
      _ExtentY        =   1005
      BackColor       =   -2147483643
      ImageWidth      =   268
      ImageHeight     =   45
      MaskColor       =   12632256
      _Version        =   393216
      BeginProperty Images {2C247F25-8591-11D1-B16A-00C0F0283628} 
         NumListImages   =   7
         BeginProperty ListImage1 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frm_MdbfToDbf.frx":0329
            Key             =   ""
         EndProperty
         BeginProperty ListImage2 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frm_MdbfToDbf.frx":1BA5
            Key             =   ""
         EndProperty
         BeginProperty ListImage3 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frm_MdbfToDbf.frx":3421
            Key             =   ""
         EndProperty
         BeginProperty ListImage4 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frm_MdbfToDbf.frx":4C9D
            Key             =   ""
         EndProperty
         BeginProperty ListImage5 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frm_MdbfToDbf.frx":6519
            Key             =   ""
         EndProperty
         BeginProperty ListImage6 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frm_MdbfToDbf.frx":7D95
            Key             =   ""
         EndProperty
         BeginProperty ListImage7 {2C247F27-8591-11D1-B16A-00C0F0283628} 
            Picture         =   "frm_MdbfToDbf.frx":9611
            Key             =   ""
         EndProperty
      EndProperty
   End
   Begin VB.Label Label2 
      BackColor       =   &H8000000E&
      Caption         =   " 将载波应用数据库中的月末冻结数据导出到中间接口数据库中,供电力营销系统发行使用,  在导出过程中请停止其他操作。"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   9
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H00000000&
      Height          =   735
      Left            =   0
      TabIndex        =   13
      Top             =   0
      Width           =   7335
   End
End
Attribute VB_Name = "frm_sjzh"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'*****************************************
'*********作者:霍智慧
'*********时间:2006-09-01
'*********功能:将集抄数据库Newlyrtu.mdb数据库中的用户编号(User_id)
'*********      和冻结表底(Frz_z)的内容导入到中间库jcsj_yyyymm.dbf的
'*********      用户号(yhh)和总表示数(zbss)字段中供黑龙江省友谊县电业局使用。
'*****************************************
Dim cn As Connection
Dim Freezedata As New ADODB.Recordset
Dim meter As New ADODB.Recordset
Dim adorst As New ADODB.Recordset
Dim tb_Name As String
Dim cn1 As New ADODB.Connection
Dim DanWeiRS As New ADODB.Recordset
Dim SQLString As String
Dim hc_Name As String

Private Sub Command1_Click()
    On Error Resume Next
    CommonDialog1.Filter = "*.mdb|*.mdb"
    CommonDialog1.FilterIndex = 3
    CommonDialog1.DefaultExt = "mdb"
    CommonDialog1.Flags = cdlOFNHideReadOnly Or cdlOFNPathMustExist Or cdlOFNOverwritePrompt Or cdlOFNNoReadOnlyReturn
    CommonDialog1.DialogTitle = "Select the destination file "
    
    Text1.Text = ""
    CommonDialog1.ShowOpen
    Text1.Text = CommonDialog1.FileName
End Sub

Private Sub Command2_Click()
    On Error Resume Next
    CommonDialog2.Filter = "jcsj.dbf|jcsj.dbf"
    CommonDialog2.FilterIndex = 3
    CommonDialog2.DefaultExt = "dbf"
    CommonDialog2.Flags = cdlOFNHideReadOnly Or cdlOFNPathMustExist Or cdlOFNOverwritePrompt Or cdlOFNNoReadOnlyReturn
    CommonDialog2.DialogTitle = "Select the destination file "
    
    Text2.Text = ""
    CommonDialog2.ShowOpen
    Text2.Text = CommonDialog2.FileName
End Sub

Private Sub Command3_Click()
On Error Resume Next

Screen.MousePointer = vbHourglass
If Dir$("C:\Program Files\载波应用51\data\NewlyRTU.MDB") <> "" Then
    Set cn = New ADODB.Connection
    cn.ConnectionTimeout = 10
    cn.CommandTimeout = 0
    connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + "C:\Program Files\载波应用51\data\NEWlyRTU.MDB"
    cn.ConnectionString = connstr
    cn.Open
Else
    MsgBox "数据库文件(NewlyRTU.MDB)不存在,请检查!", vbExclamation, "提示信息"
    End
End If

yyyy = Trim(Str$(DTPicker1.Year))
mm = Trim(Str$(DTPicker1.Month))
If mm <= 9 Then mm = "0" + mm

hc_Name = "jcsj_" + yyyy + mm + ".dbf"

If Dir$("c:\cbq\jcsj.dbf") = "" Then
    MsgBox "数据库文件(jcsj.dbf)文件不存在,请检查后再试!", vbExclamation, "提示信息"
    End
End If
'''dd = Format(Date, "yyyy-mm-dd")
'''yyyy = Mid(dd, 1, 4)
'''mm = Mid(dd, 6, 2)

If Dir$("c:\cbq\" + hc_Name) <> "" Then
    Set cn1 = New ADODB.Connection
    cn1.CommandTimeout = 10
    cn1.ConnectionString = "PROVIDER=MSDASQL;DRIVER={Microsoft Visual Foxpro Driver};SourceDB=c:\cbq\;SourceType=DBF"
    cn1.Open
Else
    CopyFile "c:\cbq\jcsj.dbf", "c:\cbq\" + hc_Name, False
    Set cn1 = New ADODB.Connection
    cn1.CommandTimeout = 10
    cn1.ConnectionString = "PROVIDER=MSDASQL;DRIVER={Microsoft Visual Foxpro Driver};SourceDB=c:\cbq\;SourceType=DBF"
    cn1.Open
End If


Screen.MousePointer = vbDefault

If (cn.State And adStateOpen) And (cn1.State And adStateOpen) Then
  MsgBox "连接成功", vbExclamation, "提示  "
Else
  MsgBox "连接失败", vbExclamation, "提示  "
End If

End Sub
Private Sub Command4_Click()
        On Error Resume Next
    
        Dim meter As Recordset
        Set meter = New Recordset
        
        Dim adorst As Recordset
        Set adorst = New Recordset
        
        Dim Frz_zbss As Single
'''        Dim User_id As String
    
        Dim Sucess As Boolean
        Sucess = False
        
        Screen.MousePointer = vbHourglass
        
''''        dd = Format(Date, "yyyy-mm-dd")
''''        yyyy = Mid(dd, 1, 4)
''''        mm = Mid(dd, 6, 2)
        
        yyyy = Trim(Str$(DTPicker1.Year))
        mm = Trim(Str$(DTPicker1.Month))
        If mm <= 9 Then mm = "0" + mm
        
        hc_Name = "jcsj_" + yyyy + mm + ".dbf"
        
        Set Freezedata = New Recordset
        Freezedata.Open "select * from Freezedata where F_year=" + yyyy + " and F_month=" & mm, cn, adOpenKeyset, adLockOptimistic
        Freezedata.MoveLast
        
       
        If Freezedata.RecordCount = 0 Then
            MsgBox "没有可以导出的数据!", vbExclamation, "提示"
            Screen.MousePointer = vbDefault
            Freezedata.Close
            Exit Sub
        Else
            ProgressBar1.Min = 0
            ProgressBar1.Max = Freezedata.RecordCount
            ProgressBar1.Visible = True
            
            i = 0
            Freezedata.MoveFirst
'            Do While Not Freezedata.EOF
            For k = 0 To Freezedata.RecordCount
                i = i + 1
                ProgressBar1.Value = i
            
                meter.Open "select * from meter where Meter_ID='" + Freezedata!Meter_ID + "' and RTU_ID=" & Freezedata!RTU_ID, cn, adOpenKeyset, adLockOptimistic
                If meter.RecordCount > 0 And meter!User_id <> "" Then
                    l = InStr(Freezedata!Frz_z, ".")
                    If l > 1 Then
                        Frz_zbss = Trim(Left(Freezedata!Frz_z, l - 1))
                    Else
                        If l = 1 Then
                            Frz_zbss = 0 'Trim(Left(Freezedata!Frz_z, 1))
                        Else
                            Frz_zbss = Trim(Freezedata!Frz_z)
                        End If
                    End If
                    
                    SQLString = "Select * From " + hc_Name + " Where yhh=" + "'" + meter!User_id + "'"
                    adorst.Open SQLString, cn1, adOpenKeyset, adLockOptimistic
                    If adorst.EOF = False Then
                        Sucess = True
                        adorst!yhh = Trim(meter!User_id)                            '用户号
                        adorst!jlsbh = Trim(meter!meter_num)                        '计量设备号
                        adorst!yhm = Trim(meter!User_Name)                          '用户名称
                        adorst!sycl = meter!mult                                    '实用乘率
                        adorst!zbss = Frz_zbss                                         '总表示数
                        adorst!cbrq = Left(LTrim(Freezedata!M_Date), 8)             '抄表日期
                        adorst!sblb = 1 ' meter!Type                                '设备类别(1 有功 2有功峰谷平 3有功峰谷总 4无功)
                        adorst.Update
'''''''                        Freezedata.Delete   '删除Freezedata表中的记录
'''''''                        Freezedata.Update
                    Else
                        Sucess = True
                        adorst.AddNew
                        adorst!yhh = Trim(meter!User_id)                            '用户号
                        adorst!jlsbh = Trim(meter!meter_num)                        '计量设备号
                        adorst!yhm = Trim(meter!User_Name)                          '用户名称
                        adorst!sycl = meter!mult                                    '实用乘率
                        adorst!zbss = Frz_zbss                                         '总表示数
                        adorst!cbrq = Left(LTrim(Freezedata!M_Date), 8)             '抄表日期
                        adorst!sblb = 1 ' meter!Type                                '设备类别(1 有功 2有功峰谷平 3有功峰谷总 4无功)
                        adorst.Update

''''''                        Freezedata.Delete   '删除Freezedata表中的记录
''''''                        Freezedata.Update
                    End If
                    adorst.Close
                End If
                Freezedata.MoveNext
                meter.Close
''            Loop
            Next

            ProgressBar1.Visible = False
        
        
        End If
        
        If Sucess = True Then
            MsgBox "导出成功!", vbExclamation, "提示"
            MsgBox "请退出此程序!", vbExclamation, "提示"
        Else
            MsgBox "导出失败!", vbExclamation, "提示"
        End If

        Freezedata.Close
        
        Screen.MousePointer = vbDefault
End Sub

Private Sub Form_Load()
On Error Resume Next
Combo1.Text = Combo1.List(0)
Text1.Text = "C:\Program Files\载波应用51\data\NewlyRTU.MDB"
'Text2.Text = "C:\cbq\jcsj.dbf"

DTPicker1.Value = Date

yyyy = Trim(Str$(DTPicker1.Year))
mm = Trim(Str$(DTPicker1.Month))
If mm <= 9 Then mm = "0" + mm
        
hc_Name = "jcsj_" + yyyy + mm + ".dbf"

Text2.Text = "C:\cbq\" + hc_Name

End Sub

Private Sub Form_Unload(Cancel As Integer)
Unload Me
End Sub

⌨️ 快捷键说明

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