我用vb6做了一个小程序数据库用access,用adodc+datagrid控件,我想做一个查询
我用vb6做了一个小程序数据库用access,用adodc+datagrid控件,我想做一个查询,检索数据库中是否已存在日期字段中的该日期,如果存在就msgbox如果没有...
我用vb6做了一个小程序数据库用access,用adodc+datagrid控件,我想做一个查询,检索数据库中是否已存在日期字段中的该日期,如果存在就msgbox如果没有就保存该记录
c是表名 date是字段名
代码如下Dim mystr
mystr = Text1(0).Text
If Adodc1.RecordSource = "select count(*) from c where mystr <> 0 " Then
Adodc1.Recordset.Update
Adodc1.Refresh
from.Adodc1.Recordset.Update '更新数据表
from.Adodc1.Refresh
Else
MsgBox "请注意该日期已在数据库中存在,请检查日期是否输入错误"
End If
复制代码现在的问题是 不论日期重复不重复都会出msgbox,不重复也可以保存。另外是我是在from1.frm做的输入,text连接了数据库,转到from2.frm检查数据后 保存运行上面代码的,还有如果数据重复datagrid控件会出错,如何把错误提示去掉,或者自己加错误提示,拜托诸位达人了 展开
c是表名 date是字段名
代码如下Dim mystr
mystr = Text1(0).Text
If Adodc1.RecordSource = "select count(*) from c where mystr <> 0 " Then
Adodc1.Recordset.Update
Adodc1.Refresh
from.Adodc1.Recordset.Update '更新数据表
from.Adodc1.Refresh
Else
MsgBox "请注意该日期已在数据库中存在,请检查日期是否输入错误"
End If
复制代码现在的问题是 不论日期重复不重复都会出msgbox,不重复也可以保存。另外是我是在from1.frm做的输入,text连接了数据库,转到from2.frm检查数据后 保存运行上面代码的,还有如果数据重复datagrid控件会出错,如何把错误提示去掉,或者自己加错误提示,拜托诸位达人了 展开
1个回答
展开全部
只看前两句代码就发现问题在那里了
If Adodc1.RecordSource = "select count(*) from c where mystr <> 0 "
这句代码的意思是判断 Adodc1.RecordSource属性值是否等于后面那个字符串(即select count(*) from c where mystr <> 0)
你的程序在formload()中或其它任何执行本段代码之前肯定没有为Adodc1设置RecordSource这个属性吧。
因此这个IF在任何时候判断均为false,因此任何情况下都会弹出msgbox。
因为程序的逻辑和你预想的逻辑根本就不是一回事。
If Adodc1.RecordSource = "select count(*) from c where mystr <> 0 "
这句代码的意思是判断 Adodc1.RecordSource属性值是否等于后面那个字符串(即select count(*) from c where mystr <> 0)
你的程序在formload()中或其它任何执行本段代码之前肯定没有为Adodc1设置RecordSource这个属性吧。
因此这个IF在任何时候判断均为false,因此任何情况下都会弹出msgbox。
因为程序的逻辑和你预想的逻辑根本就不是一回事。
更多追问追答
追问
那我该怎么写呢 ,首先在load里设置属性的话怎么设置 为什么要设置这个属性
然后我判断查找到的记录是否>0条应该怎么写呢
刚我看了代码 我在load里设置Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db1.mdb;Persist Security Info=False"
Adodc1.RecordSource = "select * from c"
我设置了啊
追答
给你提供一个思路,具体代码自己想啊 ^_^
1、声明一个记录集对象,本记录集对象的数据源是 "select * from c where 某字段 = " & mystr
2、判断该记录集中记录条数是否大于0,如果大于则将该记录集赋给datagrid,并让其显示;如果为否则转下一步
3、通过Adodc1的连接对象向数据库中接入一条记录集,并弹出msgbox
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询