仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 485|回复: 8
打印 上一主题 下一主题

[学习教程] MYSQL网页编程之使用拆分后的后端数据库保留分歧年份的...

[复制链接]
兰色精灵 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:27:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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提供了敏捷和高效的数据库服务,它可以支持多变的需求。
老尸 该用户已被删除
沙发
发表于 2015-1-19 13:31:50 | 只看该作者
很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。
柔情似水 该用户已被删除
板凳
发表于 2015-1-25 21:24:16 | 只看该作者
然后最好有实践机会,能够把实践到的和实践结合起来,其实理论思考是个非常困扰和痛苦的事情
不帅 该用户已被删除
地板
发表于 2015-2-4 03:49:31 | 只看该作者
但换公司用MSSQL2K感觉自己好像根本就不了解MSSQL。什么DTS触发器以前根本没用过。
冷月葬花魂 该用户已被删除
5#
发表于 2015-2-9 14:42:28 | 只看该作者
分区表是个亮点!从分区表也能看出微软要做大作强SQLServer的信心。资料很多,这里不详细说。但是重点了解的是:现在的SQLServer2005的表,都是默认为分区表的。因为它要支持滑动窗口的这个特性。这种特性对历史数据和实时数据的处理是很有帮助的。
再现理想 该用户已被删除
6#
发表于 2015-2-27 07:08:15 | 只看该作者
还不是性能有问题!否则面向对象的数据库早就实现了!建议使用CLR的地方一般是和应用的复杂程度或操作系统环境有很高的耦合度的场景。如你想构建复杂的算法,并且用到了大量的指针和高级数据模型。
愤怒的大鸟 该用户已被删除
7#
发表于 2015-3-8 23:40:29 | 只看该作者
多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。
海妖 该用户已被删除
8#
发表于 2015-3-16 18:51:50 | 只看该作者
对于微软系列的东西除了一遍遍尝试还真没有太好的办法
再见西城 该用户已被删除
9#
发表于 2015-3-23 00:13:21 | 只看该作者
个人感觉没有case直观。而且默认的第三字段(还可能更多)作为groupby字段很容易造成新手的错误。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-6-2 19:43

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表