Set cn = New ADODB.Connection
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\12.mdb;Persist Security Info=False"
cn.Open
Dim jk As String
Set cv = New ADODB.Recordset
zsql = "SELECT a.[姓名], b.[基本工资]  FROM b inner join a ON a.[标识] = b.[标识]"
cv.Open zsql, cn, adOpenDynamic, adLockOptimistic
While Not cv.EOF
  For i = 0 To cv.Fields.Count - 1
     Print cv.Fields(i).Value
  Next i
  cv.MoveNext
Wend
我用inner一个数据都不显示,用left 或right只显示一个字段下的数据,a表的标识为主键。

解决方案 »

  1.   

    免费使用
    免费升级超越水晶报表,是我们的目标
    彻底解除程序员负担,极大提高用户设定灵活性
    LLanV报表工具,经过了10000行以上数据的压力测试,性能优良!其中一部分功能如下:  
    1.支持资料卡(比如:个人简历),表单(比如:销售定单),报表(比如:销售月报表)的预览打印
    2.不用任何设定,就可以默认产生专业的页面
    3.用户可以一次性设定企业标准样式(比如:公司标志,台头)
    4.支持文本,线条,方框,图片,等报表元素
    5.对各报表元素和报表区域等提供丰富的属性
    6.用户可以在运行期间编辑文本,线条,方框,图片,明细列, 操作简单
    7.支持同一列相同数据合并成一个格
    8.可以在运行期间增删,调换明细列
    9.提供多种报表风格
    10.支持页合计,总计
    11.支持的套打报表
    12.支持MIS开发的各种开发工具:如VC、VB、Delphi等
    13.可以直接连接数据库
    14.用户可以把设定后的报表样式保存为报表样式文件
    15.报表头和报表尾均可多于一页
    16.报表样式文件格式完全开放
    17.可以实现中国式复杂报表样式
    18.无须编程请发EMAIL给[email protected]
      

  2.   

    你的sql语句:
    zsql = "SELECT a.[姓名], b.[基本工资]  FROM b inner join a ON a.[标识] = b.[标识]"
    等同于:
    zsql="SELECT a.[姓名], b.[基本工资]  FROM a,b where a.[标识] = b.[标识]"如果你的数据库记录没有问题的话(有多条符合条件的记录),试试改变一下sql的语法。比如:把[]去掉如何。
      

  3.   

    zsql = "SELECT a.[姓名], b.[基本工资]  FROM b inner join a ON b.[标识]= a.[标识] "
    cv.Open zsql, cn, adOpenKeyset,adLockBatchOptimistic 
    CV.MoveFirst
      

  4.   

    楼上的好细心哦~~~~他居然没有movefirst,而是movenext,不过那应该是到记录尾了吧?怎么能出现部分字段呢?
    楼主快点测试一下~~~