Foxtable(狐表)用户栏目专家坐堂 → 窗体部分不能录入


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

主题:窗体部分不能录入

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


加好友 发短信
等级:小狐 帖子:357 积分:3418 威望:0 精华:0 注册:2012/8/29 10:30:00
窗体部分不能录入  发帖心情 Post By:2018/6/11 9:53:00 [只看该作者]

开始窗体中没有表控件是可以正常的录入。但是加入了表空间后,在记录控件中就无法录入内容了,只能在表控件中录入内容。不知这是什么原因请老师帮忙!
谢谢
图片点击可在新窗口打开查看此主题相关图片如下:快照-1.jpg
图片点击可在新窗口打开查看

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


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

1、你有没有锁定行、锁定表?锁定以后,表格和绑定的控件都是不能编辑的。

 

2、你窗口afterLoad、enter事件有没有写控制的代码?


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


加好友 发短信
等级:小狐 帖子:357 积分:3418 威望:0 精华:0 注册:2012/8/29 10:30:00
  发帖心情 Post By:2018/6/11 9:57:00 [只看该作者]

当前的修改位置,只能在表控件中,不能落在左面的任何文本框上?

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


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

1、你有没有锁定行、锁定表?锁定以后,表格和绑定的控件都是不能编辑的。

 

2、你窗口afterLoad、enter事件有没有写控制的代码?


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


加好友 发短信
等级:小狐 帖子:357 积分:3418 威望:0 精华:0 注册:2012/8/29 10:30:00
  发帖心情 Post By:2018/6/11 10:21:00 [只看该作者]

下面是窗口的控件代码:

窗口表事件
窗口与控件事件
维修工单录入_AfterLoad
Tables("维修工单录入").AllowEdit = False
维修工单录入_Button1_Click
With Tables("维修工单录入")
    .Position = .Position - 1
End With
CurrentTable.AllowAddNew = False

维修工单录入_Button2_Click
With Tables("维修工单录入")
    .Position = .Position + 1
End With
Tables("维修工单录入").AllowEdit = False
维修工单录入_Button3_Click
Tables("维修工单录入").AllowEdit = False
维修工单录入_Button4_Click
Tables("维修工单录入").AddNew()
Tables("维修工单录入").AllowEdit = True
CurrentTable.AllowAddNew = True
维修工单录入_Button5_Click
Tables("维修工单录入").AllowEdit = True
维修工单录入_Button6_Click
Tables("维修工单录入").Current.Delete
维修工单录入_Button7_Click
Forms("维修工单录入").close()
维修工单录入_Enter
Tables("维修工单录入").sort = "填表日期 desc "
维修工单录入_Leave
DataTables("维修工单录入").Save(True)
维修工单录入_TextBox9_Click
Tables("维修工单录入").Cols("维修满意程度").ComboList = DataTables("维修工单录入").GetComboListString("维修满意程度")


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


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

如果你执行了这个代码

 

Tables("维修工单录入").AllowEdit = False

 

那么,这个表、对应的控件,都是不能编辑的。


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


加好友 发短信
等级:小狐 帖子:357 积分:3418 威望:0 精华:0 注册:2012/8/29 10:30:00
  发帖心情 Post By:2018/6/11 10:46:00 [只看该作者]

我已经将所有的不允许修改的命令删除了,可是光标仍然不能落在左边的文本框中。
前面的智能在表控件中修改?(现在依旧)

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


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

如果把表控件删除或者隐藏,就能编辑了?如果是,看看你表控件事件写了什么影响的代码导致的(屏蔽各个表事件)

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


加好友 发短信
等级:小狐 帖子:357 积分:3418 威望:0 精华:0 注册:2012/8/29 10:30:00
  发帖心情 Post By:2018/6/11 11:18:00 [只看该作者]

表事件中,仅涉及维修工单录入表。具体全部表时间如下:

表事件

维修工单录入_AfterLoad

Tables("维修工单录入").sort = "填表日期 desc "
Tables("维修工单录入").filter = "填表日期 >= #" & Date.Today.Adddays(-60) & "#  "

设备台帐表_AfterLoad

Tables("设备台帐表").Sort = "_Identify DESC"

计量计划_DataColChanged

Dim dc As DataCol = e.DataCol
Dim dr As DataRow = e.DataRow
If dc.Name = "本年实际检定日期" OrElse dc.Name = "周期天数" Then
    If dr.IsNull("本年实际检定日期") OrElse dr.IsNull("周期天数") Then
        dr("下一年检定日期") = Nothing
    Else
        dr("下一年检定日期") = dr("本年实际检定日期").AddDays(dr("周期天数"))
        dr("Last") = True
    End If
End If

计量计划_DrawCell

If e.Col.Name = "本年计划检定日期" Then
    If e.Row.IsNull("本年计划检定日期") = False AndAlso e.Row.IsNull("本年实际检定日期") = True
        If e.Row("本年计划检定日期") < Date.Today.AddDays(10) Then
            e.Style = "到期提醒"
        End If
    End If
End If
If e.Col.Name = "本年计划检定日期" Then
    If e.Row.IsNull("本年计划检定日期") = False AndAlso e.Row.IsNull("本年实际检定日期") = False
        If e.Row("本年计划检定日期") < Date.Today.AddDays(10) Then
            e.Style = "检定完成"
        End If
    End If
End If

检定流水记录_DataColChanged

If e.DataCol.Name = "状态" Then '如果内容发生变动的是品名列
    '    If e.NewValue Is Nothing Then '如果新值是空白,也就是品名列的内容为空
    '        e.DataRow("状态") = Nothing '那么清空此行单价列的内容
    '    Else
    Dim dr As DataRow
    Dim da As DataRow
    '否则在产品表查找同名的产品行,将找到的行赋值给变量dr
    '        dr = DataTables("计量计划").Find("[id] = '" & e.NewValue & "'")
    dr = DataTables("计量计划").Find("[id] = '" & e.DataRow("id") & "'")
    da = DataTables("计量台帐").Find("[校准编号] = '" & e.DataRow("校准编号") & "'")
    If dr IsNot Nothing Then '如果找到了同名的产品行,也就是dr不是Nothing
        dr("状态") = e.DataRow("状态")
        da("状态") = e.DataRow("状态")
    End If
    '    End If
End If



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


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

贴出的代码都没问题,请单独做一个例子发上来测试。


 回到顶部