Foxtable(狐表)用户栏目专家坐堂 → findrow


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

主题:findrow

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


加好友 发短信
等级:六尾狐 帖子:1470 积分:8981 威望:0 精华:0 注册:2013/10/24 9:12:00
findrow  发帖心情 Post By:2014/3/17 8:27:00 [只看该作者]

Dim xj As WinForm.TextBox = e.Form.Controls("作废收购凭证号")
With Tables("收购")
    Dim rr As Integer
    If rr=.findrow("[收购凭证号] like '" & xj.Text & "'And [作废] = true ") Then
        If rr > 0 Then '如果找到的话
            MessageBox.Show("该收购凭证已作废!")
        End If
    ElseIf rr=.findrow("[收购凭证号] like '" & xj.Text & "' And [作废] = false ") Then
        If rr > 0 Then '如果找到的话
            .Position = rr '定位到找到的行.
            If Functions.Execute("net20sp1") = False Then
                Return
            End If
            Dim Book As New XLS.Book(ProjectPath & "Attachments\作废收购单.xls")
            Dim fl As String = ProjectPath & "Reports\作废收购单.xls"
            Book.Build()
            Book.Save(fl)
            Dim App As New MSExcel.Application
            Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(fl)
            Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
            Ws.PrintOut
            App.Quit
            Dim r As Row = Tables("收购").Current
            Dim dr As DataRow = DataTables("收购").addnew
            r("修改") = False
            r("打印") = False
            r("作废") = False
            dr("编号")=r("编号") & "-" & "已作废"
            dr("猪主姓名")=r("猪主姓名")
            dr("重量")=r("重量")
            dr("单价")=r("单价")
            dr("日期")=r("日期")
            dr("年")=r("年")
            dr("月")=r("月")
            dr("日")=r("日")
            dr("修改")=True
            dr("打印")=True
            dr("收购凭证号")=r("收购凭证号")
            dr("字符日期")=r("字符日期")
            dr("作废")=True
            dr("销售已录入")=r("销售已录入")
            r("收购凭证号") = ""
        End If
    End If
End With

上述代码我想效果是:在文本框中的输入作废的收购凭证号,然后点击作废控件(上述代码)并且能同时处理多条符合条件的,但不起作用。

是不是代码:  If rr=.findrow("[收购凭证号] like '" & xj.Text & "'And [作废] = true ") Then  出现问题?


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/17 8:33:00 [只看该作者]

FINDROW只能找到单条记录.

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


加好友 发短信
等级:六尾狐 帖子:1470 积分:8981 威望:0 精华:0 注册:2013/10/24 9:12:00
  发帖心情 Post By:2014/3/17 9:43:00 [只看该作者]

 If rr=.findrow("[收购凭证号] like '" & xj.Text & "'And [作废] = true ") Then 

中的查找条件书写正确吗?


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/17 9:56:00 [只看该作者]

  AND 这里最好有空格  Like要有模糊匹配符

If rr=.findrow("[收购凭证号] like '%" & xj.Text & "%' And [作废] = true ") Then 

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


加好友 发短信
等级:六尾狐 帖子:1470 积分:8981 威望:0 精华:0 注册:2013/10/24 9:12:00
  发帖心情 Post By:2014/3/17 10:51:00 [只看该作者]

dr("编号")=drr("编号") & "-" & "已作废"

编号:20140317

作废1次:20140317-已作废1

作废2次:20140317-已作废2

作废3次:20140317-已作废3

......

如何能做到?


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/17 11:05:00 [只看该作者]


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


加好友 发短信
等级:六尾狐 帖子:1470 积分:8981 威望:0 精华:0 注册:2013/10/24 9:12:00
  发帖心情 Post By:2014/3/17 15:04:00 [只看该作者]

        drr("作废次数")=drr("作废次数") + 1
        dr("编号")=drr("编号") & "-" & "已作废" & "-" &  drr("作废次数")

20140317-已作废-1

提示错误编号太长自动截断?

其中:编号是字符型,作废次数为整数型,有影响吗?


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/17 15:04:00 [只看该作者]

因为你列字段设计得太短了. 应该是默认的16吧 设置长一点

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


加好友 发短信
等级:六尾狐 帖子:1470 积分:8981 威望:0 精华:0 注册:2013/10/24 9:12:00
  发帖心情 Post By:2014/3/17 15:19:00 [只看该作者]

我已设定为35了

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/17 15:21:00 [只看该作者]

值超出字段长度,就会报这个错,你检查一下.

 回到顶部