在vb中如何得到access表中某一字段的最大值

如题所述

方法一:
1,按照该字段降序排列,首记录的该字段就是最大值。
方法二:
利用SQL 的函数,Max()
Select Max(字段名) As AAAA From 表名
返回的记录集,只有一条记录、一个字段AAA,该记录的该字段值就是所求追问

我用的adodoc datagrid 控件啊, 你再给我看看吧

追答

假设你用的控件名是ADODC1,
'注意:字段名用实际的字段名(你说的某一字段),表名用实际的表名

你加一个临时按钮,在其单击事件里用下面代码,试试就知道了。

‘前提,是你的数据库连接成功了,(datagrid里看到记录了)
Adodc1.RecordSource = "Select Max(字段名) As AAAA From 表名"
Adodc1.Refresh
Msgbox Adodc1.Recordset.Fields("AAAA")

追问

总提示from语法错误时怎么回事呀
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\cxlast.mdb;Persist Security Info=False"
Adodc1.RecordSource = "Select Max(序号) As AAAA From 病人资料卡"
Adodc1.Refresh
MsgBox Adodc1.Recordset.Fields("AAAA")
我想把这个记录显示在text中
text31.text=。。。

追答

你先试试下面:
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\cxlast.mdb;Persist Security Info=False"
Adodc1.RecordSource = "病人资料卡"
Adodc1.Refresh
MsgBox Adodc1.Recordset.Fields("序号")
有结果吗?

追问

Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "Select Max(序号) As AAAA from 病人资料卡"
Adodc1.Refresh
'MsgBox Adodc1.Recordset.Fields("AAAA")
Text31.Text = Adodc1.Recordset.Fields("AAAA")
要加上第一条语句,现在可以求出来最大值了,但是加上这几段后。程序运行到后面的时候就会出错,删了这段就好了。为什么呀?方便加个qq帮帮我吗?292812832

追答

我加你QQ了!
你把第1句改成
Adodc4.CommandType = adCmdUnknown
试试看

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-01-25
调用max函数

在vb中如何得到access表中某一字段的最大值
方法一:1,按照该字段降序排列,首记录的该字段就是最大值。方法二:利用SQL 的函数,Max()Select Max(字段名) As AAAA From 表名 返回的记录集,只有一条记录、一个字段AAA,该记录的该字段值就是所求

在VB中怎么得到Access数据库中的某个字段的最大长度???...
可以直接用Access打开数据库查看~~~ ^^ 或者,在VB中用出错处理解决。。。比如写入时出错,就截一 部分重写,再出错,再截,如此循环~~

如何用VB筛选Access表中的最大值和最小值
用一条SQL语句即可解决:Dim rs As New Recordset Set rs = conn.Execute("select max(字段名),min(字段名),avg(字段名) from 表名")然后rs(0)就是最大值,rs(1)是最小值,rs(2)是平均值 至于如何显示到窗体控件上这你应该会吧。

菜鸟急求vb6.0对access数据库操作中取出某列最大值的代码
select max(某列)from 某表 where 某条件 或在VB6中 假定rs为查询出来的数据集 dim themax rs.movefirst for i = 1 to rs.recordcount if i= 1 then themax = rs("某列")else if themax<rs("某列")then themax = rs("某列")end if end if rs.movenext next i ...

VB读取ACCESS数据库最大日期
select top 1 * from 表名 order by 日期字段名 desc 也就是根据日期字段由大到小排列,并且只返回一条记录。注意,这个字段一定要是日期时间型的,如果是字符型的日期字串,可能会造成排序混乱

请问如何用vb.net读取access数据库某一字段的最后一条记录?
你这已经完成一半了 然后就是应该申明一个表格,来接收语句操作的返回值 比如 dim dt as datatable=comonmodule.sqlopera(strr,tablename)dt.rows(0).columns(0).tostring 就是得到的结果的第一行第一列的值 我以 你的 SQLOpera 是自己写的一个方法,可以返回一个表,作为条件。

如何使用VB6.0中 ADO控件获取ACCESS数据库表中字段的最大值并把最大值...
Dim sql As String Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "c:\\成绩.mdb;"sql = "select * from 学生成绩表 ORDER BY 数学 DESC "Adodc1.RecordSource = sql Adodc1.Refresh Text1 = Adodc1.Recordset("数学")

怎么用VB读取ACCESS表中的某个值
MsgBox "该同学不存在", , "提示"Else If rs.Fields(1) = Combo2.Text Then text.text = rs.Fields(2)Else MsgBox "科目错误", , "警告"Text2.Text = ""Text2.SetFocus End If rs就定义为第一句中那张表,rs.Fields(1)、rs.Fields(2)是表中对应于同学姓名的另外两列:科目和成绩。

用VB 把access中的记录段排序
将记录集语句改写成如下即可:Select * from 你的数据库表的名称 order by 你需要排序在字段

在VB中如何实现对access表的遍历和整列赋值
用记录集对象打开数据库表,对记录集遍历即可:Do while not rs.EOF rs.fields(i)="aa"'对当前记录某列赋值 rs.MoveNext loop

相似回答
大家正在搜