Foxtable(狐表)用户栏目专家坐堂 → [求助] 自动填充无法填充多行


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

主题:[求助] 自动填充无法填充多行

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
[求助] 自动填充无法填充多行  发帖心情 Post By: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
图片点击可在新窗口打开查看


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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2014/10/29 21:48:00 [显示全部帖子]

显示"窗口1"的”表A“,命令该怎么写? (表A为主表)

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2014/10/29 21:59:00 [显示全部帖子]

不好意思,可能我没说清楚;3楼问的是另外一个问题。

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

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By: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

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By: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编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2014/10/30 10:56:00 [显示全部帖子]

我在表DataColChanged中想实现、

在“设备”列中有按顺序编排的数值、每个数值有4行;那么我希望在“内层”列中中实现自动填入序列填充的数值。命令该怎么写?


设备         内层

50            10
50            11
50            12
50            13
51            14
51            15
51            16
51            17
52            18
52            19
52            20
52            21

[此贴子已经被作者于2014-10-30 10:59:32编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2014/10/30 11:23:00 [显示全部帖子]

如果我想实现以下效果,有没有更方便和直接的办法?
设备 内层
50 1051
50 1052
50 1053
50 1054
51 1055
51 1056
51 1057
51 1058
52 1059
52 1060
52 1061
52 1062
53 1063
53 1064
53 1065
53 1066
54 1067
54 1068
54 1069
54 1070
55 1071
55 1072
55 1073
55 1074
56 1075
56 1076
56 1077
56 1078
57 1079
57 1080
57 1081
57 1082
58 1083
58 1084
58 1085
58 1086
59 1087
59 1088
59 1089
59 1090


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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2014/10/30 14:56:00 [显示全部帖子]

下面的命令能不能进行优化?该怎么优化?


If e.Form.Controls("端口编号").Text = "0" Then
                
                For j0 As Integer = 1001 To 1106
                    Dim dr As DataRow = DataTables("OLT设备用户端口数据表").AddNew
                    
                    dr("机房名称") = e.Form.Controls("机房名称").Text
                    dr("设备名称") = e.Form.Controls("设备名称").Text
                    dr("机框编号") = e.Form.Controls("机框编号").Text
                    dr("槽位编号") = e.Form.Controls("槽位编号").Text
                    dr("端口编号") = 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
                    
                    dr("外层VLAN") = e.Form.Controls("外层VLAN").Text
                    dr("内层VLAN") = j0
                    
                Next
                
                
            Else
                
                If e.Form.Controls("端口编号").Text = "1" Then
                    
                    For j1 As Integer = 1107 To 1212
                        Dim dr As DataRow = DataTables("OLT设备用户端口数据表").AddNew
                        
                        dr("机房名称") = e.Form.Controls("机房名称").Text
                        dr("设备名称") = e.Form.Controls("设备名称").Text
                        dr("机框编号") = e.Form.Controls("机框编号").Text
                        dr("槽位编号") = e.Form.Controls("槽位编号").Text
                        dr("端口编号") = 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
                        
                        dr("外层VLAN") = e.Form.Controls("外层VLAN").Text
                        dr("内层VLAN") = j1
                        
                    Next
                    
                    
                Else
                    
                    If e.Form.Controls("端口编号").Text = "2" Then
                        
                        For j2 As Integer = 1213 To 1318
                            Dim dr As DataRow = DataTables("OLT设备用户端口数据表").AddNew
                            
                            dr("机房名称") = e.Form.Controls("机房名称").Text
                            dr("设备名称") = e.Form.Controls("设备名称").Text
                            dr("机框编号") = e.Form.Controls("机框编号").Text
                            dr("槽位编号") = e.Form.Controls("槽位编号").Text
                            dr("端口编号") = 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
                            
                            dr("外层VLAN") = e.Form.Controls("外层VLAN").Text
                            dr("内层VLAN") = j2
                            
                        Next


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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2014/10/30 15:46:00 [显示全部帖子]

有某列,想自动填充数值;帮我看看命令该怎么写?


Dim i As Integer = e.Form.Controls("端口编号").Text
For j0 As Integer = 1001+i*106 To 1106+i*106
    Dim dr As DataRow = DataTables("OLT设备用户端口数据表").AddNew
    
    dr("机房名称") = e.Form.Controls("机房名称").Text
    dr("设备名称") = e.Form.Controls("设备名称").Text
    dr("机框编号") = e.Form.Controls("机框编号").Text
    dr("槽位编号") = e.Form.Controls("槽位编号").Text
    dr("端口编号") = 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
    
    dr("外层VLAN") = e.Form.Controls("外层VLAN").Text
    dr("内层VLAN") = j0

dr("设备ID") =    1~50行填入0~49;从第51行开始每隔4行填入数值从50~63

    
Next


设备ID

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
50
50
50
51
51
51
51
52
52
52
52
53
53
53
53
54
54
54
54
55
55
55
55
56
56
56
56
57
57
57
57
58
58
58
58
59
59
59
59
60
60
60
60
61
61
61
61
62
62
62
62
63
63
63
63


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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2014/10/30 17:43:00 [显示全部帖子]

好像还是不行。再帮我看看。麻烦啦
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目10.foxdb


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