在access中要判断一个表中的数据在不在另一个表里,应该怎么办

2024-11-20 02:43:41
推荐回答(1个)
回答1:

你可以这样,当用户借书时,先访问藏书表,看有没有这本书,这很简单,用一个编辑框,打入书名,或者用多个下拉列表框,图书一级分类、二级分类等,如小说、外国小说、长篇、书名,逐层选择。当选择到书名时,记下书的编号,用这个编号和书的借阅状态作为where 子句的筛选条件去借书表中查找,如果找到的记录等于0,则可借阅,反之不能借,因为书还没有还。
按照这种解决方法,你的图书必须是每本书有一个唯一的编号,因为作为一个图书馆,不可能同一本书只有一本,比如可能有四本《废都》。因此藏书表的字段应该有一级分类、二级分类、三级分类、书名、书编号、定价、作者等字段。借阅表对书信息就不要这么多了,只要一个书编号就行了,借阅人、借阅日期、还书日期、日租金,还书日期可以为空。
当借书人来借书时,先按一级分类到书编号进行逐层检索,检索到书编号时,下拉列表框中有几本书就有几个编号列表项,比如233,234,235,236等,选择一个书编号时,用一个SQL语句去借书表中检索,如select 书编号 form 借书表 where 书编号 =‘233‘ and 还书日期 is null
如果检索的记录数是1,说明这本书,上个借书人没有还来,这次不能借。再选择编号是234,同样执行这条SQL语句,如果检索到记录数是0,那就可借了,反之再选择下一个编号。。。
如果找到可借的书,就可继续输入借书人姓名(或者借书证号),借书日期、日租金,输入完毕,再用一SQL语句和ADOdataset组件,保存借书信息。还书时,通过借书证号,或者书编号,检索到要找的借书信息,把还书日期填写上,就可以了,表示这本书又可以借了。借书,还书,根本不要删除记录或复制记录到另外的表中。一个图书管理软件,一个是藏书表,另一个是借书表,再一个是会员表,租金收取表,还有一个关键字表,就行了。随便写的,不知你是否看得懂。