就是这个意思:
table1.a table1.b  table2.a table2.b
1           1         1        1
2           2         2        2
这两个表的长度可不一样长哦另外,我要为上面的表画上格子,如何让没有数据的地方也有格子?让整个表成为一个完整的表?很急,100分送出!!

解决方案 »

  1.   

    这个我以前解决过。在表qry1的AfterScroll事件里写下如下代码:
        if(qry1->RecordCount >= qry2->RecordCount)
            if(qry1->RecNo <= qry2->RecordCount)
                qry2->RecNo = qry1->RecNo;在表qry2的AfterScroll事件里写下如下代码:
        if(qry2->RecordCount >= qry1->RecordCount)
            if(qry2->RecNo <= qry1->RecordCount)
                qry1->RecNo = qry2->RecNo;在表qry1的字段的OnPrint事件里写如下代码:
        if(qry1->RecordCount < qry2->RecNo)
            Value = "";在表qry2的字段的OnPrint事件里写如下代码:
        if(qry2->RecordCount < qry1->RecNo)
            Value = "";
    这样就OK了。
      

  2.   

    还忘了重要的一点。在打印按钮里判断:
        if(qry1->RecordCount >= qry2->RecordCount)
            QuickRep1->DataSet = qry1;
        else
            QuickRep1->DataSet = qry2;
      

  3.   


    RecNo是指表的当前行.在打印前需要先判断那个表的记录最多,假设qry1最多,QuickRep1的DataSet指定记录最多的那个表qry1,
    在打印时qry1的记录行会自动往下移动,这个时候在qry1的AfterScroll里用程序移动其他表的记录行. 如果下面的语句不写,则记录少的表的最后一行会重复打印.
        if(qry2->RecordCount < qry1->RecNo)
            Value = "";在表qry1的AfterScroll事件里写下如下代码:
        if(qry1->RecordCount >= qry2->RecordCount)
            if(qry1->RecNo <= qry2->RecordCount)
                qry2->RecNo = qry1->RecNo;
    当qry2的当前行小于qry1的当前行,就让qry2的RecNo=qry1的RecNo,当qry2的当前行等于qry1的行总数时不移动.
    三个表就是判断复杂点,不明白可以在研究!!