|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
能够以较低的成本向客户提供IT所有权,当节约成本成为客户最高优先级时,解决方案提供商可以向更多的客户同时提供服务。虽然有许多来自RDBMS固有的局限性。面向:初学者
目标:假如一年的数据较多,但愿在分年的数据库中保留数据
常识点:1.数据库拆分
2.文件查找手艺
3.文件复制
4.链接表的革新
步骤: 1.将一些每一年都要利用(修正,增加等)的表的称号前两个字母改成配合的(如:Or_营业职员名单,Or_收货人名单等),注重不如果"MS","SW","US"等体系要利用的字母
2.将数据库拆分(假设前端称号为:出口营业纪录.mdb,后端称号为:出口营业纪录_dataOrigin.mdb
3.在启动窗体(假设称号为:窗体1)中创建一文本框(假设称号为:所属年份)
4.在窗体1的Open事务和所属年份的AfterUpdate事务中挪用上面的"查找文件"历程.
PublicSub链接()
OnErrorGoToLJ_error
DimTABNAMEAsString
DimTab1AsTableDef
DimMyPathAsString
MyPath=Application.CurrentProject.Path
CurrentDb.TableDefs.Refresh 革新以后数据库中的表工具
IfCurrentDb.TableDefs(15).Connect=";DATABASE="&MyPath&"出口营业纪录_data"&FORMs!窗体1!所属年份&".mdb"Then
ExitSub
Else
ForEachTab1InCurrentDb.TableDefs
TABNAME=Tab1.Name
IfLeft(TABNAME,2)"MS"AndLeft(TABNAME,2)"SW"AndLeft(TABNAME,2)"Us"Then
IfLeft(TABNAME,2)="Or"Then
Tab1.Connect=";DATABASE="&MyPath&"出口营业纪录_dataOrigin.mdb"
Else
Tab1.Connect=";DATABASE="&MyPath&"出口营业纪录_data"&FORMs!窗体1!所属年份&".mdb"
EndIf
Tab1.RefreshLink
EndIf
NextTab1
MsgBoxFORMs!窗体1!所属年份&"年的基本数据库毗连乐成!"
EndIf
Exit_LJ_error:
ExitSub
LJ_error:
MsgBoxFORMs!窗体1!所属年份&"年的后端数据库文件不存在!"
ResumeExit_LJ_error
EndSub
PublicSub查找文件()
DimMyPathAsString
DimfsAsVariant
DimTABNAMEAsString
DimTab1AsTableDef
MyPath=Application.CurrentProject.Path
Setfs=Application.FileSearch
Withfs
.LookIn=MyPath
.SearchSubFolders=True
.Filename="出口营业纪录_data"&FORMs!窗体1!所属年份&".mdb"
If.Execute()<=0Then
IfMsgBox("没有"&FORMs!窗体1!所属年份&"年的数据库,是不是要创立一个?",vbYesNo)=vbYesThen
FORMs!窗体1.FORM!版本.FORM.RecordSource=""
FileCopyMyPath&"出口营业纪录_dataOrigin.mdb",MyPath&"出口营业纪录_data"&FORMs!窗体1!所属年份&".mdb"
Else
FORMs!窗体1!所属年份=Year(Now())
MsgBox"没有"&FORMs!窗体1!所属年份&"年的数据库!"
ExitSub
EndIf
EndIf
EndWith
链接
EndSub
4.在窗体1的Close事务中写:
PrivateSubFORM_Close()
DimTABNAMEAsString
DimTab1AsTableDef
DimMyPathAsString
MyPath=Application.CurrentProject.Path
CurrentDb.TableDefs.Refresh 革新以后数据库中的表工具
IfCurrentDb.TableDefs(15).Connect=";DATABASE="&MyPath&"出口营业纪录_data"&Year(Now())&".mdb"Then
ExitSub
Else
ForEachTab1InCurrentDb.TableDefs
TABNAME=Tab1.Name
IfLeft(TABNAME,2)"MS"AndLeft(TABNAME,2)"SW"AndLeft(TABNAME,2)"Us"Then
IfLeft(TABNAME,2)="Or"Then
Tab1.Connect=";DATABASE="&MyPath&"出口营业纪录_dataOrigin.mdb"
Else
Tab1.Connect=";DATABASE="&MyPath&"出口营业纪录_data"&Year(Now())&".mdb"
EndIf
Tab1.RefreshLink
EndIf
NextTab1
EndIf
EndSub
注重窗体一最好是没有任何绑定控件的切换面板,假如有如许的控件,在变动链接表connect属性和FileCopy之前要设置这些控件的一切***Source(如RcordSource,RowSource等)="",完成相干语句后再设置成本来的值.
但愿斧正!!!
任何规模的组织都可能受益于外包服务,并在一个标准化和优化的平台上统一其数据库管理任务。基于其本身的特性,DBaaS提供了敏捷和高效的数据库服务,它可以支持多变的需求。 |
|