Foxtable(狐表)用户栏目专家坐堂 → [求助] 增加列命令


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

主题:[求助] 增加列命令

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
[求助] 增加列命令  发帖心情 Post By:2015/1/13 15:01:00 [显示全部帖子]

如果我的项目中已经有一个外部数据源为“A”的数据表“功率表”;我想有一个按钮实现在该表中新增一列,该列的名称为某一个日期控件的日期;我的命令该怎么写?

1、点击【新增列】时,在表中新增一个列名为【日期20150113】的列

2、点击【光功率对比】时,【对比光功率】=【日期20150113】-【日期20150101】



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


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目14.foxdb


[此贴子已经被作者于2015-1-13 15:09:21编辑过]

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


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


【新增列】命令如下:
Dim Builder As New ADOXBuilder
Builder.Open() '打开ADOXBuilder
With Builder.Tables("表A")

.AddColumn(" 日期"& e.Form.Controls("新增日期").Text &" " ,ADOXType.String, 20) '增加字符列,长度为20


End With
Builder.Close() '关闭ADOXBuilder

Syscmd.Project.Open(ProjectFile)

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

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


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

如何把【新增日期】控件的日期“2015-01-13”格式改为“20150113”?

Dim Builder As New ADOXBuilder
Builder.Open() '打开ADOXBuilder
With Builder.Tables("表A")

.AddColumn("日期"& e.Form.Controls("新增日期").Text &"" ,ADOXType.String, 20) '增加字符列,长度为20

 
End With
Builder.Close() '关闭ADOXBuilder

Syscmd.Project.Open(ProjectFile)


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

[此贴子已经被作者于2015-1-13 16:09:33编辑过]

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


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


图片点击可在新窗口打开查看此主题相关图片如下:360截图20150113164918812.jpg
图片点击可在新窗口打开查看
这是什么意思?是不是我的表格是连接服务器SQL的表的问题? 
我这个命令该怎么改? 
 Dim Builder As New ADOXBuilder Builder.Open() '打开ADOXBuilder With 
Builder.Tables("表A") 
.AddColumn("日期" & Format(cdate(e.Form.Controls("新增日期").Text), "yyyyMMdd"), ADOXType.String, 20) '增加字符列,长度为20 
 End With Builder.Close() '关闭ADOXBuilder 
 Syscmd.Project.Open(ProjectFile)
[此贴子已经被作者于2015-1-13 16:49:37编辑过]

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


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

Dim Builder As New ADOXBuilder("网维中心管理系统")
Builder.Open() '打开ADOXBuilder
With Builder.Tables("光功率登记表")

.AddColumn("日期" & Format(cdate(e.Form.Controls("新增日期").Text), "yyyyMMdd"), ADOXType.String, 20) '增加字符列,长度为20

 
End With
Builder.Close() '关闭ADOXBuilder

Syscmd.Project.Open(ProjectFile)

这个命令需要重新打开项目才能够在表中看到新增加的列;我希望不用重新打开项目就能够看到新增的列、该怎么处理?


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


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

那我的项目很大很多表、也必须重启?不能说重新加载表什么的?


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


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

如果是内部数据源的话、好像就可以;但是如果是外部SQL数据源的话、点击了按钮后就一直没反应;这是为什么?

Dim Builder As New ADOXBuilder(“abc”)
Builder.Open() '打开ADOXBuilder
With Builder.Tables("表A")


.AddColumn("日期123", ADOXType.String, 20) '增加字符列,长度为20

 
End With
Builder.Close() '关闭ADOXBuilder

 

DataTables.Unload("表A")
DataTables.load("表A")


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


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

有一个比对填充公式如下:红色部分需要怎么修改才正确?

(如果“光功率表”的“网元”和“测量对象”相同,分别将”输入光功率“和”输出光功率“填入到”光功率登记表“中的”日期***_输入光功率“和”日期***_输出光功率“列中去
For Each r As Row In Tables("光功率登记表").Rows
    Dim dr As DataRow = DataTables("光功率表").Find("网元 = '" & r("网元") & "' and 测量对象 = '" & r("测量对象") & "'")
    If dr IsNot Nothing Then

        r(""日期" & Format(cdate(e.Form.Controls("新增日期").Text), "yyyyMMdd" & "_输入光功率"") = dr("输入光功率")
        r(""日期" & Format(cdate(e.Form.Controls("新增日期").Text), "yyyyMMdd" & "_输出光功率"") = dr("输出光功率")

    End If
Next
[此贴子已经被作者于2015-1-14 11:13:39编辑过]

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


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

【数据对比】按钮公式如下:提示下图错误、我的公式该怎么改?

For Each r As Row In Tables("光功率登记表").rows

If r(""& e.Form.Controls("后期").Text &"")  <> ""  And  r(""& e.Form.Controls("前期").Text &"") <> "" Then
Else
r("对比光功率_输出光功率") = r(""& e.Form.Controls("后期").Text &"") - r(""& e.Form.Controls("前期").Text &"")

End If
Next


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


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


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

增加了一个判断条件;好像没有效果、该怎么改?

For Each r As Row In Tables("光功率登记表").rows

    If e.Form.Controls("对比类型").Text = "输出光功率对比" And r.IsNull(e.Form.Controls("后期").Text)  OrElse  r.IsNull(e.Form.Controls("前期").Text) Then
    
            r("对比光功率_输出光功率") = val(r(e.Form.Controls("后期").Text)) - val(r(e.Form.Controls("前期").Text))
Else
If e.Form.Controls("对比类型").Text = "输入光功率对比" And r.IsNull(e.Form.Controls("后期").Text)  OrElse  r.IsNull(e.Form.Controls("前期").Text) Then
    
            r("对比光功率_输入光功率") = val(r(e.Form.Controls("后期").Text)) - val(r(e.Form.Controls("前期").Text))

        End If
End If
    
Next


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


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