Foxtable(狐表)用户栏目专家坐堂 → [求助]高速合并时系统自动关闭


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

主题:[求助]高速合并时系统自动关闭

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
[求助]高速合并时系统自动关闭  发帖心情 Post By:2014/2/24 21:04:00 [只看该作者]

 我使用系统的 高速合并 功能对EXL表格进行合并;但是我的系统中有一列是 “日期时间”列、列格式为DateTime;这种情况下一合并系统就会自动关闭;请问是什么原因、怎么处理?

  我觉得问题应该出在这个 类型为  “日期时间” 这一列上  

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/2/24 21:09:00 [只看该作者]

呃,你是否在表里设置了事件和代码?贴出你的代码看看。

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2014/2/24 21:18:00 [只看该作者]

设备端口应用台帐表_PrepareEdit

 

e.Cancel = True

 

设备端口应用台帐表_DataColChanged

 

'1

If e.DataCol.Name = "设备_板件槽位" Or e.DataCol.Name = "设备_板件端子" Then '如果更改的是 ***列 和 ***列

    If e.DataRow.IsNull("设备_板件槽位") AndAlso e.DataRow.IsNull("设备_板件端子") Then '判断 ***列 和 ***列 是否为空

        e.DataRow("设备_槽位端子") = Nothing '如果为空,则清除 &&&列内容

    Else

        '否则按以下公式进行处理

        e.DataRow("设备_槽位端子") = e.DataRow("设备_板件槽位") +" -- "+ e.DataRow("设备_板件端子")

    End If

End If

 

 

'2

If e.DataCol.Name = "出线_ODF_ODF盘1" Or e.DataCol.Name = "出线_ODF_ODF端子1" Or e.DataCol.Name = "出线_ODF_ODF盘2" Or e.DataCol.Name = "出线_ODF_ODF端子2" Then '如果更改的是 ***列 和 ***列

    If e.DataRow.IsNull("出线_ODF_ODF盘1") AndAlso e.DataRow.IsNull("出线_ODF_ODF端子1") AndAlso e.DataRow.IsNull("出线_ODF_ODF盘2") AndAlso e.DataRow.IsNull("出线_ODF_ODF端子2") Then '判断 ***列 和 ***列 是否为空

        e.DataRow("出线_ODF_ODF盘端子") = Nothing '如果为空,则清除 &&&列内容

    Else

        '否则按以下公式进行处理

        e.DataRow("出线_ODF_ODF盘端子") = e.DataRow("出线_ODF_ODF盘1") +" "+ e.DataRow("出线_ODF_ODF端子1") +" / "+ e.DataRow("出线_ODF_ODF盘2") +" "+ e.DataRow("出线_ODF_ODF端子2")

    End If

End If

 

 

'3

If e.DataCol.Name = "出线_DDF_DDF模块" Or e.DataCol.Name = "出线_DDF_DDF2M" Then '如果更改的是 ***列 和 ***列

    If e.DataRow.IsNull("出线_DDF_DDF模块") AndAlso e.DataRow.IsNull("出线_DDF_DDF2M") Then '判断 ***列 和 ***列 是否为空

        e.DataRow("出线_DDF_DDF模块2M") = Nothing '如果为空,则清除 &&&列内容

    Else

        '否则按以下公式进行处理

        e.DataRow("出线_DDF_DDF模块2M") = e.DataRow("出线_DDF_DDF模块") +" 2M*"+ e.DataRow("出线_DDF_DDF2M")

    End If

End If

 

'4

If e.DataCol.Name = "设备_设备厂家" Or e.DataCol.Name = "设备_设备名称" Or e.DataCol.Name = "设备_设备型号" Then '如果更改的是 ***列 和 ***列

    If e.DataRow.IsNull("设备_设备厂家") AndAlso e.DataRow.IsNull("设备_设备名称") AndAlso e.DataRow.IsNull("设备_设备型号") Then '判断 ***列 和 ***列 是否为空

        e.DataRow("设备_厂家设备型号") = Nothing '如果为空,则清除 &&&列内容

    Else

        '否则按以下公式进行处理

        e.DataRow("设备_厂家设备型号") = e.DataRow("设备_设备厂家") +" "+ e.DataRow("设备_设备名称") +" "+ e.DataRow("设备_设备型号")

    End If

End If

 

 

'5

e.DataRow("操作人员") = _Username

e.DataRow("操作时间") = Date.now

 

设备端口应用台帐表_BeforeSelRangeChange

 

If e.Table.RowSel < 0 OrElse e.Table.ColSel < 0 Then

    Return

End If

If e.Table.Current IsNot Nothing Then

    If e.Table.Current.DataRow.RowState <> DataRowState.Unchanged Then '如果当前行已经修改过

        e.Cancel = True

        MessageBox.Show("请先保存对当前行的修改", "提示", MessageBoxButtons.OK, MessageBoxIcon.Question)

    End If

End If

 

设备端口应用台帐表_Click

 

If e.Col.Name = "设备_厂家设备型号" Then '点击某单元格时

    e.Table.AutoSizeRow(e.Row.Index) '自动调整行宽

End If

 

设备端口应用台帐表_PositionChanged

 

If Forms("设备端口应用台帐表主窗口").Opened() '如果 ***窗口已经打开

 

Dim t As Table = Tables("设备端口应用台帐表主窗口_Table2") '某窗口的某控件内容

With Tables("设备端口应用台帐表") '显示某关联表内容

    If .Current Is Nothing Then

        t.Filter = "False"

    Else

     t.Filter = "业务名称 = '" & .Current("业务名称") & "'" '条件是 ***=***

 End If

 

End With

End If


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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2014/2/24 21:21:00 [只看该作者]

设备端口应用台帐表

 

机房名称() ----> 字符型(100)

业务名称() ----> 字符型(50)

设备_厂家设备型号() ----> 字符型(100)

设备_槽位端子() ----> 字符型(100)

备注() ----> 字符型(16)

操作人员() ----> 字符型(16)

操作时间() ----> 日期型 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/2/24 21:26:00 [只看该作者]

应该是这段代码的问题,你加一个判断

'5

e.DataRow("操作人员") = _Username

e.DataRow("操作时间") = Date.now


改成

if e.datacol.name <> "操作人员" andalso e.datacol.name <> "操作时间" then

    e.DataRow("操作人员") = _Username

    e.DataRow("操作时间") = Date.now

end if

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


加好友 发短信
等级:五尾狐 帖子:1029 积分:6497 威望:0 精华:0 注册:2014/1/3 12:49:00
  发帖心情 Post By:2014/2/24 21:34:00 [只看该作者]

OK啦,谢谢!!!

 回到顶部