access算法
㈠ Access两个表格之间怎么加减,求赐教
如果两表的关联记录属于属于一对一(唯一对唯一)的情况,那么对应的字段直接加减就可以了。例如
select a.id,(nz(a.数量,0)-nz(b.数量,0)) as ab差量 from a,b where a.id=b.id;
select a.id,(nz(a.数量,0)+nz(b.数量,0)) as ab和量 from a,b where a.id=b.id;
说明:上述语句如果a、b两表的数量字段不存空值的情况下nz()函数可以不使用
如果两表的关联记录属于属于一对多或多对多的情况,那么就需要先将多方的记录汇总成一条记录,然后再进行一对一互相加减。另外还可以先将a、b两表的记录联合起来,再用关联字段进行分组汇总从而实现两表之间的数据加减。
这里需要提醒一点,涉及多表间的数据汇总,往往需要实施表间连接,但是由于多表连接的笛卡尔输出规则会导致检索出来的行数多于实际数据表存储的记录,直接汇总的话统计出来的数据就会不正确,因此我们在设计SQL语句时要特别小心避开这个因素的影响以便得到正确的汇总数据。
具体的实现方案,视数据结构与两表数据相加减的算法需求的不同会有非常多的变化,需要考虑的问题也很多,这里很难一一讲清楚。
㈡ access数据库能否像excel表格那样计算函数
ACCESS支持标准的SQL语句,它的计算能力远比EXCEL强大。
另,ACCESS数据库的下一级是表,表的下一级是记录、列,没有单元格这个概念吧。
如果想学习使用ACCESS计算,你去看一下SQL的书籍,在ACCESS里面的查询,可以直接写SQL语句。
㈢ 关于access中随机数Rnd(id)
假设可以编写一个类似RND的函数,其函数算法是在参数的值上+1,然后写SQL语句使用这个函数,你说使用了函数的返回的值是属于哪一个记录的值?
答案很简单,原记录就是原记录不会改变,只是记录中的某一个字段值被改变了。
㈣ asp+access,请提供收银算法
5月11日 21:52 看了你说的 你的意思是说吧变量放到数据库中,然后调出来,作为变量使用对不?
我没有试过变量放在数据库中
1。根据你的思想,你要这么做,一定要定义变量。
至于你说的 ,出来的只是一空白, 能确定数据库连接正确吗?我认为只要数据库连接正确,至少能显示<%=rs("备注")%> 吧?
2。如果只是吧<%=rs("备注")%>信息显示出来,你应该往数据库写的时候用HTMLEncode 转换 <%=rs("备注")%>等于后边的 <%=rs("备注")%> 写到数据库
读取的时候<%=rs("备注")%>读取后 页面就显示<%=rs("备注")%>
该回答在5月12日 21:28由回答者修改过
㈤ 用Access开发系统,是否能显示其算法说明
算法通常只对开发者有意义,你要显示给谁看呢?用户肯定看不懂,用户若能看懂算法也就用不着你来开发系统了。
㈥ access里类型是“货币”可不可以用=SUM()之类的算法
可以,货币也是一种数值类型
㈦ ACCESS高手得达到什么程度
1L不懂别误人子弟
1.ACCESS高手肯定是要懂VB的(模块),因为宏的功能有限,有时候有些问题必须自己写程序编制宏解决。而一个不懂宏的人根本就不能算入了ACCESS的门。宏是ACEESS应用者必须会的知识。因为一个专业的ACCESS数据库一般都要配置面板和窗体方便用户使用,而窗体和面板的设计绝对是离不开宏的。这一点,当你学到一定程度自然就有体会了。
2.ACCESS可以做很多事情,比如商品销售系统,学生管理系统,网站信息管理,个人账本。。。。。林林总总,只要是和信息整理有关的东西,它都可以做。。我个人来说,喜欢用它记单词。。整理笔记。。写个人病历。。。还有记账。
㈧ 如何学好Access数据库编程
好像武侠小说里边说的:“你的招式忘了没有?”,回答:“差不多忘了”,“忘了就好”。这与数据库编程有什么关系?关系可大了。同志们学过Pascal、BASIC、C(C++)没有?如果没有,FOXBASE、FOXPRO应该学过吧?按以上这些语言编程,都是过程化的,说白一点就是一个数据一个数据、一条记录一条记录去处理(FOXBASE、FOXPRO不完全这样,但书上也经常是这样介绍的),当初我接触ACCESS 97时,一下子没有了IF、FOR这些语句(指数据处理),都用SQL语句,真是找不到北了,好在我学SQL语言时,也尽量忘掉这个IF、FOR,到我忘得差不多时,功夫也进了一大步,原来要编一大段程序,现在一两条SQL语句搞定,就算用多几条SQL语句,由于是在图形界面下做,可视化操作,拉拉扯扯,再修改一下生成的SQL语句,也就省事多了。由于ACCESS具备完整的SQL语言(FOXBASE没有、FOXPRO不完整),我从ACCESS 97开始用ACCESS编程,到现在为止,DAO、ADO很少用,加上最近从爱赛思上接触的一些技术,基本上不用DAO、ADO都可以了,可以从我的“未完工的库存管理”中看出,只是在特殊情况下才偶尔用一下。(少用,但不是不用,还得学,不要误解)如何学好数据库编程?下面介绍一下本人的一些经验,仅供参考:1.首先要把原来一个数据一个数据、一条记录一条记录的数据处理方式忘掉,越彻底越好。现在用成批处理了。少用记录集一条记录一条记录地处理,尽量用SQL语句。2.学好关系数据库的理论,尤其是规范化理论,表的设计一定要规范化,最起码要规范化到第三范式。集合运算(并、交、差)。关系运算(选择、投影、连接)。其中连接与规范化是紧密结合的。3.运用面向对象的技术:面向对象的分析OOA、面向对象的设计OOD、面向对象的编程OOP,根据表的关系,用窗体和子窗体、报表和子报表,仿真面向对象,这样可以增加程序的可读性和可维护性。(这是高级技术,同志们不要轻视,做大项目你就知道有用了)4.用查询时,通常一步做不出来,可以分几步做,本人通常是这么做的,从我给网友回复的例子中也可以看得出。为什么要这样做?(1)有些是SQL语言的限制,没办法一步做出来,逼的;(2)可以检查每一步查询的结果,容易调试;(3)增加可读性,便于日后维护。5.查询的结果用窗体显示或用报表打印,两者的技术差不多。通常改变打开窗体或报表的条件就可控制显示或打印的记录范围。另外用查询做数据源时,动态改变查询中的SQL语句,比在查询中引用窗体的控件要方便,因为SQL语句生成是在VBA中,可以先存放在字符变量中,然后再更新查询的SQL语句,这样就可以用断点来检查变量值对不对,如果在查询中引用窗体的控件,尤其是包含IIF()函数时,调试是很困难的。6.开发一个系统,首先要解决技术问题,即算法,用简单例子,把算法弄懂了,再详细设计,这一点从网友的提问中可以看出,有很多人问题表达不清楚,有的人其中夹了很多与算法无关的东西,尤其是很专业的东西,别人不容易看得明白,由于算法没搞清楚,程序就无法编了。7.不要使用过多的工具特性,使用过多的工具特性会使可读性降低,可维护性差,要别人帮忙时难以得到帮助,更要命的是可移植性差,从MDB到ADP就可以体会到了,所以在编程时可读性很重要,可移植性更重要,你甘心自己的程序就固定在一个环境下运行吗?你甘心永远用一个工具搞开发吗?
㈨ Access数据库对象的操作包括哪五种
Access主要对象有数据表、查询、报表、窗体、宏、模块。
数据表(Table) ——表是Access数据库的核心对象,主要是用于存储数据,是创建其他5种对象的基础。数据表是以行、列来显示数据记录,是同一类数据的集合体。
表由记录组成,记录由字段组成,是Access数据库中存贮数据的地方,故又称数据库。一个数据库中可以包含一个或多个数据表。
查询(Query)——根据事先设定的限制条件从一个或多个数据表中检索除符合条件的数据,并加以统计和分析。查询可以按索引快速查找到需要的记录,按要求筛选记录并能连接若干个表的字段组成新表。
窗体(Form)——窗体提供了一种方便的浏览、输入及更改数据的窗口。还可以创建子窗体显示相关联的表的内容。一方面窗体可以增加录入过程的趣味性,另一方面也保护了数据的完整性、准确性和安全性。
报表(Report)——报表是用于将将检索的数据或原始数据以特定的方式显示出来,报表既可以对数据进行分组,还支持对数据的各种统计和计算。
宏(Macro)——是一个或多个命令的集合,其中每个命令都可以实现特定的功能,通过将这些命令组合起来,可以自动完成某些经常重复或复杂的动作。Access大部分功能是可以通过宏的组合来完成的。
模块(Mole)——模块的功能与宏类似,但它定义的操作比宏更精细和复杂,用户可以根据自己的需要编写程序。
(9)access算法扩展阅读
Access数据库的优缺点:
Microsoft Access Basic提供了一个丰富的开发环境。这个开发环境给你足够的灵活性和对Microsoft Windows应用程序接口的控制,同时保护你使你免遭用高级或低级语言开发环境开发时所碰到的各种麻烦。
不过,许多优化、有效数据和模块化方面只能是应用程序设计者才能使用。开发者应致力于谨慎地使用算法。除了一般的程序设计概念,还有一些特别的存储空间的管理技术,正确使用这些技术可以提高应用程序的执行速度,减少应用程序所消耗的存储资源。
提高速度和减少代码量
你可以用几种技巧来提高你的编码速度,但是却找不到有效的算法的替代者。接下来的这几点建议可以提高你的编码速度同时又减少你的应用程序消耗的存储空间。
用整形数进行数学运算
即使Microsoft Access 会使用一个联合处理器来处理浮点型算术,整型数算术也总是要快一些。当你的计算不含有小数,尽量使用整型或长整型而不是变量或双整型。整型除法同样也要比浮点除法要快。在使用其他一些有效的数据类型时会警告:没有任何东西可以替换有效的运算法则。
避免使用过程调用
避免在循环体中使用子程序或函数调用。每一次调用都因额外的工作和时间而给编码增大了负担。每一次调用都要求把函数的局部变量和参数压栈,而栈的大小是固定的,不能随便加大,并且同时还要于Microsoft Access共享。