Foxtable(狐表)用户栏目专家坐堂 → 字符转换问题


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

主题:字符转换问题

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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
字符转换问题  发帖心情 Post By:2023/6/21 12:47:00 [只看该作者]

Select Case e.DataCol.name
    Case "编号", "数量", "日期"
        Dim bh As String
        Dim sl As Double
        Dim rx As Date
        
        If e.DataCol.Name = "编号" Then
            bh = e.NewValue
            sl = e.DataRow("数量")
            rx = e.DataRow("日期")
            
        Else
            sl = e.NewValue
            rx = e.DataRow("日期")
            bh = e.DataRow("编号")
            
            
            
        End If
        If bh > "" AndAlso sl > "" AndAlso rx > ""Then
            Dim dr As DataRow = e.DataRow
            If e.DataTable.Find("编号 = '" & bh & "' And 数量 = '" & sl & "'And 日期 = '" & rx & "'") IsNot Nothing Then
                
                MessageBox.Show("已经存在相同型号和规格的行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
                e.Cancel = True
            End If
        End If
End Select


上面代码报错,提示字符转换问题,在哪里转换,如何转换?谢谢

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


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


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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/6/21 14:35:00 [只看该作者]

改了,没报错,但无法实现,禁止重复值录入,如何解决?

'DataColChanging



导入
Dim dr3 As DataRow = Tables("表A").Current.DataRow
For Each r As Row In Tables("导入窗口_表A").GetCheckedRows '
    Dim nma() As String = {"编号", "型号", "规格", "数量", "日期"} '
    Dim nmb() As String = {"编号", "型号", "规格", "数量", "日期"} '
    
  
        
        Dim dr As Row = Tables("表B").AddNew '
        For i As Integer = 0 To nma.Length - 1
            dr(nmb(i)) = r(nma(i))
        Next
        
    End If 
Next

[此贴子已经被作者于2023/6/21 16:32:46编辑过]

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


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

没有认真看帮助,代码放到DataColChanged,不是DataColChanging

导入代码也不正确,基本都没有理解帮助的代码逻辑

    Dim nma() As String = {"编号", "型号", "规格", "数量", "日期"} '
    Dim nmb() As String = {"编号", "型号", "规格", "数量", "日期"} '
For Each r As Row In Tables("导入窗口_表A").GetCheckedRows '
-----------------------
这个帮助建议先看个10遍:http://www.foxtable.com/webhelp/topics/1284.htm

表达式中的日期用符号#括起来,数值则不需要任何符号括起来,这些和代码中的格式是一样的,唯一不同的是字符串用单引号括起来。

例如:

Tables("订单").Filter = "[产品] = 'PD01'"  '字符用单引号括起来
Tables("订单").Filter = "[日期] = #3/17/1999#"  '日期用#括起来
Tables("订单").Filter = "[折扣] = 0.1"  '数值直接使用

-----------------------

    If DataTables("表B").Find("编号 = '" & r("编号") & "' And 数量 = " & r("数量") & " And 日期 = #" & r("日期") & "#") Is Nothing Then
        
        Dim dr As Row = Tables("表B").AddNew '
        For i As Integer = 0 To nma.Length - 1
            dr(nmb(i)) = r(nma(i))
        Next
        
    End If 
Next

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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/6/21 15:36:00 [只看该作者]

导入重复没导入,也没提示,如何实现导入时发现重复,重复i 导入,并提示有已有存在相同产品?

   If DataTables("表B").Find("编号 = '" & r("编号") & "' And 数量 = " & r("数量") & " And 日期 = #" & r("日期") & "#") Is Nothing Then
        
        Dim dr As Row = Tables("表B").AddNew '
        For i As Integer = 0 To nma.Length - 1
            dr(nmb(i)) = r(nma(i))
        Next
        
    End If 
MessageBox.Show("已经存在相同型号和规格的行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)  加在这里不对,一直提示
Next

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


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

参考:http://www.foxtable.com/webhelp/topics/0223.htm,理解一下什么叫双分支形式

 回到顶部