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


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

主题:代码

帅哥哟,离线,有人找我吗?
有点色
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/3 9:33:00 [显示全部帖子]

加一个列,记录唯一的值。

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:数据同步问题.table


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/3 12:20:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:重庆.table


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/3 14:18:00 [显示全部帖子]

 那就不要做实时的匹配。单独写一个按钮执行那些代码,如

 

For Each dc As DataCol In DataTables("庆前").DataCols
    If dc.Name.StartsWith("庆") AndAlso dc.name.Length = 7 Then
        Dim str As String = dc.Name.Replace("庆", "")
        Dim idx As Integer = 1
        For Each r As Row In Tables("庆前").rows
            If str.IndexOf(r("一")) >= 0 AndAlso str.IndexOf(r("二")) >= 0 AndAlso str.IndexOf(r("三")) >= 0 Then
                r(dc.name) = "√"
                idx = 1
            Else
                r(dc.name) = idx
                idx = idx + 1
            End If
        Next
    End If
Next

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/3 14:58:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:所有事件改用按钮.table


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/3 15:22:00 [显示全部帖子]

以下是引用chen1029在2017/1/3 15:16:00的发言:
执行按钮时,数据同步没有了,表“庆”删除记录,但是其他两个表未删除。求这样的按钮。

 

这个不需要用按钮代码。在datacolchanged等事件,已经做了同步。


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/3 15:23:00 [显示全部帖子]

以下是引用chen1029在2017/1/3 15:18:00的发言:
事件代码如果改成按钮执行,是不是代码会有所变化?

 

你对 期号 列,重置列,即可得到匹配的数据的。你删除某行,也会对应删除另外两个表的数据。


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/3 16:19:00 [显示全部帖子]

参考代码

 

If e.Col.Name.StartsWith("庆") AndAlso e.Col.name.Length = 7 Then
    Dim str As String = e.Col.Name.Replace("庆", "")
    If val(e.text) >= 20 Then      
        e.Table.DataTable.AddUserStyle("样式1", color.red, Color.black)       
        e.style = "样式1"       
    End If   
End If

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/3 16:56:00 [显示全部帖子]

 20楼的东西项目,没有问题,不会慢。


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/4 9:17:00 [显示全部帖子]

1、Dim num As Integer = 20
Dim dt As DataTable = DataTables("前列")
Dim q As new QueryBuilder
q.TableName = "查询"
Dim sql As String = ""
For Each dc As DataCol In dt.DataCols
    If dt.Find(dc.name & " = '" & num & "'") IsNot Nothing Then
        sql &= "," & dc.name
    End If
Next
q.SelectString = "Select 一,二,三" & sql & " From {" & dt.Name & "}"
q.Build
MainTable = Tables("查询")

 

2、不可以,这样计算就有可能有错误。

 

3、没问题


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/4 9:51:00 [显示全部帖子]

以下是引用chen1029在2017/1/4 9:31:00的发言:
请问同时能选择几个表进行批量操作吗

 

用循环,你要是看懂之前的代码,你自己就会写。

 

Dim num As Integer = 20
Dim tns() As String = {"庆前", "前列"}
For Each tn As String In tns
    Dim dt As DataTable = DataTables(tn)
    Dim q As new QueryBuilder
    q.TableName = "查询_" & tn
    Dim sql As String = ""
    For Each dc As DataCol In dt.DataCols
        If dt.Find(dc.name & " = '" & num & "'") IsNot Nothing Then
            sql &= "," & dc.name
        End If
    Next
    q.SelectString = "Select 一,二,三" & sql & " From {" & dt.Name & "}"
    q.Build
    MainTable = Tables(q.TableName)
Next


 回到顶部
总数 15 1 2 下一页