请问Access程序是怎么回事

请问Access程序是怎么回事,第1张

ACCESS是一种小型的桌面型数据库软件,是Microsoft Office办公软件里面的一款,比较简单易用,是集数据陪迟族存储和界面编程开发于一体的软件工具,主要使用VBA语言,由于是文件型的数据库,所以单纯用ACCESS开发旦橡出来的程序随着客户端链接数的增加性能会急剧下降,从我以前开发的一些程序经验来看,当客户端增加到20个以上的时候打开速度呈直线下降,所以我后来就使用ACCESS+SQL Server2000来开发一些简单的程序,因为ACCESS2000以后的版本都有一个叫ADP的格式可能链接SQL等其他比较大芦弊型的数据库,虽然ACCESS简单易学,但只是比较合适开发一些用户比较少的小程序,当然在国外也有很多ACCESS高手用它来开发ERP系统,但我个人觉得很难,所以我后来比较多的是使用Delphi+SQL Server开发一些数据库系统,但ACCESS是个很好用的软件倒是真的!

只需做1个表,2个查询,1个窗体,估计能基本满足你要求。

①表,自然是运迟碧英汉对照表。

②查询,1个是英语对汉语查询,另1个是汉英。这里查询的关键是做相似性查询,例如一个中文解释是:向右、对、正确……,只要搜索“对”,就旁举要出现right,查询条件要用函数:like "*对*"。英语也旦手一样,查like "ri*"要出现ri开头的单词。

③窗体,就设置2个文本框,2个列表,文本框输入汉字和英语,列表对应出现查询结果。

二.访问数据库程序 1需求分析:此系统实现如下系统功能:(1)使得学生的管理工作更加清晰、条理化、自动化。(2)查询学生基本资料,容易地完成学生信息的查询 *** 作。(3) 设计人机友好界面,功能安排合理, *** 作使用方便,并且进一步考虑系统在安全性,完整性,并发控制,备份和恢复等方面的功能要求。2.系统功高卖能戚燃逗设计:实现功能:对表实行删除一个记录、移除一个记录和増加一个录。 ODBC应用程序3. 程序流程:应用程序使用基于对话框的MFC应用程序实现,各种 *** 作都是通过对话框中的控件来实现。(1)建立一个ACCESS数据库。(2)建立ODBC数据源,并且段举连接数据源。 (3)数据库应用程序中的文档和视图文档视图和数据库有很密切的关系,它关系到程序的设计结构。 (4)连接ACCESS数据库 4. 部分实现代码。BOOL CODBC2View::OnMove(UINT nIDMoveCommand) { switch(nIDMoveCommand) {case ID_RECORD_PREV: m_pSet->MovePrev()if(!m_pSet->IsBOF()) break//如果移到记录集的开始,自动执行MoveFirst函数 case ID_RECORD_FIRST: m_pSet->MoveFirst()breakcase ID_RECORD_NEXT: m_pSet->MoveNext()if(!m_pSet->IsEOF()) breakif(!m_pSet->CanScroll()) {//清空屏幕 m_pSet->SetFieldNull(NULL)break} case ID_RECORD_LAST: m_pSet->MoveLast()breakdefault: //异常情况 ASSERT(FALSE)} //交换数据 UpdateData(FALSE)return TRUE//不再需要这个父类的函数 //return CRecordView::OnMove(nIDMoveCommand)}void CODBC2View::OnMoveToRecord() { CMoveToRecord dlgMoveTo//创建CMoveToRecord类的对象实例 if(dlgMoveTo.DoModal()==IDOK) {CRecordset *pSet=OnGetRecordset()//获得指向数据库记录的指针 if(pSet->CanUpdate() &&!pSet->IsDeleted()) //确认所有的修改已经保存 {pSet->Edit()if(!UpdateData()) returnpSet->Update()} pSet->SetAbsolutePosition(dlgMoveTo.m_RecordID)//设置新的位置 UpdateData(FALSE)//更新表单 }}void CODBC2View::OnDeleteRecord() { CRecordsetStatus m_cStatustry{m_pSet->Delete()} catch(CDBException* m_pEx) {AfxMessageBox(m_pEx->m_strError)m_pEx->Delete()m_pSet->MoveFirst()//失败的话,将记录指针移到第一个记录 UpdateData(FALSE)return} m_pSet->GetStatus(m_cStatus)if(m_cStatus.m_lCurrentRecord==0) m_pSet->MoveFirst()//删除了最后一个记录else m_pSet->MoveNext()UpdateData(FALSE)}void CODBC2View::OnUpdateDeleteRecord(CCmdUI* pCmdUI) { pCmdUI->Enable(!m_pSet->IsEOF())}void CODBC2View::OnAddRecord() { CRecordset * pSet=OnGetRecordset()//获取指向数据集的指针 if(pSet->CanUpdate() &&!pSet->IsDeleted())//确认对数据集的任何修改均已经保存 {pSet->Edit()if(!UpdateData()) returnpSet->Update()}long m_lNewID=m_pSet->GetMaxID()+1//获取新的ID值 m_pSet->AddNew()//添加一个新记录 m_pSet->m___ID=m_lNewID//设置新的ID标识 m_pSet->Update()//保存新的记录 m_pSet->Requery()//刷新数据集 m_pSet->MoveLast()//游标移到最后一条记录 UpdateData(FALSE)//更新表单}5.经编译运行得


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12331422.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存