Foxtable(狐表)用户栏目专家坐堂 → 关于添加数据问题


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

主题:关于添加数据问题

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/21 16:54:00 [显示全部帖子]

查找个数,如

 

Dim c = DataTables("表A").compute("count(第一列)", "商户名 = '" & 某个值 & "'")

msgbox(c)

If c <= 0 Then

    msgbox("不变")

Else

    msgbox(c-1)

End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/21 17:08:00 [显示全部帖子]

认认真真看懂2楼代码。改写到自己的代码里面去。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/23 11:38:00 [显示全部帖子]

If e.DataCol.Name = "商户名称" AndAlso e.NewValue > "" Then
    Dim dr As DataRow = e.DataTable.Find("商户名称 like '" & e.NewValue.split("(")(0) & "%'" ,"序号 desc")
    If dr Is Nothing Then
        systemready = False
        e.DataRow("序号") = 0
        systemready = True
    Else
        systemready = False
        e.DataRow("序号") = dr("序号") + 1
        systemready = True
        e.NewValue = e.NewValue.split("(")(0) & "(" & e.DataRow("序号") & ")"
    End If
ElseIf e.DataCol.Name = "序号"
    e.Cancel = True
End If

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/27 8:54:00 [显示全部帖子]

提示和这段代码无关。是你【商户名校验码】列的那段代码有问题。

 

请上传具体实例测试,以及说明如何触发错误。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/27 9:50:00 [显示全部帖子]

If e.DataCol.Name = "商户名称" AndAlso e.NewValue > "" Then
    Dim dr As DataRow = e.DataTable.Find("商户名称 like '" & e.NewValue.split("(")(0) & "(%'" ,"序号 desc")
    If dr Is Nothing Then
        dr = e.DataTable.Find("商户名称 = '" & e.NewValue.split("(")(0) & "'" ,"序号 desc")
    End If
    If dr Is Nothing Then
        systemready = False
        e.DataRow("序号") = Nothing
        systemready = True
    Else
        systemready = False
        e.DataRow("序号") = dr("序号") + 1
        systemready = True
        e.NewValue = e.NewValue.split("(")(0) & "(" & e.DataRow("序号") & ")"
    End If
ElseIf e.DataCol.Name = "序号"
    e.Cancel = True
End If

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/27 10:11:00 [显示全部帖子]

以下是引用裴保民在2018/12/27 10:09:00的发言:
如果修改后的数据和库存数据不完全一样的时怎样将修改后的新数据后面的(序号自动删除呢?

 

请就例子具体说明,本来什么数据,修改什么数据后,需要得到什么结果?实例上传上来。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/27 10:51:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:批量入库1.foxdb


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/27 17:50:00 [显示全部帖子]

以下是引用裴保民在2018/12/27 17:49:00的发言:
怎样获取修改后和修改前的数据呢?

 

在什么时候获取?事件里面,你可以直接获取,参考

 

http://www.foxtable.com/webhelp/scr/0624.htm

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/27 18:03:00 [显示全部帖子]

以下是引用裴保民在2018/12/27 18:01:00的发言:
这个是获取当前字段的更改前后的数值如果要获取其他字段的更改前后的数值就不能用e,了该怎么获取呢

 

你更改其它字段是你自己的代码控制的,你在更改之前,先读取值,不就可以了?如 e.datarow("序号")


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/12/28 9:05:00 [显示全部帖子]

用select查找满足的行,然后一行一行赋值,如

 

http://www.foxtable.com/webhelp/scr/0400.htm

 


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