找回密码
 加入
搜索
查看: 9230|回复: 6

[AU3基础] 【已解决】如何查询access数据库某列的最大值?

[复制链接]
发表于 2013-2-20 22:29:53 | 显示全部楼层 |阅读模式
本帖最后由 xms77 于 2013-2-21 08:51 编辑

搜索了整个论坛,搞了一个多小时,还没有整出来。
我现在的代码如下:
Func _QueryMax($iTblName, $iColumnName)
        Local $iMax
        $addfld = ObjCreate("ADODB.Connection")
        $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & $mdb_data_path & ";Jet Oledb:Database Password=")
        $RS = ObjCreate("ADODB.Recordset")
        $RS.ActiveConnection = $addfld
        $RS.Open("SELECT MAX(ZPos1) as Maxvalue FROM " & $iTblName)
        $imax = $RS.Maxvalue
        $RS.close
        $addfld.close ;写完结束所有的连接
        Return $iMax
EndFunc 

灰常298311657兄弟感激的帮忙,修正代码如下:
Func _accessGetColumnMax($adSource, $adTable, $adCol)
        Local $Val
        Local $oADO = 'ADODB.Connection'
        If IsObj($oADO) Then
                $oADO = ObjGet('', $oADO)
        Else
                $oADO = _dbOpen($adSource)
        EndIf
        If IsObj($oADO) = 0 Then Return SetError(1)
        Local $oRec = _dbOpenRecordset()
        If IsObj($oRec) = 0 Then Return SetError(2)
        $oRec.Open("SELECT Max(" & $adCol & ") as Maxvalue FROM " & $adTable, $oADO, $adOpenStatic, $adLockOptimistic)
        $Val = $oRec.Fields("Maxvalue").value
        $oRec.Close
        $oADO.Close
        Return $Val
EndFunc   ;==>_accessGetColumnMax
发表于 2013-2-20 22:57:48 | 显示全部楼层
$imax = $RS.Fields("Maxvalue").Value
发表于 2013-2-20 22:59:46 | 显示全部楼层
加个条件
If Not $Rs.Eof Then
    $imax = $RS.Fields("Maxvalue").Value
Else
    $imax = 0
Endif

评分

参与人数 1金钱 +80 贡献 +5 收起 理由
xms77 + 80 + 5 谢谢,不加条件也行!

查看全部评分

 楼主| 发表于 2013-2-21 08:31:16 | 显示全部楼层
回复 2# 298311657
谢谢兄弟,不加条件也行!
 楼主| 发表于 2013-2-21 12:32:51 | 显示全部楼层
回复 2# 298311657
如果我要按时间段来查询某个字段的最大值,代码如下,但是查询结果为空,不知道是不是时间格式问题。数据库的'DT'字段定义的是Date/Time格式。帮我看下原因,谢谢!
$RS.Open("SELECT Max(AdjustZ) as Maxvalue FROM ZHeightRecord1 where DT<#2/20/2013 11:30:00AM# and DT>#2/20/2013 11:03:59 AM#")
$Val = $RS.Fields("Maxvalue").value
发表于 2013-2-21 22:23:55 | 显示全部楼层
时间格式 2013/02/20 11:30:00
发表于 2016-11-3 22:16:40 | 显示全部楼层
_dbOpen
_dbOpenRecordset()
这些自定义函数哪里有呢?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-15 07:37 , Processed in 0.082979 second(s), 27 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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