Foxtable(狐表)用户栏目专家坐堂 → 接口上报,帮忙指导一下


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

主题:接口上报,帮忙指导一下

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/10/22 9:03:00 [只看该作者]

Dim dr As DataRow = e.DataRow
Dim str As String
Dim rz As String = dr("操作日志")
Dim Values() As String = {"编辑人", "编辑日期"}
If dr.RowState <> DataRowState.Added Then '如果不是新增行
    For Each c As DataCol In e.DataTable.DataCols '遍历当前表中的列
        If Array.IndexOf(Values, c.Name) = -1 Then
            If dr(c.Name) <> dr.OriginalValue(c.Name) Then
                str = str & "【" & c.Name & "】:" & dr(c.Name)
            End If
        End If
    Next
    dr("操作日志") = rz & vbcrlf & "操作人:" & User_ReName & "-操作电脑:" & ComputerId & "-操作时间:" & Date.Now & " " & str 
End If

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/10/22 9:15:00 [只看该作者]

调试看是卡在哪一句代码

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


加好友 发短信
等级:三尾狐 帖子:653 积分:7741 威望:0 精华:0 注册:2015/8/24 9:02:00
  发帖心情 Post By:2022/11/7 20:08:00 [只看该作者]

当前行选中后,跟当前行名称一样的行全部选中


With Tables("证件上网人员查找_全部人员").Current '引用当前行
    Dim bh As String = Tables("证件上网人员查找_全部人员").Current("名称")
    If .IsNull("名称") = bh Then
        .Checked = True
    Else
        .Checked = False
    End If
End With

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/11/7 20:39:00 [只看该作者]

遍历所有行逐行判断:http://www.foxtable.com/webhelp/topics/1438.htm

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


加好友 发短信
等级:三尾狐 帖子:653 积分:7741 威望:0 精华:0 注册:2015/8/24 9:02:00
  发帖心情 Post By:2023/1/2 19:11:00 [只看该作者]

dr("二级窗口禁止输入") = "产品编号","产品名称","产品类别","规格","单位"

'记录窗口
Dim dr As DataRow = vars("记录窗口").Find("记录窗口名称='销售出库单'")  '变量查找
If dr IsNot Nothing Then
    Dim rd As String = dr("二级窗口禁止输入")
    If rd >"" Then
        Dim Names As String() = dr("二级窗口禁止输入")
        For Each Nam As String In Names
            If e.Table.Cols(e.Table.ColSel).Name = Nam Then
                e.cancel = True
            End If
        Next        
    End If    
End If


禁止红字列输入


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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/1/2 20:34:00 [只看该作者]

    If rd >"" Then
        Dim Names As String() = rd.split(",")

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


加好友 发短信
等级:三尾狐 帖子:653 积分:7741 威望:0 精华:0 注册:2015/8/24 9:02:00
  发帖心情 Post By:2023/1/4 20:38:00 [只看该作者]

SE LECT   b._Identify, b._Locked, b._SortKey, b.创建人, b.创建日期, b.编辑人, b.编辑日期, b.产品编号, b.产品名称, b.产品类别, 
                b.规格, b.单价, b.单位, b.产品条码, b.备注, b.图片, b.性质, b.负责人, b.负责人编号, b.供应商, b.供应商编号, c.仓库, 
                c.入库数量, c.出库数量, c.库存数量, b.类别, b.装箱数, b.产品型号, b.产品颜色, b.客户名称, b.作废标志, b.累计销售, 
                b.操作日志, b.创建人编号, b.当前操作人, c.库存金额
FROM      dbo.ZL_产品资料 AS b RIGHT OUTER JOIN
                    (SE LECT   MAX(_identify) AS _identify, 产品编号, 仓库, SUM(入库数量) AS 入库数量, SUM(出库数量) AS 出库数量, 
                                     SUM(入库数量 - 出库数量) AS 库存数量, SUM(入库数量 - 出库数量) * b.单价 AS 库存金额
                     FROM      dbo.V_YW_库存明细 AS a
                     GROUP BY 产品编号, 仓库) AS c ON c.产品编号 = b.产品编号

红色部门加上去不能保存,提示:无法绑定由多个部分组成的标识符”b.单价“

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


加好友 发短信
等级:三尾狐 帖子:653 积分:7741 威望:0 精华:0 注册:2015/8/24 9:02:00
  发帖心情 Post By:2023/1/6 8:34:00 [只看该作者]

    Dim c md As New SQ LCommand
    cm d.C
    cm d.CommandText = "se lect * from YW_出入库明细 where 1=2"
    Dim ddt As DataTable = c md.ExecuteReader()
    Dim er As DataRow = ddt.AddNew()
    For Each dr As DataRow In DataTables("生产出库单_table2").DataRows        
        For Each dc As DataCol In ddt.DataCols
            er(dc.Name) = dr(dc.Name)
        Next
        er("数量") =  dr("数量") * (-1)
        er("摘要") = "生产出库反审核"
        er.Save
    Next


将表"生产出库单_table2"的数据复制到“YW_出入库明细”中无效

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/1/6 8:49:00 [只看该作者]

SE LECT   b._Identify, b._Locked, b._SortKey, b.创建人, b.创建日期, b.编辑人, b.编辑日期, b.产品编号, b.产品名称, b.产品类别, 
                b.规格, b.单价, b.单位, b.产品条码, b.备注, b.图片, b.性质, b.负责人, b.负责人编号, b.供应商, b.供应商编号, c.仓库, 
                c.入库数量, c.出库数量, c.库存数量, b.类别, b.装箱数, b.产品型号, b.产品颜色, b.客户名称, b.作废标志, b.累计销售, 
                b.操作日志, b.创建人编号, b.当前操作人, c.库存金额,c.数量差 * b.单价 AS 库存金额
FROM      dbo.ZL_产品资料 AS b RIGHT OUTER JOIN
                    (SE LECT   MAX(_identify) AS _identify, 产品编号, 仓库, SUM(入库数量) AS 入库数量, SUM(出库数量) AS 出库数量, 
                                     SUM(入库数量 - 出库数量) AS 库存数量, SUM(入库数量 - 出库数量)  AS 数量差
                     FROM      dbo.V_YW_库存明细 AS a
                     GROUP BY 产品编号, 仓库) AS c ON c.产品编号 = b.产品编号

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/1/6 8:50:00 [只看该作者]

http://www.foxtable.com/webhelp/topics/0696.htm

示例五

ExecuteReader有一个可选参数,如果设置为True,那么生成的DataTable不仅可以增加、删除和修改数据,还可以保存。
新建一个文件,在命令窗口测试下面的代码,会在A的第一行的第一列写入123,并删除第二行:

Dim cmd As new SQLCommand
cmd
.ConnectionName = "数据源名称"
Dim
 dt As DataTable
cmd
.CommandText = "Select * From {表A}"
dt
 = cmd.ExecuteReader(True'记得将参数设置为True
dt
.DataRows(0)("第一列") = 123
dt
.DataRows(1).Delete()
dt
.Save()
DataTables
("表A").Load() '重新加载表A,看看值是否已经变化


 回到顶部
总数 73 上一页 1 2 3 4 5 6 7 8 下一页