昆明东三环规划布局图:VB与数据库问题

来源:百度文库 编辑:高校问答 时间:2024/05/02 05:04:14
如何在插入数据的时候,先查找这个 字段 是否有相同的值,如有,则对此值进行覆盖,如果没有这个值,就重新插入一个新记录。

Set Coon = CreateObject("ADODB.Connection")
Connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\#19830316.mdb;"
Coon.Open Connstr
Set rs = CreateObject("ADODB.recordset")
Sql = "select * from 表名 where 字段='" & 数据& "'"
if not ro.eof then '//说明:rs.eof 为真,说明数据库指针已经移动到最后,所以没有符合 字段= 数据 的值

rs("字段")=覆盖的值
else
rs.addnew
rs("字段")=数据
end if
rs.update
rs.close

举例说明:
Dim recTemp as new ADODB.Recordset 定义数据集
recTemp.open "select * from [main] where [id]=" & ID,gDB,3,3 '打开表,sql语句为查找指定记录
If recTemp.EOF Then recTemp.addnew 'EOF表示无记录,使用addnew添加新记录
recTemp!name=Name
recTemp.update
recTemp.Close

这样就实现了你要的功能。如果有重复就直接更新,没有就建新记录。

表设计器中就会看到呀,若出现重复,电脑会有提示的。

你可以先用一条select语句判断一下,如果没有再插入记录或者写存储过程来实现