Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共12 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:关于一个文件中多个表动态加载数据问题请教

1楼
卟离卟弃 发表于:2009/7/11 16:48:00
表A中的窗口AfterLoad事件代码
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "SELECT DISTINCT 部门,生产任务单号 From 部门计划"
dt = cmd.ExecuteReader()
Dim t As WinForm.TreeView = e.Form.Controls("TreeView1")
t.BuildDataTree(dt, "","部门", "生产任务单号")

保存窗口后,无问题,可以动态加载

表B的窗口AfterLoad事件代码
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "SELECT DISTINCT 工段,生产任务单号 From 车间工段计划"
dt = cmd.ExecuteReader()
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildDataTree(dt, "","工段", "生产任务单号")

保存后,打开窗口,提示


图片点击可在新窗口打开查看此主题相关图片如下:tt截图未命名.bmp
图片点击可在新窗口打开查看

两个表的数据原文件名是 部门与工段计划.mdb

文件项目BeforeLoadOuterTable事件中代码是

If e.DataTableName = "车间工段计划" Then
  e.SelectString = "Select * From {车间工段计划} where 生产任务单号 = 'a'"
End If

If e.DataTableName = "部门计划" Then
 e.SelectString = "Select * From {部门计划} where 生产任务单号 = 'a'"
End If



所有代码都是依照狐爸的例子试用的,
为什么表A的窗口又可以,去表B中设置,同样的代码,数据原也一样,只是数据表不一样就提示错误呢?

谁知道?说说杂回事儿?

2楼
yangming 发表于:2009/7/11 16:56:00
你有工段这一列吗?
3楼
lxl 发表于:2009/7/11 17:31:00
以下是引用卟离卟弃在2009-7-11 16:48:00的发言:
表B的窗口AfterLoad事件代码
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "SELECT DISTINCT 工段,生产任务单号 From 车间工段计划"
dt = cmd.ExecuteReader()
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildDataTree(dt, "","工段", "生产任务单号")


你试试这个代码:

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "SELECT DISTINCT 工段,生产任务单号 From 车间工段计划"
dt = cmd.ExecuteReader()
If dt Is Nothing Then Messagebox.show("111")
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildDataTree(dt, "","工段", "生产任务单号")

看看有没有提示“111”

[此贴子已经被作者于2009-7-11 17:31:36编辑过]
4楼
卟离卟弃 发表于:2009/7/13 8:10:00
老兄,有111.............
5楼
卟离卟弃 发表于:2009/7/13 8:11:00

杨姐
有那一列..

6楼
狐狸爸爸 发表于:2009/7/13 8:35:00
检查一下目录树的名称正确否。
7楼
卟离卟弃 发表于:2009/7/13 10:23:00
看过,目录树是正确的.
8楼
狐狸爸爸 发表于:2009/7/13 10:47:00

口说无凭,上传示例

9楼
lxl 发表于:2009/7/13 10:51:00
以下是引用卟离卟弃在2009-7-13 8:10:00的发言:
老兄,有111.............

提示111 说明没有生成 DataTable
你在杂项里面选择外部数据源,执行下面的SQL
SELECT DISTINCT 部门,生产任务单号 From 部门计划

看结果是不是正确的

10楼
卟离卟弃 发表于:2009/7/13 10:55:00

解决了,是数据库连接名称问题的错误...
原数据库名称是"车间数据文件"
我连接数据库的时候取的名称"部门计划"

两个动态加载数据窗口中其实都是用同一个数据源,只是数据表不一样,所以代码应该是这样
表A中的窗口AfterLoad事件代码
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "SELECT DISTINCT 部门,生产任务单号 From 部门计划"
dt = cmd.ExecuteReader()
Dim t As WinForm.TreeView = e.Form.Controls("TreeView1")
t.BuildDataTree(dt, "","部门", "生产任务单号")

保存窗口后,无问题,可以动态加载

表B的窗口AfterLoad事件代码
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "SELECT DISTINCT 工段,生产任务单号 From 车间工段计划"
dt = cmd.ExecuteReader()
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildDataTree(dt, "","工段", "生产任务单号")

这样就无问题了



共12 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02637 s, 2 queries.