一个界面里的一些菜单要同时对ACCESS的多个表进行操作,ACCESS里这些表已建立关联,用DATA控件怎么做,能不能给点相关的代码

解决方案 »

  1.   

    用联合查询:关于三表联合查询的sql语句  
    [ 作者:佚名    转贴自:本站原创    点击数:62    文章录入:zjd950131 ] 
    问题:表1 进货表
      
      商品编号    进货    供应商
        1          5        a
        1          4        b表2  销售表
       商品编号   销售     单位     1         3        x
         1         2        y
    表3 库存表     商品编号 库存
            1      100
    我想得到得表为
         
          商品编号  库存   进货   销售
             1      100     5+4    3+2方法一select AA.库存,bb.进货,cc。销售
    from (select 商品编号,sum(库存) from 库存 group by 商品编号)aa,
            (select ,商品编号,sum(进货) from 进货表 group by 商品编号)bb,
            (select 商品编号,sum(销售) from 销售表 group by 商品编号)cc
    where aa.商品编号=bb.商品编号=cc。商品编号评价:利用该方法确实可以实现,但速度很慢.方法二select 商品编号,sum(库存),sum(进货),sum(销售)
    from 
    (select 商品编号,sum(库存) as 库存,0 as 进货,0 as 销售
      from 库存表
      group by 商品编号
    union all
     select 商品编号,0 as 库存,sum(进货) as 进货,0 as 销售
      from 进货表
      group by 商品编号
    union all
     select 商品编号,0 as 库存,0 as 进货,sum(销售) as 销售
      from 销售表
      group by 商品编号
    ) t1
    group by 商品编号评价:利用该方法很巧,速度很快.我就是使用该方法解决问题方法三select A.商品编号, 
           A.库存, 
           (select sum(进货) from 进货表 where 商品编号 = A.商品编号) 进货,
           (select sum(销售) from 销售表 where 商品编号 = A.商品编号) 销售
    from 库存表 A评价:利用该方法思路不错,速度也不错.但是在检索的过程中有中断的情况.方法四我曾用数据管道来解决该问题,
    把库存表根据编码聚合和进货表合成利用数据管道形成新表
    同时把销售表聚合利用数据管道形成新表最后两个表形成结果问题是解决了,但存在新的问题,如果对基本表没有更新或只有一次更新,结果正确
    但如果对基本表第二次更新,此时,在运行数据管道,则会死机. 
     
      

  2.   

    用DATA控件能对多表操作吗,怎么做
      

  3.   

    select 商品编号 as 商品编号, 
    (select 库存 from b where a.商品编号=B。商品编号)as 库存,
    (select 进货 from c where a.商品编号=c.商品编号)as 进货,
    (select 销售 from d where a.商品编号=c.商品编号)as 销售
    from a 这是我公司的一个老同事教我的嵌套查询,非常实用,现在转给csdn的兄弟姐妹们
      

  4.   

    用DATA控件能对多表操作吗,怎么做和你用什么控件关系不大吧
      

  5.   

    小弟初学VB不好意思,那如何用ADO连ACCESS?管理工具里已经连接好我的数据库,VB工程引用里也选好,如何在VB中写连接的代码?
      

  6.   

    http://expert.csdn.net/Expert/topic/2226/2226018.xml?temp=.0264551
      

  7.   

    Public Sub gSubInitDB()
        Set ADOCN = CreateObject("ADODB.Connection")
        ADOCN.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\data\MS_ZLCX.mdb;Persist Security Info=False"
        ADOCN.CommandTimeout = 1200
        AdoCString = ADOCN .ConnectionString
        ADOCN .Open
        DoEvents
        Exit Sub
    kkk:
        MsgBox "数据库连接出错,请检查数据库!", vbCritical, "sss"
        End
    End Sub
      

  8.   

    Public Sub gSubInitDB()
        Set ADOCN = CreateObject("ADODB.Connection")
        ADOCN.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & 数据库文件;Persist Security Info=False"
        ADOCN.CommandTimeout = 1200
        AdoCString = ADOCN .ConnectionString
        ADOCN .Open
        DoEvents
        Exit Sub
    kkk:
        MsgBox "数据库连接出错,请检查数据库!", vbCritical, "sss"
        End
    End Sub