以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 关于后台数据表数据的调用和刷新问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=194514) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:刘效功天津 -- 发布时间:2024/12/18 12:23:00 -- 关于后台数据表数据的调用和刷新问题 问题一: 从后台数据表中调用数据,一开始都没问题,但不知突然就开始弹出找不到数据表的报错窗口,数据就不能调用了,请老师看看下面的代码,看看问题究竟出在哪里,
(老师我在写刷新数据代码时用了一下防止闪屏的代码,后来删除了这个代码,不知和这个锁屏闪屏代码有没有关系) 问题一: 从后台数据表中调用数据,一开始都没问题,但不知突然就开始弹出找不到数据表的报错窗口,数据就不能调用了,请老师看看下面的代码,看看问题究竟出在哪里,
(老师我在写刷新数据代码时用了一下防止闪屏的代码,后来删除了这个代码,不知和这个锁屏闪屏代码有没有关系) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:有点蓝 -- 发布时间:2024/12/18 14:01:00 -- 应该是表格没有加载,或者被卸载了 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:刘效功天津 -- 发布时间:2024/12/18 14:32:00 -- 老师好,那表格加载和表加载有区别吗,加载了表,不就加载了表格,这二者有啥区别 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:有点蓝 -- 发布时间:2024/12/18 14:38:00 -- 加载表包括了加载表结构和加载表数据。平时说的加载一般指加载表数据。 如果到BeforeLoadOuterTable设置了e.cancel=true就会不加载表结构,这个表就不会存在。如果使用unload卸载了也不会存在
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:刘效功天津 -- 发布时间:2024/12/18 16:17:00 --
后台数据表: "全隐框玻璃幕墙单价分析表" "全明框玻璃幕墙单价分析表" 这些后台数据表的结构都相同,结构如下:
要实现的目的: 1 就是在窗口的目录树中,点击节点标签:能够自动从后台相应数据表(全隐框玻璃幕墙单价分析表,全明框玻璃幕墙单价分析表)中提取出对应的综合单价数据(例如653 653),填充到工程造价汇总表对应的单元格中 2当后台不同的数据表的数据发生变化后,在窗口中点击 数据刷新 按钮后,能够根据后台数据表中的数据自动更正工程造价汇总表中对应的数据 “” Select Case e.Node.Text \'一 调用玻璃幕墙单价分析表代码 Case "全隐框玻璃幕墙单价分析表“ Dim dr1 As DataRow = DataTables("全隐框玻璃幕墙单价分析表").SQLFin d("项目构成 = \'平米单价\'") If dr1 IsNot Nothing Then Dim r1 As Integer r1 = Tables("工程造价汇总表").FindRow("[项目内容]=\'全隐框玻璃幕墙\'") If r1 >= 0 Then \'如果找到的话 Tables("工程造价汇总表").Position = r1 If Tables("工程造价汇总表").Rows( r1)("工程量") > 0 Then Tables("工程造价汇总表").Rows( r1)("单位") = dr1("单位") Tables("工程造价汇总表").Rows( r1)("理论综合单价") = dr1("合价") Tables("工程造价汇总表").Rows( r1)("投标综合单价") = dr1("报价调整3") Else MessageBox.Show("请先填写工程量,否则无法进行数据加载,填写工程量后,请重新加载数据,第一次双击鼠标是定位,再此双击鼠标是加载数据,切记") End If End If End If Case "全明框玻璃幕墙单价分析表“ Dim dr2 As DataRow = DataTables("全明框玻璃幕墙单价分析表").SQLFin d("项目构成 = \'平米单价\'") If dr2 IsNot Nothing Then Dim r2 As Integer r2 = Tables("工程造价汇总表").FindRow("[项目内容]=\'全明框玻璃幕墙\'") If r2 >= 0 Then \'如果找到的话 Tables("工程造价汇总表").Position = r2
If Tables("工程造价汇总表").Rows( r2)("工程量") > 0 Then Tables("工程造价汇总表").Rows( r2)("单位") = dr2("单位") Tables("工程造价汇总表").Rows( r2)("理论综合单价") = dr2("合价") Tables("工程造价汇总表").Rows( r2)("投标综合单价") = dr2("报价调整3") Else MessageBox.Show("请先填写工程量,否则无法进行数据加载,填写工程量后,请重新加载数据, 第一次双击鼠标是定位,再此双击鼠标是加载数据,切记") End If End If End If End select
End If 老师好 :上面代码是在窗口中设置了一个目录树,写在双击节点事件中的代码,
都是通过对后台数据表: "全隐框玻璃幕墙单价分析表“,"全明框玻璃幕墙单价分析表“ 进行调用数据,这些表在项目事件内部表加载事件中设置启动时不加载,一开始时点击目录树节点能正常调用数据,是没问题的,都能正常执行,后来就不知道咋地回事,一调用数据就提示,找不到数据表,也不知是怎么回事,请老师给看看问题出在哪儿,
谢谢老师 问题二: 在窗口的
刷新数据 按钮中写入如下代码,编译也没问题,点击后 和问题一相同 还说找不到数据表,,我又把数据表加载进来,不报错了,但是数据不能刷新,请老师检查一下代码,看问题出在哪里 谢谢老师, \'按钮自动更新数据代码 \'\'\'刷新已经加载的数据代码 Dim bms() As String = {"全隐框玻璃幕墙单价分析表", "全明框玻璃幕墙单价分析表"}\'最后整体拷贝修改 For Each bm As String In bms Dim dr As DataRow If DataTables.Contains(bm) Then \'定义已加载的数据库跨表更新数据代码
dr = DataTables(bm).Find( "[项目构成] =\'平米单价\'") Else \'定义后台数据库跨表更新数据代码 dr = DataTables(bm).SQLFin d("[项目构成] =\'平米单价\'") End If \'定义后台数据库跨表更新数据代码 Dim cmd As New SQLCommand cmd.CommandText = "UP DATE {工程造价汇总表} SET 理论综合单价= ? , 投标综合单价= ? WHERE 项目内容辅助列 = ? " cmd.Parameters.clear cmd.Parameters.Add("@理论综合单价", dr("合价")) cmd.Parameters.Add("@投标综合单价", dr("报价调整3")) cmd.Parameters.Add("@项目内容辅助列", DataTables(bm).name) cmd.ExecuteNonQuery Next |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:有点蓝 -- 发布时间:2024/12/18 16:59:00 -- 请上传实例测试 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:刘效功天津 -- 发布时间:2024/12/18 17:11:00 -- 老师,您好,实例结构太大,传不过,怎么给您发过去 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:刘效功天津 -- 发布时间:2024/12/18 17:13:00 -- 您给我个邮箱,我给您传过去,还是咋整 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:有点蓝 -- 发布时间:2024/12/18 17:17:00 -- 新建一个项目,使用access数据库,导入需要的表,每个保留千几百行测试数据,重现同样的问题,把这个新项目和数据库打包发上来即可 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- 作者:刘效功天津 -- 发布时间:2024/12/18 17:20:00 -- 还有个问题,咱们用SQLload方法能从后台发生变化的数据来跨表更新对应的已经加载的数据,我想用这个方法,但是我看咱们得帮助,我还是没看懂,后面老师结合我提的这个问题,在工程造价汇总表 窗口中的数据更新 按钮命令中,咱们用SQLload写一段代码,实现跨表,通过后台数据表的变化数据来更新当前表的对应数据 谢谢老师 |