以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  重复值的问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=43385)

--  作者:yuyu060712
--  发布时间:2013/12/5 18:48:00
--  重复值的问题

Dim q As New Filler
q.SourceTable = DataTables("试样台账") \'指定数据来源
q.SourceCols = "试样编号" \'指定数据来源列
q.DataTable = DataTables("试样信息") \'指定数据接收表
q.DataCols = "试样编号"  \'指定数据接收列
q.ExcludeExistValue = True
q.Fill() \'

老师:以上的代码没有问题,但是我发现,如果我在试样信息表中的试样编号后面的列里加入了其它数据,试样编号就会变成2个,在列属性里也进行了不允许重复的设置的

想问问有办法解决吗?

[此贴子已经被作者于2013-12-5 18:53:09编辑过]

--  作者:yuyu060712
--  发布时间:2013/12/5 19:02:00
--  
老师们都下班了吗?
--  作者:有点甜
--  发布时间:2013/12/5 19:12:00
--  
 填充器,是不能指定某几列。你可以参考下面的代码去写

Dim Cols1() As String = {"来源列一","来源列二","来源列三"}
Dim Cols2() As String = {"接收列一","接收列二","接收列三"}
For Each dr1 As DataRow In DataTables("表A").Select("[金额] > 100")
    Dim dr2 As DataRow = DataTables("表B").Find("编号 = \'" & dr1("编号") & "\'")
    If dr2 Is Nothing Then
        dr2 = = DataTables("表B").AddNew()
    End If
    For i As Integer = 0 To Cols1.Length -1
        dr2(Cols2(i)) = dr1(Cols1(i))
    Next
Next

--  作者:yuyu060712
--  发布时间:2013/12/5 19:17:00
--  
 哦,谢谢老师
--  作者:yuyu060712
--  发布时间:2013/12/5 19:21:00
--  
还有个问题,就是帮助中的到期提醒中的代码,一共有4个步骤,3段代码,我只用了后面两段代码,发现表没变颜色,只是在点窗口点到满足条件行的时候,记录窗口才显示为红色,是不是必须要第一段代码呢?我不需要计算日期了啊?
--  作者:yuyu060712
--  发布时间:2013/12/5 19:31:00
--  

发现问题了,我想吧单元格,改成行,代码问题。老师改成一行显示为红色,应该怎么改?


--  作者:有点甜
--  发布时间:2013/12/5 19:51:00
--  
 第二段,drawcell的代码改成

If e.Row.IsNull("到期日期") = False
    If e.Row("到期日期") < Date.Today.AddDays(10) Then
        e.Style = "到期"
    End If
End If

--  作者:yuyu060712
--  发布时间:2013/12/5 19:56:00
--  

老师,我刚加了个判断代码

Dim dr As Col = e.Col
If dr.Col.IsNull("理化送样") Then
 If e.Col.Name = "发往取样" Then
    If e.Row.IsNull("发往取样") = False
        If e.Row("发往取样") < Date.Today.AddDays(2) Then
            e.Style = "样式1"
        End If
    End If
 End If
End If

怎么不可以呢?


--  作者:有点甜
--  发布时间:2013/12/5 20:07:00
--  
是不是这个意思?

If e.Row.IsNull("发往取样") = False AndAlso e.row.IsNull("理化送样") Then
    If e.Row("发往取样") < Date.Today.AddDays(2) Then
        e.Style = "样式1"
    End If
End If

--  作者:yuyu060712
--  发布时间:2013/12/5 20:15:00
--  

Tables("表A").Filter="日期 is  null

我在代码前加了这一句,整个表不见了...............