Foxtable(狐表)用户栏目专家坐堂 → 表


  共有2093人关注过本帖树形打印复制链接

主题:表

美女呀,离线,留言给我吧!
Springamy
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:427 积分:2969 威望:0 精华:0 注册:2017/4/6 15:51:00
  发帖心情 Post By:2018/1/16 17:10:00 [显示全部帖子]

 

 

Dim y As Integer = Date.Today.Year
Dim w As Integer = Date.Today.DayOfWeek '算出今天是星期几
Dim t1 As Date = Date.Today.AddDays(-w) '获取本周的第一天
Dim t2 As Date = Date.Today.AddDays(6 - w) '获取本周的最后一天

Dim dt1 As Date = #1/1/2014#
Dim dt2 As Date = Date.Today
Dim s As String = "select .............' order by d.rq"  '已查出一堆数据存放在临时表中  有 编码 列
cmd.CommandText = s
Dim d As DataTable = cmd.ExecuteReader
Output.Show(s)


'Dim dr1 As DataRow = d.DataRows
'For Each dr2 As DataRow In DataTables("Table1").Select("编码 = '" &  & "'")

'Next    我想要查找编码在临时表中是否有相同的编码怎么表示

 

 业务描述:

窗口按时间段加载每周的数据, 其中编码列 需要从 临时表中查找,如果没有重复的编码,表示是新编码,需要加样式以提示用户

但是在DrawCell中代码写太多了,很卡,请问有什么别的方法吗?

窗口中的表是SQLQuery

 


 回到顶部
美女呀,离线,留言给我吧!
Springamy
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:427 积分:2969 威望:0 精华:0 注册:2017/4/6 15:51:00
数据源的问题  发帖心情 Post By:2018/1/17 10:31:00 [显示全部帖子]

Dim cmd As New SQLCommand
cmd.C
StatusBar.Message1= "正在加载数据,请稍等..."
Application.DoEvents

 

drawcell 代码:

Dim d As DataTable = vars("临时表")
Dim fdr As DataRow = d.Find("cpbm = '" & e.Row("编码 ") & "'")
If fdr Is Nothing Then
    '没有重复
End If


 甜大大,现在还有一个问题就是 在afterload写,我的数据源不能灵活切换,

如下:在选择时间段之前我可以选择  测试账套\ 广州账套\北京账套  等等 对应不同的数据源

可是在窗口打开的同时还没有选择帐套,所以造成了编码不属于Table1的错误,如图二

 

因为打开窗口的时候还没有加载数据,(我也不知道是不是这个原因)

 

还需要怎么修改

 


此主题相关图片如下:1.png
按此在新窗口浏览图片


 


此主题相关图片如下:2.png
按此在新窗口浏览图片

 回到顶部
美女呀,离线,留言给我吧!
Springamy
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:427 积分:2969 威望:0 精华:0 注册:2017/4/6 15:51:00
  发帖心情 Post By:2018/1/17 10:33:00 [显示全部帖子]

Dim cmd As New SQLCommand
cmd.C
StatusBar.Message1= "正在加载数据,请稍等..."
Application.DoEvents

 回到顶部
美女呀,离线,留言给我吧!
Springamy
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:427 积分:2969 威望:0 精华:0 注册:2017/4/6 15:51:00
不是很懂  发帖心情 Post By:2018/1/17 10:52:00 [显示全部帖子]

我不太理解你的意思,但我感觉我应该是在把窗口中的数据加载完之后才能跟vars("临时表")比对数据吧

 


 回到顶部
美女呀,离线,留言给我吧!
Springamy
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:427 积分:2969 威望:0 精华:0 注册:2017/4/6 15:51:00
怎么判断  发帖心情 Post By:2018/1/17 11:04:00 [显示全部帖子]

嗯呐,谢谢甜大!

怎么判断临时表有没有生成.图片点击可在新窗口打开查看

 


 回到顶部
美女呀,离线,留言给我吧!
Springamy
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:427 积分:2969 威望:0 精华:0 注册:2017/4/6 15:51:00
  发帖心情 Post By:2018/1/17 14:09:00 [显示全部帖子]

For i = 0 To d.DataRows.Count-1
    msgbox("执行了吗")
    Dim fdr As DataRow = dt.Find("编码 = '" & d.DataRows(i)("cpbm") & "'")
    msgbox("执行")
    If fdr Is Nothing Then
        fdr("是否NewBom") = "否"
       
    Else
        fdr("是否NewBom") = "是"
    End If
   
Next

 

dt 为窗口中加载的表,d是要查找的数据存放的临时表

 dt中加载了一周的数据.然后每个数据一一从d临时表中查找,看看是否有相同的编码

两个msgbox执行一个就报错了,显示为找到实例对象


 回到顶部
美女呀,离线,留言给我吧!
Springamy
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:427 积分:2969 威望:0 精华:0 注册:2017/4/6 15:51:00
  发帖心情 Post By:2018/1/17 16:12:00 [显示全部帖子]

以下是引用有点甜在2018/1/17 14:23:00的发言:


For Each dr As DataRow In dt.datarows 
    msgbox("执行了吗")
    Dim fdr As DataRow = dt.Find("cpbm = '" & dr("编码") & "'")
    msgbox("执行")
    If fdr Is Nothing Then
        dr("是否NewBom") = ""       
    Else
        dr("是否NewBom") = ""
    End If   
Next

 

这样已经好了,但是还有个问题就是 dr("编码") = ""空的时候, 也赋值为"是"了

前面我要怎么加判断 dr("编码")<>"" 空才执行这个代码


 回到顶部