两个access数据库的问题,盼高高手!!100分

2024-11-05 09:01:42
推荐回答(5个)
回答1:

这是我以前为法力藤对库存写的ASP程序,当时要求跟你一样,A表里面有的B表里不一定有,B表有的A表不一定有,要显示它们都没有的数据,显示字段你没告诉我,你小改一下吧,一个左连接,一个右部连接,然后把isnull(关键字)取出来


<%
DBConnBegin()
Function table()
Dim cmd,rs,str
cmd="select dcl.fid,wnum from (SELECT dcl.fid, dcl.num, ERP.fid, ERP.snum, ERP.fnum,(dcl.num+ERP.snum- ERP.fnum) as wnum FROM dcl INNER JOIN ERP ON dcl.fid = ERP.fid)"
set Rs=SetRs(cmd)
'dcl有erp没有
cmdl="SELECT dcl.fid, dcl.num FROM dcl LEFT JOIN ERP ON dcl.fid = ERP.fid WHERE isnull(erp.fid)"
set Rsl=SetRs(cmdl)
'erp有dcl没有
cmdr="SELECT ERP.fid, ERP.bqjc FROM dcl right JOIN ERP ON dcl.fid = ERP.fid WHERE isnull(dcl.fid)"
set Rsr=SetRs(cmdr)
set cRs=SetRs("select count(*) from (select dcl.fid,wnum from (SELECT dcl.fid, dcl.num, ERP.fid, ERP.snum, ERP.fnum,(dcl.num+ERP.snum- ERP.fnum) as wnum FROM dcl INNER JOIN ERP ON dcl.fid = ERP.fid))")
set lRs=SetRs("select count(*) from (SELECT dcl.fid, dcl.num FROM dcl LEFT JOIN ERP ON dcl.fid = ERP.fid WHERE isnull(erp.fid))")
set rRs=SetRs("select count(*) from (SELECT ERP.fid, ERP.bqjc FROM dcl right JOIN ERP ON dcl.fid = ERP.fid WHERE isnull(dcl.fid))")
str="

"
do while not Rs.eof
str=str&""
RS.movenext
loop

do while not Rsl.eof
str=str&""
RSl.movenext
loop

do while not Rsr.eof
str=str&""
RSr.movenext
loop
str=str&""
str=str&""
str=str&""
closers(rRs)
closers(cRs)
closers(lRs)
closers(rsr)
closers(rsl)
closers(rs)
table=str&"
 款式代码:"&trim(Rs(0))&" 件数:"&(Rs(1))&"
 款式代码:"&trim(Rsl(0))&" 件数:"&(Rsl(1))&"
 款式代码:"&trim(Rsr(0))&" 件数:"&(Rsr(1))&"
 总数:"&trim(cRs(0))&" 件数:
 总数:"&trim(lRs(0))&" 件数:
 总数:"&trim(rRs(0))&" 件数:
"
End Function
response.Write(table())
%>

回答2:

你可以在ACCESS里直接打开多个数据库,然后将符合条件的记录插入到新表即可,如:
新建一个数据库C.mdb,然后打开,执行以下语句,就可以将A数据库的表1.Id不包含在B数据库表中的所有数据创建到C数据库的myTest表。

SELECT A.* INTO myTest
FROM [; Database=C:\A.mdb].表1 AS A
WHERE A.Id NOT IN (SELECT [id] FROM [; Database=C:\B.mdb].表1)

回答3:

写一段asp程序读出小库里某表里所有的东西!
do while not rs.eof
检查另外一个库里对应的表里是否有相同的数据,如果有则删除
rs.movenext
当然里面要连接两个库!也就是说要有两个conn对像!

回答4:

假设就一个字段c吧
大数据库表A
小数据库表B
delete A where A.c in (select B.c from B)

以上是针对两个数据库表位于同一个数据库中的情况

如果位于两个数据库,必须建两个conn
然后用循环判断

回答5:

你说的问题不清楚,大数据库和小数据库?是表里面的内容吗?还是什么呢?如果是内容用正则就可以找出来的。或是直接通过比较来筛选出来就OK啦。