Foxtable(狐表)用户栏目专家坐堂 → 如何判断录入?谢谢


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

主题:如何判断录入?谢谢

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


加好友 发短信
等级:婴狐 帖子:36 积分:296 威望:0 精华:0 注册:2011/8/6 15:00:00
  发帖心情 Post By:2011/8/22 16:23:00 [只看该作者]

If e.Col.Name = "第三列" Then
    If e.Row("第三列") = 0 Then
        e.Row("第三列") = Nothing
    Else If Tables("表A").Rows(0)("第三列")=Nothing Then '判断是否是从第一行输入
        MessageBox.Show("必须从第一行录入")
        e.Row("第三列")=Nothing
    Else
        Dim i As Integer
        If e.Row.Index >0 Then
            i=e.Row.Index-1
            If e.Row("第三列") < Tables("表A").Rows(i)("第三列") Then '小于则
                MessageBox.Show("小于上一行")
                e.Row("第三列")=Nothing
            Else If e.Row("第三列")-Tables("表A").Rows(i)("第三列") >1 Then '大于则
                MessageBox.Show("大于上一行 +1")
                e.Row("第三列")=Nothing
            End If
        End If
    End If
End If

 

 

AfterEdit后面

[此贴子已经被作者于2011-8-22 16:23:37编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
雨中的泪
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1432 积分:9061 威望:0 精华:0 注册:2009/8/19 8:19:00
  发帖心情 Post By:2011/8/22 16:24:00 [只看该作者]

录入数据时是在窗口中录入,不是在表中录入

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


加好友 发短信
等级:婴狐 帖子:36 积分:296 威望:0 精华:0 注册:2011/8/6 15:00:00
  发帖心情 Post By:2011/8/22 16:28:00 [只看该作者]

我还没学到编辑框,不知道那里啊!等其他人答吧

 回到顶部
帅哥哟,离线,有人找我吗?
雨中的泪
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1432 积分:9061 威望:0 精华:0 注册:2009/8/19 8:19:00
  发帖心情 Post By:2011/8/22 16:43:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:模拟按钮.table


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


加好友 发短信
等级:婴狐 帖子:36 积分:296 威望:0 精华:0 注册:2011/8/6 15:00:00
  发帖心情 Post By:2011/8/22 17:24:00 [只看该作者]

应该在 DataColChanging 里面添加

 

If e.DataCol.Name="批量" Then
    MessageBox.Show(e.NewValue)
End If

 

其他自己修改喽!!


 回到顶部
帅哥哟,离线,有人找我吗?
雨中的泪
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1432 积分:9061 威望:0 精华:0 注册:2009/8/19 8:19:00
  发帖心情 Post By:2011/8/22 17:36:00 [只看该作者]

老大,帮忙看看,谢谢

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


加好友 发短信
等级:婴狐 帖子:36 积分:296 威望:0 精华:0 注册:2011/8/6 15:00:00
  发帖心情 Post By:2011/8/22 21:27:00 [只看该作者]

DataColChanged  添加

 

不过我个人感觉还有很多问题,,图片点击可在新窗口打开查看

 

 

If e.DataCol.Name="第一列" Then
    Dim dq As Double = CurrentTable.RowSel
    If Tables("表A").Rows(dq)("第一列") < 1 Then
        'MessageBox.Show("数据必须大于0") '不知道为什么这里会弹出两次提示
        e.DataRow("第一列")=Nothing
    End If
    If dq >0 Then
        Dim jg As Double = e.NewValue - DataTables("表A").DataRows(dq-1)("第一列")
        If jg>1 Or jg<0 Then
           ' MessageBox.Show("差值要比上一行小于2大于0")
            e.DataRow("第一列")=Nothing
        End If
    End If
End If


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


加好友 发短信
等级:婴狐 帖子:33 积分:463 威望:0 精华:0 注册:2010/5/5 18:35:00
  发帖心情 Post By:2011/8/22 22:49:00 [只看该作者]

一:假设下面的行可以回头继续用最前面的数据,比如 11 22 1,即不是序时
If e.Col.Name = "第三列" Then
    If e.Row("第三列") = 0 Then
        e.Row("第三列") = Nothing
    Else if e.row("第三列" ).newvalue>“e.Table.Compute("max(第三列)") +1”  then
        messagebox("请录入一个小于" e.table.max(第三列))  
   esle
 
     e.Row("第三列")= e.row("第三列").newvalue
End IF
end if
二:假设下面的行数据必须是递增的,可以再多加一个判断,
....
Else if e.row("第三列" ).newvalue>“e.Table.Compute("max(第三列)") +1”  or e.row("第三列" ).newvalue<“e.Table.Compute("max(第三列)") 
....
 
放在datacolchanged 事情中吧应该
只是个思路,语法不对呀,偶是菜鸟,刚开始学,多多包涵,:)
 
[此贴子已经被作者于2011-8-22 23:03:45编辑过]

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2011/8/22 23:45:00 [只看该作者]

增加一个全局变量,比如命名为Val

PrepareEdit事件代码


If e.Col.Name = "第一列" Then
    Dim n As Integer = e.Table.Compute("Max(第一列)")
    Vars("Val") = n
End If

 

DataColChanged事件代码


If e.DataCol.Name = "第一列" Then
    If e.NewValue = 0 OrElse e.NewValue - Vars("Val")  <> 1 Then
        e.DataRow("第一列") = Nothing
    End If
End If


 回到顶部
帅哥哟,离线,有人找我吗?
雨中的泪
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1432 积分:9061 威望:0 精华:0 注册:2009/8/19 8:19:00
  发帖心情 Post By:2011/8/23 8:19:00 [只看该作者]

谢谢

 回到顶部
总数 21 上一页 1 2 3 下一页