MYSQL网页编程之使用拆分后的后端数据库保留分歧年份的...
能够以较低的成本向客户提供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提供了敏捷和高效的数据库服务,它可以支持多变的需求。 很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。 然后最好有实践机会,能够把实践到的和实践结合起来,其实理论思考是个非常困扰和痛苦的事情 但换公司用MSSQL2K感觉自己好像根本就不了解MSSQL。什么DTS触发器以前根本没用过。 分区表是个亮点!从分区表也能看出微软要做大作强SQLServer的信心。资料很多,这里不详细说。但是重点了解的是:现在的SQLServer2005的表,都是默认为分区表的。因为它要支持滑动窗口的这个特性。这种特性对历史数据和实时数据的处理是很有帮助的。 还不是性能有问题!否则面向对象的数据库早就实现了!建议使用CLR的地方一般是和应用的复杂程度或操作系统环境有很高的耦合度的场景。如你想构建复杂的算法,并且用到了大量的指针和高级数据模型。 多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。 对于微软系列的东西除了一遍遍尝试还真没有太好的办法 个人感觉没有case直观。而且默认的第三字段(还可能更多)作为groupby字段很容易造成新手的错误。
页:
[1]