注册 登录
编程论坛 VB6论坛

VB+Access数据库,多个字段重复情况的判断

shinesun 发布于 2014-04-11 13:42, 824 次点击
想往一个access数据库表中添加新内容,怎么判断所有的字段断是否都已经存在了,如果存在了就放弃添加,否则添加!比如:字段1  字段2  字段3,判断表中是否与要新添加的三个字段的内容有重复的。该用怎么样的sql语句表达;我觉得前半段的应该写成sql=select 字段1,字段2,字段3 from 表............后面就不知道怎么写了!谁能帮帮我啊
4 回复
#2
loveve2014-04-11 14:48
select * from 表 where 字段1=1,字段2=2,字段3=3

如果有记录,就放弃
#3
alike1232014-04-11 15:51
1.前期工作:连接数据库
2.打开access表
if rs.fields("字段1")=内容1 and rs.fields("字段2")=内容2 ........then  
(逻辑是and 还是or 看你自己,rs as new adodb.recordset)
什么也不做
else
插入新纪录(insert)
end if
如果有不清楚的,你再问吧
我的长项就是vb+access
#4
owenlu19812014-04-11 22:06
是批量添加还是单条?
如果是单条,则用2楼的语句查询判断是否存在
如果是批量,则先筛选出新记录再批量添加;假设需要添加记录的表为A,新纪录来源表为B,则
SQL = "Insert into A Select [字段1],[字段2],[字段3] from (Select B.*,A.[字段1] as [字段4] from B left join A on B.[字段1]=A.[字段1] and B.[字段2]=A.[字段2] and B.[字段3]=A.[字段3]) where [字段4] is null"
#5
shinesun2014-04-12 16:00
已经解决了,借鉴了2楼的,三楼的方法实现不了!
1:select * From 表 where 字段1=Text1.Text And 字段2=Text2.Text
2:If rs.RecordCount>0 then
      什么都不做
   Else
     添加
   End If
1