MDB 这个错误为什么出弹出一个错误.求解。
本帖最后由 netba 于 2015-8-2 12:25 编辑$mdb_data_path = "date.mdb"
$addfld = ObjCreate("ADODB.Connection")
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & $mdb_data_path)
$RS = ObjCreate("ADODB.Recordset")
$RS.ActiveConnection = $addfld
$RS.open("Select * from gbook Where id=5454")
If $RS.Fields(1).Value <> 5454 Then
MsgBox(0,"结果","找到记录")
else
MsgBox(0,"结果","没有记录")
EndIf
$RS.close
Exit
再做了修改
在表gbook id 找5454
找到就显示。找不到就退出 但是如果表里没有这个数。输出是一个错误的窗口
语句有什么问题吗。求改正 不太懂得你的例子 不太懂得你的例子 回复 2# kemyliu
但是如果表里 id下找不到5454 这个数。输出是一个错误的窗口
这个窗口怎么搞掉。。或者不显示这个错误窗口
数据库文件 本帖最后由 chzj589 于 2015-8-2 17:18 编辑
回复 1# netba
应该是这样:
$mdb_data_path = @ScriptDir & "\date.mdb"
$tblname = "gbook"
$addfld = ObjCreate("ADODB.Connection")
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & $mdb_data_path)
$RS = ObjCreate("ADODB.Recordset")
$RS .ActiveConnection = $addfld
$RS.Open("Select " & "*" & " From " & $tblname)
While Not $RS .eof And Not $RS .bof
$tbl = $RS.Fields(0).Value
$RS .movenext
WEnd
$RS .close
$addfld .Close
If $tbl >= 5454 Then
MsgBox(64, "结果", "找到记录"& $tbl & "")
Else
MsgBox(64, "结果", "没有这个记录,最高记录:" & $tbl & "")
EndIf
这个数据库是一个留言板的。中间有删除记录。ID 最大值。并不在表尾。。
本帖最后由 netba 于 2015-8-2 20:13 编辑这个数据库是一个留言板的。中间有删除记录。ID 最大值。并不在表尾。。
怎么获取表 id 的最大值。。。 回复 7# netba
你提供的<数据库文件-date.mdb>有点问题。查询不是最后一条记录
$mdb_data_path = @ScriptDir & "\date.mdb"
$tblname = "gbook"
$addfld = ObjCreate("ADODB.Connection")
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & $mdb_data_path)
$RS = ObjCreate("ADODB.Recordset")
$RS .ActiveConnection = $addfld
$RS.Open("Select " & "*" & " From " & $tblname)
While Not $RS .eof And Not $RS .bof
$Item = $RS.Fields(0).value & @CR & $RS.Fields(1).value & @CR & $RS.Fields(2).value & @CR & $RS.Fields(3).value & @CR & $RS.Fields(4).value & @CR & $RS.Fields(5).value & @CR & $RS.Fields(6).value & @CR & $RS.Fields(7).value & @CR & $RS.Fields(8).value & @CR & $RS.Fields(9).value & @CR & $RS.Fields(10).value
$tbl = $RS.Fields(0).Value
$RS .movenext
WEnd
$RS .close
$addfld .Close
MsgBox(64, "结果", "找到记录,最后记录:"& $Item & "")
If $tbl = 1847 Then;5454
MsgBox(64, "结果", "找到记录,最高记录:"& $tbl & "")
Else
MsgBox(64, "结果", "没有这个记录,最高记录:" & $tbl & "")
EndIf 回复 8# chzj589
是网页留言板的数据库 因为在留言过程中。有对记录有删除所以,ID最大值的那条记录才是最近输入的。 所以我之前发的代码是。通过一个数值去判断是不是最大值。但是如果ID下没有条件值的。程序就提示出错。。。 回复 10# netba
做个窗口,创建GUICtrlCreateListView控件,不就行了
回复 10# netba
回复 10# netba
問題解決了嗎 回复 10# netba
問題解決了嗎
SELECT *FROM gbook WHERE id=(select max(id) fromgbook);
用這個語法 值接抓出最後一筆資料 需要对错误 预设 ,才不会错误了导致程序中断
页:
[1]
2