以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 自动填充无法填充多行  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=59115)

--  作者:wumingrong1
--  发布时间:2014/10/29 21:35:00
--  [求助] 自动填充无法填充多行
我有如下命令,想实现在“OLT设备用户端口数据表”中查找“机房名称”和“设备名称”与当前窗口控件的”机房名称“和”设备名称“相同的行;将控件”BAS设备“的内容填入到这些行的”BAS设备“单元格中去。

 Dim dr As DataRow = DataTables("OLT设备用户端口数据表").Find("机房名称 = \'" & e.Form.Controls("机房名称").Text  & "\' and 设备名称 = \'" & e.Form.Controls("设备名称").Text  & "\'")
    If dr IsNot Nothing Then
        
        dr("BAS设备") = e.Form.Controls("BAS设备").Text

End if


但是实际效果却是只添加了第一行就不再添加了,是不是我的公式有问题?该怎么改?


图片点击可在新窗口打开查看此主题相关图片如下:360截图20141029213553984.jpg
图片点击可在新窗口打开查看


--  作者:有点甜
--  发布时间:2014/10/29 21:38:00
--  
For each dr As DataRow In DataTables("OLT设备用户端口数据表").Select("机房名称 = \'" & e.Form.Controls("机房名称").Text  & "\' and 设备名称 = \'" & e.Form.Controls("设备名称").Text  & "\'")
    dr("BAS设备") = e.Form.Controls("BAS设备").Text
Next
[此贴子已经被作者于2014-10-29 21:38:18编辑过]

--  作者:wumingrong1
--  发布时间:2014/10/29 21:48:00
--  
显示"窗口1"的”表A“,命令该怎么写? (表A为主表)

--  作者:有点甜
--  发布时间:2014/10/29 21:51:00
--  

Dim t as Table = e.Form.Controls("Table1").Table

For each dr As DataRow In t.DataTable.Select("机房名称 = \'" & e.Form.Controls("机房名称").Text  & "\' and 设备名称 = \'" & e.Form.Controls("设备名称").Text  & "\' and " & iif(t.filert>"", t.filter, "1=1"))
    dr("BAS设备") = e.Form.Controls("BAS设备").Text
Next


--  作者:wumingrong1
--  发布时间:2014/10/29 21:59:00
--  
不好意思,可能我没说清楚;3楼问的是另外一个问题。

我有一个主窗口中有一个”表A“(该表设置为主表);有一个录入窗口(独立窗口)中也有一个”表A“(该表同样设置为主表);我打开了录入窗口、当我关闭录入窗口后发现主窗口中的”表A“不见啦。我该怎样设置才能确保在关闭录入窗口后主窗口中的”表A“能够正常显示?

--  作者:有点甜
--  发布时间:2014/10/29 22:01:00
--  

 把窗口表设置成副本

 

 http://www.foxtable.com/help/topics/1906.htm

 


--  作者:wumingrong1
--  发布时间:2014/10/29 22:23:00
--  
 红色部分命令想实现如果”设备ID“的数字为 0至39,那么在”密码适用ONU类型“中填入”单个“、否则填入”多个“;但为什么只有”设备ID“=39那一行填入”单个“其他的全部填入了”多个“?

For Each dr As DataRow In DataTables("OLT设备用户端口数据表").Select("机房名称 = \'" & e.Form.Controls("机房名称").Text  & "\' and 设备名称 = \'" & e.Form.Controls("设备名称").Text  & "\'")
        
        dr("BAS设备") = e.Form.Controls("BAS设备").Text
        dr("BAS槽位") = e.Form.Controls("BAS槽位").Text
        dr("BAS子槽") = e.Form.Controls("BAS子槽").Text
        dr("BAS端口") = e.Form.Controls("BAS端口").Text

 For i As Integer = 0 To 39
If dr("设备ID") = i Then

dr("密码适用ONU类型") = "单个"

Else
dr("密码适用ONU类型") = "多个"

End If
    Next

Next

--  作者:有点甜
--  发布时间:2014/10/29 22:30:00
--  
If dr("设备ID") >= 0 AndAlso dr("设备ID") <= 39 Then
    dr("密码适用ONU类型") = "单个"
Else
    dr("密码适用ONU类型") = "多个"
End If

--  作者:wumingrong1
--  发布时间:2014/10/29 22:42:00
--  
清空”机房名称“和”设备名称“相同行的”BAS设备“单元格内容;好像实现不了,请问我该怎么改?

For Each dr As DataRow In DataTables("OLT设备用户端口数据表").Select("机房名称 = \'" & e.Form.Controls("机房名称").Text  & "\' and 设备名称 = \'" & e.Form.Controls("设备名称").Text  & "\'")
 If dr IsNot Nothing Then       
DataTables("OLT设备用户端口数据表").ReplaceFor("BAS设备", Nothing)
End If
Next
[此贴子已经被作者于2014-10-29 22:42:10编辑过]

--  作者:有点甜
--  发布时间:2014/10/29 22:48:00
--  
For Each dr As DataRow In DataTables("OLT设备用户端口数据表").Select("机房名称 = \'" & e.Form.Controls("机房名称").Text  & "\' and 设备名称 = \'" & e.Form.Controls("设备名称").Text  & "\'")
    dr("机房名称") = Nothing
    dr("设备名称") = Nothing
Next