以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]高速合并时系统自动关闭 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=46500) |
-- 作者:wumingrong1 -- 发布时间:2014/2/24 21:04:00 -- [求助]高速合并时系统自动关闭 我使用系统的 高速合并 功能对EXL表格进行合并;但是我的系统中有一列是 “日期时间”列、列格式为DateTime;这种情况下一合并系统就会自动关闭;请问是什么原因、怎么处理? 我觉得问题应该出在这个 类型为 “日期时间” 这一列上
|
-- 作者:有点甜 -- 发布时间:2014/2/24 21:09:00 -- 呃,你是否在表里设置了事件和代码?贴出你的代码看看。 |
-- 作者:wumingrong1 -- 发布时间: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 -- 发布时间:2014/2/24 21:21:00 -- 设备端口应用台帐表
机房名称()
----> 字符型(100) 业务名称()
----> 字符型(50) 设备_厂家设备型号()
----> 字符型(100) 设备_槽位端子() ----> 字符型(100) 备注()
----> 字符型(16) 操作人员()
----> 字符型(16) 操作时间()
----> 日期型 |
-- 作者:有点甜 -- 发布时间: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 -- 发布时间:2014/2/24 21:34:00 -- OK啦,谢谢!!! |