Access如何让输入的记录不重复?

我希望在两个字段中分别输入记录,在同一行的两个记录若与之前已经输入过的两个记录(同一行)完全相同,则提示错误、不可输入。

我举个例子:
有“ID”“品牌”“商品名”三个字段,已经输入了两行记录:
“1”“康师傅”“矿泉水”;
“2”“统一”“方便面”;

如果后续输入下面的几行记录是被充许的:
“3”“康师傅”“方便面”;
“4”“康师傅”“冰红茶”;
“5”“统一”“矿泉水”;

如果输入下面的几行记录是不被充许的:
“6”“康师傅”“矿泉水”;
“7”“统一”“方便面”;

因为要与其他数据配合,所以目前“ID”字段为主键。

1楼不对,更新后再判断更麻烦,2楼的是ASP网页的设计,虽然rs.close关闭了两次,会报错,但思路是对的,再搜索一遍数据库,如果记录为空则插入新纪录,我修改了一下,VB的版本!
dim Brand,Comm as string
Brand=trim(replace(text1.text,"'"))
Comm=trim(replace(text2.text,"'"))
sql="select * from user where 品牌='"& Brand &"' and 商品名='"& Comm &"'"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,3
if rs.eof then
rs.addnew
rs("品牌")=Brand
rs("商品名")=Comm
rs.update
msgbox "添加成功!"
else
msgbox "该商品重复!
end if
rs.close
set rs=nothing
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-08-28
手头上没有ACCESS!
在两个字段的“更新后”事件中进行判断就可以了!
第2个回答  2009-08-28
你看看:
<%
dim 品牌,商品名
品牌=trim(request("品牌"))
商品名=trim(request("商品名"))

sql="select * from user where 品牌='"&品牌&"' and 商品名='"&商品名&"'"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,3
if not(rs.eof and rs.bof) then
Response.write("<script language='javascript'>alert('这个商品已存在!');history.back();</script>")
Response.end()
else
rs.addnew
rs("品牌")=品牌
rs("商品名")=商品名

rs.update
rs.close
response.write "<script language='javascript'>"
response.write "alert('添加成功!');"
response.write "this.location.href='添加页';</SCRIPT>"
rs.close
set rs=nothing
end if
%>
第3个回答  2020-09-19
程序里再检测一下是否已存在相同记录就是了!
第4个回答  2019-07-31
把这两列设置为联合主键就OK了。如果像你说的上边那种情况ACESS会有错误提示的。如果是通过程序访问,在抓取这个重复主键的错误,进行提示即可。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网