不用主子表也能读写数据
但是这样没有发挥主子表的作用
请高手解答

解决方案 »

  1.   

    主表字段  a ,b,c,d,e
    子表字段  a,x,y,z入库单中  单号 业务员  日期   等放在主表中          单号  货品编号 数量  单价 金额放在 子表中
    在Access 中打开主表  前面有个+号 打开单号001前面的+号 出现子表中单号为001的所有货品内容 
    用友软件中用的就是这种设计  可以肯定 有好处
    但不知道怎么在vb中用
    不知道是便于在数据库中直观点还是能提高程序查询效率
      

  2.   

    首先明确一点,数据库是用来存放数据的,VB中对数据库的查询操作是以记录集的形式返回的,并不是直接打开ACCESS数据表,所以如果你想实现ACCESS表格那种显示方式,要通过相关控件编程实现。没有试过,不过我想没什么难度吧?
      

  3.   

    用ADO的Shape命令加MSHFlexGrid控件,就可基本实现楼主的问题
      

  4.   

    在MSSQL联机丛书中,索引查找框中输入Shape,选中Shape Language,可显示非常详细的说明,你仔细看看。其中有一例子Writing sGetTitleAuthors Code,使用Shape指令,可取出父记录集
    rstParent的相关信息,父记录集中title_chap对应子记录集,即Set rstChild = rstParent("title_chap").Value,由此可访问子记录集
      

  5.   

    比如,你人一个产品基本信息表(product),一个产品库存表(product_sku),由product的主键coid关联。那么试试如下代码:
        Dim cn As ADODB.Connection
        Dim rs As ADODB.Recordset
        Dim Sql As String
        
    '连接数据库(Access)
        Set cn = New ADODB.Connection
        With cn
            .Provider = "MSDataShape"     '一定要这句
            .Open "Data Provider=Microsoft.Jet.OLEDB.4.0 ;" & _
                "Data Source=" & App.Path & "\db1.mdb;" & _
                "Persist Security Info=False"
        End With    Sql = "SHAPE {SELECT * FROM product} " & _
              "APPEND ({SELECT * FROM product_sku } " & _
              "RELATE coid TO coid)"    Set rs = New ADODB.Recordset
        rs.Open Sql, cn, adOpenStatic, adLockReadOnly    Set fg.DataSource = rs
        Set rs = Nothing
        Set cn = Nothingfg是MSHFlexGrid控件。这只是一个简单的示例,相关父子集的操作看看SHAPE帮助