Foxtable(狐表)用户栏目专家坐堂 → 满足条件查找


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

主题:满足条件查找

美女呀,离线,留言给我吧!
nuoyan89
  21楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:415 积分:2896 威望:0 精华:0 注册:2020/10/9 8:45:00
  发帖心情 Post By:2022/12/13 10:34:00 [显示全部帖子]

老师,我把他换到另一个项目里了,但是敲回车没有任何反应,我也看了下整个窗口,没有代码冲突!我敲回车,直接跳到单据日期那个控件去了。能帮忙看看吗?谢谢
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试.rar

[此贴子已经被作者于2022/12/13 10:34:36编辑过]

 回到顶部
美女呀,离线,留言给我吧!
nuoyan89
  22楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:415 积分:2896 威望:0 精华:0 注册:2020/10/9 8:45:00
  发帖心情 Post By:2022/12/14 8:48:00 [显示全部帖子]

老师,找到原因是了,是因为外部表那里设置了不加载,然后我代码改成了以下那样,还是不能用,请帮忙看看,谢谢!
If e.KeyCode = Keys.Enter Then
    Dim sl As Integer = Val(e.Sender.Text)
    Dim bm As String = e.Form.Controls("材料编码1").text
    If sl > 0 AndAlso bm > "" Then
        Dim t As Table = e.Form.Controls("出库").Table
        If t.DataTable.HasChanges Then
            t.DataTable.save
        End If 
        If DataTables("出入库明细").SQLGetValues("供应商名称", "成品编码='" & bm & "' And 入库类型= '在库'").count > 1 Then
            Vars("bm") = bm
            Forms("零件库临时窗口").Open
        End If
        Dim filter As String = "成品编码='" & bm & "'And 入库类型= '在库' and 可出数量 > 0"
        If vars("供应商名称") > "" Then
            filter = filter & " and 供应商名称='" & vars("供应商名称") & "'"
        End If
        For Each dr As DataRow In DataTables("出入库明细").SQLSelect(filter, "采购订单号")
            Dim dr1 As DataRow = t.DataTable.SQLfind("成品编码='" & bm & "' and 出库数量 is  null")
            If dr1 Is Nothing Then
                dr1 = t.DataTable.addnew
                dr1("成品编码") = dr("成品编码")
                dr1("成品描述") = dr("成品描述")
            End If 
            dr1("采购订单号") = dr("采购订单号")
            dr1("供应商名称") = dr("供应商名称")
            If dr("可出数量") >= sl Then
                dr1("出库数量") = sl
                dr("可出数量") = dr("可出数量") - sl
                Exit For
            Else
                dr1("出库数量") = dr("可出数量")
                sl = sl - dr("可出数量")
                dr("可出数量") = 0
            End If 
        Next 
    End If
End If

图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看



 回到顶部
美女呀,离线,留言给我吧!
nuoyan89
  23楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:415 积分:2896 威望:0 精华:0 注册:2020/10/9 8:45:00
  发帖心情 Post By:2022/12/14 9:07:00 [显示全部帖子]

老师,改了,还是不行,可以输入窗口表:零件库领料单,编码:02020012,请帮忙看看,谢谢!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:新项目测试.rar


 回到顶部
美女呀,离线,留言给我吧!
nuoyan89
  24楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:415 积分:2896 威望:0 精华:0 注册:2020/10/9 8:45:00
  发帖心情 Post By:2022/12/14 10:18:00 [显示全部帖子]


老师,是用这个吗?SQLReplaceFor,看了半天不知道咋弄合适。

 回到顶部
美女呀,离线,留言给我吧!
nuoyan89
  25楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:415 积分:2896 威望:0 精华:0 注册:2020/10/9 8:45:00
  发帖心情 Post By:2022/12/14 11:00:00 [显示全部帖子]

老师,帮忙看下。

If e.KeyCode = Keys.Enter Then
    Dim sl As Integer = Val(e.Sender.Text)
    Dim bm As String = e.Form.Controls("材料编码1").text
    If sl > 0 AndAlso bm > "" Then
        Dim t As Table = e.Form.Controls("出库").Table
        If t.DataTable.HasChanges Then
            t.DataTable.save
        End If 
        If DataTables("出入库明细").SQLGetValues("供应商名称", "成品编码='" & bm & "' And 入库类型= '在库'").count > 1 Then
            Vars("bm") = bm
            Forms("零件库临时窗口").Open
        End If
        Dim filter As String = "成品编码='" & bm & "'And 入库类型= '在库' and 可出数量 > 0"
        If vars("供应商名称") > "" Then
            filter = filter & " and 供应商名称='" & vars("供应商名称") & "'"
        End If
        Dim drs As List(Of DataRow) = DataTables("出入库明细").sqlSelect(filter, "采购订单号")
        For Each dr As DataRow In drs
            Dim dr1 As DataRow = t.DataTable.find("成品编码='" & bm & "' and 出库数量 is  null")
            If dr1 Is Nothing Then
                dr1 = t.DataTable.addnew
                dr1("成品编码") = dr("成品编码")
                dr1("成品描述") = dr("成品描述")
            End If 
            dr1("采购订单号") = dr("采购订单号")
            dr1("供应商名称") = dr("供应商名称")
            If dr("可出数量") >= sl Then
                dr1("出库数量") = sl
                dr("可出数量") = dr("可出数量") - sl
                Exit For
            Else
                dr1("出库数量") = dr("可出数量")
                sl = sl - dr("可出数量")
                dr("可出数量") = 0
            End If
        Next
        DataTables("出入库明细").SQLUpdate(drs)
    End If
End If

 回到顶部
美女呀,离线,留言给我吧!
nuoyan89
  26楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:415 积分:2896 威望:0 精华:0 注册:2020/10/9 8:45:00
  发帖心情 Post By:2022/12/14 13:38:00 [显示全部帖子]

老师,帮忙研究了一中午,确实不知道咋改了。
If e.KeyCode = Keys.Enter Then
    Dim sl As Integer = Val(e.Sender.Text)
    Dim bm As String = e.Form.Controls("材料编码1").text
    If sl > 0 AndAlso bm > "" Then
        Dim t As Table = e.Form.Controls("出库").Table
        If t.DataTable.HasChanges Then
            t.DataTable.save
        End If 
        If DataTables("出入库明细").SQLGetValues("供应商名称", "成品编码='" & bm & "' And 入库类型= '在库'").count > 1 Then
            Vars("bm") = bm
            Forms("零件库临时窗口").Open
        End If
        Dim filter As String = "成品编码='" & bm & "'And 入库类型= '在库' and 可出数量 > 0"
        If vars("供应商名称") > "" Then
            filter = filter & " and 供应商名称='" & vars("供应商名称") & "'"
        End If
        Dim drs As List(Of DataRow) = DataTables("出入库明细").sqlSelect(filter, "采购订单号", "采购订单号  desc")
        For Each dr As DataRow In drs
            Dim dr1 As DataRow = t.DataTable.find("成品编码='" & bm & "' and 出库数量 is  null")
            If dr1 Is Nothing Then
                dr1 = t.DataTable.addnew
                dr1("成品编码") = dr("成品编码")
                dr1("成品描述") = dr("成品描述")
            End If 
            dr1("采购订单号") = dr("采购订单号")
            dr1("供应商名称") = dr("供应商名称")
            If dr("可出数量") >= sl Then
                dr1("出库数量") = sl
                dr("可出数量") = dr("可出数量") - sl
                Exit For
            Else
                dr1("出库数量") = dr("可出数量")
                sl = sl - dr("可出数量")
                dr("可出数量") = 0
            End If
        Next
        DataTables("出入库明细").SQLUpdate(drs)
    End If
End If

 回到顶部
美女呀,离线,留言给我吧!
nuoyan89
  27楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:415 积分:2896 威望:0 精华:0 注册:2020/10/9 8:45:00
  发帖心情 Post By:2022/12/15 17:02:00 [显示全部帖子]

老师,单一供应商的弄好了,这多家供应商的窗口弹开没有内容,能帮忙看看吗?谢谢

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

 回到顶部
美女呀,离线,留言给我吧!
nuoyan89
  28楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:415 积分:2896 威望:0 精华:0 注册:2020/10/9 8:45:00
  发帖心情 Post By:2022/12/15 17:27:00 [显示全部帖子]


 这个是出库数量控件里的
If e.KeyCode = Keys.Enter Then
    Dim sl As Integer = Val(e.Sender.Text)
    Dim bm As String = e.Form.Controls("材料编码1").text
    If sl > 0 AndAlso bm > "" Then
        Dim t As Table = e.Form.Controls("出库").Table
        If t.DataTable.HasChanges Then
            t.DataTable.save
        End If 
        If DataTables("出入库明细").SQLGetValues("供应商名称", "成品编码='" & bm & "' And 入库类型= '在库'").count > 1 Then
            Vars("bm") = bm
            Forms("零件库临时窗口").Open
            Forms("零件库临时窗口").Controls("成品编码1").text = Tables("零件库领料单_出库").current("成品编码")
            Dim Filter1 As String
            With Forms("零件库临时窗口").Controls("成品编码1")
                If .Value IsNot Nothing Then
                    If Filter1 > "" Then
                        Filter1 = Filter1 & " And "
                    End If
                    Filter1 = Filter1 & "成品编码 = '" & .Value & "'"
                End If
            End With
            If Filter1 > "" Then
                Forms("零件库临时窗口").controls("Table1").Table.DataTable.LoadPage = 0
                Forms("零件库临时窗口").controls("Table1").Table.DataTable.LoadFilter = "[入库类型] = '在库' and " & IIf(filter1 > "", filter1, "1=1")
                Forms("零件库临时窗口").controls("Table1").Table.DataTable.Load
            End If
        End If
        Dim filter As String = "成品编码='" & bm & "'And 入库类型= '在库' and 可出数量 > 0 "
        If vars("供应商名称") > "" Then
            filter = filter & " and 供应商名称='" & vars("供应商名称") & "'"
        End If
        Dim drs As List(Of DataRow) = DataTables("出入库明细").sqlSelect(filter, 10, "采购订单号  desc")
        For Each dr As DataRow In drs
            Dim dr1 As DataRow = t.DataTable.find("成品编码='" & bm & "' and 出库数量 is  null")
            If dr1 Is Nothing Then
                dr1 = t.DataTable.addnew
                dr1("成品编码") = dr("成品编码")
                dr1("成品描述") = dr("成品描述")
            End If 
            dr1("采购订单号") = dr("采购订单号")
            dr1("供应商名称") = dr("供应商名称")
            If dr("可出数量") >= sl Then
                dr1("出库数量") = sl
                dr("可出数量") = dr("可出数量") - sl
                Exit For
            Else
                dr1("出库数量") = dr("可出数量")
                sl = sl - dr("可出数量")
                dr("可出数量") = 0
            End If
        Next
        DataTables("出入库明细").SQLUpdate(drs)
    End If
End If
模式窗口里的代码
If Vars("bm") > "" Then
    Tables("零件库临时窗口_Table1").Filter = "成品编码='" & Vars("bm") & "' And 入库类型= '在库'"
End If
[此贴子已经被作者于2022/12/15 17:27:27编辑过]

 回到顶部
美女呀,离线,留言给我吧!
nuoyan89
  29楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:415 积分:2896 威望:0 精华:0 注册:2020/10/9 8:45:00
  发帖心情 Post By:2022/12/15 17:43:00 [显示全部帖子]

试过了,不行,所以才请教蓝版的,加载代码的放在模式窗口的窗口事件中,代码是没有问题的,因为我单独新增按钮是可以查出东西的
[此贴子已经被作者于2022/12/15 17:50:16编辑过]

 回到顶部
美女呀,离线,留言给我吧!
nuoyan89
  30楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:415 积分:2896 威望:0 精华:0 注册:2020/10/9 8:45:00
  发帖心情 Post By:2022/12/15 17:59:00 [显示全部帖子]

老师,已解决,谢谢

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