access数据库防止数据重复问题(50分)

  • 主题发起人 主题发起人 blackgun
  • 开始时间 开始时间
B

blackgun

Unregistered / Unconfirmed
GUEST, unregistred user!
我有这样一个表
TableName:Cargo
id:自动编号
name:文本
standard:文本
我现在想要再插入或编辑的时候判断一下是否有重复的数据(需要用name和standard一起判断)
如果有重复的数据,那么就取消插入或编辑
 
插入數據前先檢索數據庫里有沒有相同記錄﹐沒有的話﹐插入﹐有的話﹐退出執行﹗﹗
 
可以呀,Locate一下。
(ProAllQ.Locate('P_BASE_NO', Trim(Edit1.Text), [loCaseInsensitive])=False)
//看是否存在重复记录。
 
with Query1 do
begin
Close;
SQL.Text := 'select name from Cargo where name=' + QuotedStr(Edit1.Text) + ' and standard=' + QuotedStr(Edit2.Text);
Open;
while not IsEmpty then
begin
Close;
Application.MessageBox('重复数据!', '提示', MB_OK + 64);
Exit;
end;
Close;
end;
//Edit1为输入的NAME,EDIT2为输入的standard
 
我也刚好碰上这样的问题,关注着!
 
感谢各位的回答。但是各位的方法我早已经想到了。有没有类似触发器的解决方案,谢谢
 
把name 和standard设为关键字啊
 
access没有触发器吧。只能自己判断,或者就是设关键字
 
看来没什么好的解决方案了
 
你可以对name和standard加上唯一索引,是两个组合在一起的唯一索引。
这样在你更新增加的时候,系统能自动判断是否重复,如有重复,会发出添加失败的系统消息。

[red]不要告诉我,不会添加唯一索引。[/red]
 
很简单:
ACCESS数据库设计模式下设置相应字段的索引为“有(无重复)”,哪么你在添加
数据时,ACCESS会自动判断是否有重复,并给予提示。
 
我会添加索引,但是不会添加两个组合在一起的索引[:D]
 
后退
顶部