运用拆分后地后端数据库保存不同年份地数据

西小早qin

西小早qin

2016-02-19 17:31

今天图老师小编给大家精心推荐个运用拆分后地后端数据库保存不同年份地数据教程,一起来看看过程究竟如何进行吧!喜欢还请点个赞哦~

面向:初学者

目的:如果一年的数据较多,希望在分年的数据库中保存数据

知识点:1.数据库拆分
    2.文件查找技术
    3.文件复制
    4.链接表的刷新

步骤: 1.将一些每年都要使用(修改,添加等)的表的名称前两个字母改为共同的(如:Or_业务人员名单,Or_收货人名单等),注意不要是"MS","SW","US"等系统要使用的字母
    2.将数据库拆分(假如前端名称为:出口业务记录.mdb,后端名称为:出口业务记录_dataOrigin.mdb
    3.在启动窗体(假如名称为:窗体1)中建立一文本框(假如名称为:所属年份)
    4.在窗体1的Open事件和所属年份的AfterUpdate事件中调用下面的"查找文件"过程.

Public Sub 链接()

On Error GoTo LJ_error
   Dim TABNAME As String
   Dim Tab1 As TableDef
   Dim MyPath As String

     MyPath = Application.CurrentProject.Path
     CurrentDb.TableDefs.Refresh          '刷新当前数据库中的表对象
     If CurrentDb.TableDefs(15).Connect = ";DATABASE=" & MyPath & "出口业务记录_data" & FORMs!窗体1!所属年份 & ".mdb" Then

     Exit Sub

     Else
     For Each Tab1 In CurrentDb.TableDefs       

     TABNAME = Tab1.Name
     If Left(TABNAME, 2) "MS" And Left(TABNAME, 2) "SW" And Left(TABNAME, 2) "Us" Then
       If Left(TABNAME, 2) = "Or" Then
         Tab1.Connect = ";DATABASE=" & MyPath & "出口业务记录_dataOrigin.mdb"
       Else
       Tab1.Connect = ";DATABASE=" & MyPath & "出口业务记录_data" & FORMs!窗体1!所属年份 & ".mdb"
       End If
     Tab1.RefreshLink
     End If

     Next Tab1
         MsgBox FORMs!窗体1!所属年份 & "年的基础数据库连接成功!"
     End If
Exit_LJ_error:
   Exit Sub

LJ_error:
   MsgBox FORMs!窗体1!所属年份 & "年的后端数据库文件不存在!"
   Resume Exit_LJ_error
End Sub

Public Sub 查找文件()
   Dim MyPath As String
   Dim fs As Variant
   Dim TABNAME As String
   Dim Tab1 As TableDef

   MyPath = Application.CurrentProject.Path

   Set fs = Application.FileSearch
   With fs
   .LookIn = MyPath
   .SearchSubFolders = True
   .Filename = "出口业务记录_data" & FORMs!窗体1!所属年份 & ".mdb"

   If .Execute() = 0 Then
     If MsgBox("没有" & FORMs!窗体1!所属年份 & "年的数据库,是否要创建一个?", vbYesNo) = vbYes Then
       FORMs!窗体1.FORM!版本.FORM.RecordSource = ""
       FileCopy MyPath & "出口业务记录_dataOrigin.mdb", MyPath & "出口业务记录_data" & FORMs!窗体1!所属年份 & ".mdb"
       Else
       FORMs!窗体1!所属年份 = Year(Now())
       MsgBox "没有" & FORMs!窗体1!所属年份 & "年的数据库!"
       Exit Sub
     End If
   End If
   End With
   链接
End Sub

   4.在窗体1的Close事件中写:
Private Sub FORM_Close()
   Dim TABNAME As String
   Dim Tab1 As TableDef
   Dim MyPath As String


     MyPath = Application.CurrentProject.Path
     CurrentDb.TableDefs.Refresh          '刷新当前数据库中的表对象
     If CurrentDb.TableDefs(15).Connect = ";DATABASE=" & MyPath & "出口业务记录_data" & Year(Now()) & ".mdb" Then

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

       Exit Sub
     Else
       For Each Tab1 In CurrentDb.TableDefs       

       TABNAME = Tab1.Name
       If Left(TABNAME, 2) "MS" And Left(TABNAME, 2) "SW" And Left(TABNAME, 2) "Us" Then
         If Left(TABNAME, 2) = "Or" Then
           Tab1.Connect = ";DATABASE=" & MyPath & "出口业务记录_dataOrigin.mdb"
         Else
           Tab1.Connect = ";DATABASE=" & MyPath & "出口业务记录_data" & Year(Now()) & ".mdb"
         End If
       Tab1.RefreshLink
       End If

       Next Tab1
     End If
End Sub

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

注意窗体一最好是没有任何绑定控件的切换面板,如果有这样的控件,在更改链接表connect属性和FileCopy之前要设置这些控件的所有***Source(如RcordSource,RowSource等)="",完成相关语句后再设置成原来的值.

希望指正!!!

展开更多 50%)
分享

猜你喜欢

运用拆分后地后端数据库保存不同年份地数据

编程语言 网络编程
运用拆分后地后端数据库保存不同年份地数据

Access中利用拆分后端数据库保存不同数据

编程语言 网络编程
Access中利用拆分后端数据库保存不同数据

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

自己设定链接后端数据库

编程语言 网络编程
自己设定链接后端数据库

谈谈数据从sql server数据库导入mysql数据库地体验

编程语言 网络编程
谈谈数据从sql server数据库导入mysql数据库地体验

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

不同数据库之间转换

编程语言 网络编程
不同数据库之间转换

增涨拆分数据库在网上运行、编辑地速度

编程语言 网络编程
增涨拆分数据库在网上运行、编辑地速度

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

研究生管理信息系统的开发流程

研究生管理信息系统的开发流程

Win10正式版升级常见问题及解答汇总

Win10正式版升级常见问题及解答汇总
下拉加载更多内容 ↓