Foxtable(狐表)用户栏目专家坐堂 → 日志功能设计不起


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

主题:日志功能设计不起

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


加好友 发短信
等级:二尾狐 帖子:528 积分:5034 威望:0 精华:0 注册:2012/4/6 19:31:00
日志功能设计不起  发帖心情 Post By:2018/11/4 14:51:00 [显示全部帖子]

  想在派车记录表下情的子表上显示每次修改记录。达到每次修改可以增加一条记录,并记录修改情况的目的,但实际不行,可以增加,但是子表记录上不显示任何内容,请问是什么原因?

If e.DataCol.Name <> "备注" Then
    Tables("派车记录表.货单跟踪").Addnew()
    Dim R As Row=Tables("货单跟踪").Current()
    R("情况说明") &=vbcrlf  & user.name & "于"   & Date.now    & e.OldValue & "修改为"   & e.NewValue

End If


把    Dim R As Row=Tables("货单跟踪").Current() 改成    Dim R As Row=Tables("派车记录表.货单跟踪").Current() 也不行。请问什么原因?

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


加好友 发短信
等级:二尾狐 帖子:528 积分:5034 威望:0 精华:0 注册:2012/4/6 19:31:00
  发帖心情 Post By:2018/11/21 10:06:00 [显示全部帖子]

以下是引用有点甜在2018/11/4 19:54:00的发言:

改成

 

If e.DataCol.Name <> "备注" Then   
    Dim R As Row = Tables("派车记录表.货单跟踪").Addnew()
    R("情况说明") &=vbcrlf  & user.name & "于"   & Date.now    & e.OldValue & "修改为"   & e.NewValue

End If


这个方法试了,这个情况说明下就是不显示内容,看了代码好像又没有错,不知为啥,是不是我在窗口上的原因,另外有时移到这个表格上点击会出现内容,有时又不会。




If e.DataCol.Name <> "备注" Then   
Dim R As Row =Tables("派车记录表.货单跟踪").Addnew()
R("情况说明") & =vbcrlf & user.name & "于" & Date.now  & e.OldValue & "修改为"  & e.NewValue
End If



好像没有哪里有错嘛?请帮我看一下。谢谢!

[此贴子已经被作者于2018/11/21 10:10:13编辑过]

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


加好友 发短信
等级:二尾狐 帖子:528 积分:5034 威望:0 精华:0 注册:2012/4/6 19:31:00
  发帖心情 Post By:2018/11/21 10:13:00 [显示全部帖子]

以下是引用有点甜在2018/11/21 10:10:00的发言:

 

把行拉高,应该能看到内容。代码没问题。



是的,是行高的问题,花了我好多时间,请问在窗口上怎么设置行高呀?


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


加好友 发短信
等级:二尾狐 帖子:528 积分:5034 威望:0 精华:0 注册:2012/4/6 19:31:00
  发帖心情 Post By:2019/3/19 10:49:00 [显示全部帖子]

请帮我看这个代码:以前是正常的,记录只是修改过的行的旧值和新现,现在不知为啥,新增时他就会把大部分的新增行单元判断为修改的。但又不是把所有的新增行判断成这种,这种要怎么避免这种情况。

If e.DataRow.RowState=DataRowState.Modified
If e.DataCol.Name <> "备注" And e.DataCol.Name<> "承运人应结算"  And e.DataCol.Name<> "单车成本" Then
  Dim R As Row =Tables("派车记录表.货单跟踪").Addnew()
  R("情况说明") & =vbcrlf & user.name & "于" & Date.now   & "把列" & e.DataCol.name     & e.OldValue & "修改为"  & e.NewValue
End If
End If


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


加好友 发短信
等级:二尾狐 帖子:528 积分:5034 威望:0 精华:0 注册:2012/4/6 19:31:00
  发帖心情 Post By:2019/3/19 11:14:00 [显示全部帖子]

我找到原因,是因为我在定时器这里改了一下:

CurrentTable.FinishEditing
CurrentTable.save
Dim pcid As Integer = DataTables("派车记录表").Compute("Max(_Identify)")
Dim Filter As String = "[_Identify] > " & pcid
DataTables("派车记录表").AppendLoad(Filter, False)
DataTables("派车记录表").loadpage = 0
是因为我加了两行  
CurrentTable.FinishEditing
CurrentTable.save    因为我想及时加载新数据,请问这种怎么改 让记录的表真正记录修改的数据单元。

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


加好友 发短信
等级:二尾狐 帖子:528 积分:5034 威望:0 精华:0 注册:2012/4/6 19:31:00
  发帖心情 Post By:2019/3/19 11:51:00 [显示全部帖子]

试了,把前两段代码暂时不行,但是把计划暂停可以。没弄懂。

[此贴子已经被作者于2019/3/19 11:56:13编辑过]

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


加好友 发短信
等级:二尾狐 帖子:528 积分:5034 威望:0 精华:0 注册:2012/4/6 19:31:00
  发帖心情 Post By:2019/3/19 12:41:00 [显示全部帖子]

SystemReady = False 
try
CurrentTable.FinishEditing
CurrentTable.save
Dim pcid As Integer = DataTables("派车记录表").Compute("Max(_Identify)")
Dim Filter As String = "[_Identify] > " & pcid
DataTables("派车记录表").AppendLoad(Filter, False)
DataTables("派车记录表").loadpage = 0
'追加数据代码
Catch ex As Exception
    MessageBox.Show("追加数据失败") 
End Try
SystemReady = True 

   这样么?还是不行,在新增行时还是要到时加载,并且我还能看到红色的行号变成蓝色的。这怎么弄呀,谢谢!


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


加好友 发短信
等级:二尾狐 帖子:528 积分:5034 威望:0 精华:0 注册:2012/4/6 19:31:00
  发帖心情 Post By:2019/3/19 12:53:00 [显示全部帖子]

就是想达到新增的行,在编辑中暂停执行定时器,等我按了保存后才执行定时器再加载。这样才能达到编辑过程中不会增加修改记录。否则在编辑过程中加载了后,他们就把后面编辑的单元当着修改来记录了。

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


加好友 发短信
等级:二尾狐 帖子:528 积分:5034 威望:0 精华:0 注册:2012/4/6 19:31:00
  发帖心情 Post By:2019/3/19 13:05:00 [显示全部帖子]

按你这样说,就是只要修改了没有保存都不执行,但我刚才把执行代码都注释了,也就是只开了定时器,但到了时间,新增加的行他一样会保存,这是什么原因?

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


加好友 发短信
等级:二尾狐 帖子:528 积分:5034 威望:0 精华:0 注册:2012/4/6 19:31:00
  发帖心情 Post By:2019/3/19 14:40:00 [显示全部帖子]

版本:我发现只要有定时器,没有任何代码,新增的行都会定时保存。这是什么原因?我只有把所有定时器暂停了才不会定时保存,我现在的代码是:

If DataTables("派车记录表").HasChanges = False Then '已经保存
CurrentTable.FinishEditing
CurrentTable.save
Dim pcid As Integer = DataTables("派车记录表").Compute("Max(_Identify)")
Dim Filter As String = "[_Identify] > " & pcid
DataTables("派车记录表").AppendLoad(Filter, False)
End If

请帮我看一下,谢谢!

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