以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  跨表引用奇怪的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=114870)

--  作者:swagger
--  发布时间:2018/2/24 15:30:00
--  跨表引用奇怪的问题

在订单表的datacolchanged:


If e.DataCol.Name = "客户编号" Then
Dim
nms() As String = {"备注1","备注2","备注3","备注4","备注5"}
If
e.NewValue Is Nothing Then

For
Each nm As String In nms

e
.DataRow(nm) = Nothing

Next

Else

Dim
dr As DataRow

dr
= DataTables("客户").Find("[客户编号] = \'" & e.NewValue &
"\'")
If
dr IsNot Nothing
For Each
nm As String In nms
e.DataRow(nm) = dr(nm)
Next
End If
End If
End If



------------------




以上代码,

1.本地access数据库,订单表能显示备注1,2,3,4,5

2.连接到sql server数据库,订单表只能显示备注1,2,3




这是怎么回事?


--  作者:有点蓝
--  发布时间:2018/2/24 16:03:00
--  
这个代码不会有问题。

加载出来有数据吗?看数据库里备注4,5是什么类型列?

--  作者:swagger
--  发布时间:2018/2/24 16:20:00
--  
都是同一个程序,只是连接数据库不一样而已,我怀疑是sql server出问题了,因为安装的时候弹出错误
--  作者:有点蓝
--  发布时间:2018/2/24 17:15:00
--  
加载出来有数据吗?看数据库里备注4,5是什么类型列?
--  作者:swagger
--  发布时间:2018/2/24 19:23:00
--  
我重置列或者
For Each c As Col In CurrentTable.Cols
    c.DataCol.RaiseDataColChanged()
Next

怎么订单表已经填了的数据没变化?就是后来在客户表的备注1-5补填内容,但是订单表的备注1-5没变化
[此贴子已经被作者于2018/2/24 19:26:03编辑过]

--  作者:swagger
--  发布时间:2018/2/24 19:32:00
--  
晕了,又可以了,刚才按了好多遍重置不行,后来多按几次就可以了
--  作者:swagger
--  发布时间:2018/2/25 3:37:00
--  
我现在用着没问题了,可以显示了。但是同事的还是不能显示,找天去看看他电脑怎么回事
--  作者:有点甜
--  发布时间:2018/2/25 9:03:00
--  

1、测试代码的时候,在事件里面弹出msgbox各个值,看是否正确。

 

2、find能否找到数据,取决于你数据是否加载出来,没有加载出来的数据,是find不到的。