首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

vb 多表查询SQL语句,该如何处理

2012-02-17 
vb 多表查询SQL语句我有一个数据库文件,里面的表结构是这样的(表名)部门:(字段名)代码;名称(表名)仓库:(字

vb 多表查询SQL语句
我有一个数据库文件,里面的表结构是这样的
(表名)部门:
(字段名)代码;名称
(表名)仓库:
(字段名)代码;名称
(表名)出入库单据:
(字段名)出入库类型;编号;日期;供应商代码;客户代码;部门代码;保管员代码;收货员代码;发货员代码
(表名)出入库分录:
(字段名)编号;分录号;物料编码;计量单位代码;实收数量;单价;金额;收料仓库;实发数量;单位成本;成本;销售单价;销售金额;发货仓库代码
(表名)供应商:
(字段名)代码;名称
(表名)计量单位:
(字段名)代码;名称
(表名)客户:
(字段名)代码;名称
(表名)物料:
(字段名)代码;名称
(表名)职员:
(字段名)代码;名称;性别;所属部门代码
出入库单据表和出入库分录表以编号连接,其他各表均通过各自代码与其他表对应字段链接
在VB6.0中怎么写这个的查询代码啊,请各位大侠帮帮我



[解决办法]

SQL code
select 出入库单据.编号 as 编码,出入库单据.日期 as 日期,出入库单据.供应商代码 as 供应商代码,供应商.名称 as 供应商名称,出入库单据.客户代码 as 客户代码,客户.名称 as 客户名称,出入库分录.物料编码 as 物料编码,物料.名称 as 物料名称,出入库分录.实收数量 as 实收数量,出入库分录.单价 as 单价,出入库分录.金额 as 金额from  出入库单据inner join 出入库分录 on 出入库单据.编号=出入库分录.编码left  join 供应商 on 出入库单据.供应商代码=供应商.代码left  join 客户 on 出入库单据.客户代码=客户.代码left  join 物料 on 出入库分录.物料编码=物料.代码
[解决办法]
Dim db As Connection
Set db = New Connection
db.CursorLocation = adUseClient
db.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\库存管理.mdb;"

Set adoPrimaryRS = New Recordset
adoPrimaryRS.Open "select 出入库单据.编号 as 编码,出入库单据.日期 as 日期,出入库单据.供应商代码 as 供应商代码,供应商.名称 as 供应商名称,出入库单据.客户代码 as 客户代码,客户.名称 as 客户名称,出入库分录.物料编码 as 物料编码,物料.名称 as 物料名称,出入库分录.实收数量 as 实收数量,出入库分录.单价 as 单价,出入库分录.金额 as 金额 " _
& " From 出入库单据 " _
& " inner join 出入库分录 on 出入库单据.编号=出入库分录.编码 " _
& " left join 供应商 on 出入库单据.供应商代码=供应商.代码 " _
& " left join 客户 on 出入库单据.客户代码=客户.代码 " _
& " left join 物料 on 出入库分录.物料编码=物料.代码 ",db,adopenkeyset,adlockreadonly

Set grdDataGrid.DataSource = adoPrimaryRS
[解决办法]
1,请检查db是否已经与数据库建立连接
2,请检查SQL语句中表名与字段名是否正确

[解决办法]
adoPrimaryRS.Open "select 出入库单据.编号 as 编码,出入库单据.日期 as 日期,出入库单据.供应商代码 as 供应商代码,供应商.名称 as 供应商名称,出入库单据.客户代码 as 客户代码,客户.名称 as 客户名称,出入库分录.物料编码 as 物料编码,物料.名称 as 物料名称,出入库分录.实收数量 as 实收数量,出入库分录.单价 as 单价,出入库分录.金额 as 金额 " _
& " From 出入库单据 " _
& " inner join 出入库分录 on 出入库单据.编号=出入库分录.编码 " _
& " left join 供应商 on 出入库单据.供应商代码=供应商.代码 " _
& " left join 客户 on 出入库单据.客户代码=客户.代码 " _
& " left join 物料 on 出入库分录.物料编码=物料.代码",db, adOpenKeyset, adLockReadOnly 
  
说了注意红色双引号的位置
[解决办法]
VB code
Dim sCmd as String sCmd="select 出入库单据.编号 as 编码,出入库单据.日期 as 日期,出入库单据.供应商代码 as 供应商代码, "scmd=scmd &" 供应商.名称 as 供应商名称,出入库单据.客户代码 as 客户代码,客户.名称 as 客户名称,"scmd=scmd &" 出入库分录.物料编码 as 物料编码,物料.名称 as 物料名称,出入库分录.实收数量 as 实收数量,"scmd=scmd &" "出入库分录.单价 as 单价,出入库分录.金额 as 金额 " scmd=scmd & " From 出入库单据 "sCmd=scmd & " inner join 出入库分录 on 出入库单据.编号=出入库分录.编码 "scmd=scmd & " left join 供应商 on 出入库单据.供应商代码=供应商.代码 "scmd=scmd & " left join 客户 on 出入库单据.客户代码=客户.代码 "scmd=scmd & " left join 物料 on 出入库分录.物料编码=物料.代码 "Debug.print sCmdadoPrimaryRS.Open sCmd, db,adopenkeyset,adlockreadonly先把Debug.print sCmd 打印出来的sCmd放在查询分析器中查询一下结果,看正确与否?
[解决办法]
scmd=scmd &" 出入库分录.单价 as 单价,出入库分录.金额 as 金额 "
多了一个"

热点排行