Foxtable(狐表)用户栏目专家坐堂 → 自定义录入


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

主题:自定义录入

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


加好友 发短信
等级:四尾狐 帖子:821 积分:6422 威望:0 精华:0 注册:2013/2/18 17:46:00
自定义录入  发帖心情 Post By:2023/10/6 14:06:00 [显示全部帖子]

图片点击可在新窗口打开查看
表格有三列,等级列填入数字10,尺寸列填入数字任意数据,比如19.25(属于>18-30范围),极限偏差列自动填入+14/+65,求代码?

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


加好友 发短信
等级:四尾狐 帖子:821 积分:6422 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2023/10/6 14:10:00 [显示全部帖子]

图片点击可在新窗口打开查看

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


加好友 发短信
等级:四尾狐 帖子:821 积分:6422 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2023/10/7 9:20:00 [显示全部帖子]

需要判断所输入的尺寸值在下拉列表中属于那个范围,比如我任意输入一个数据31.35,在一楼的列表中,应该是属于>30-50这个范围。并根据等级数据,查找到对应的极限偏差数据。

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


加好友 发短信
等级:四尾狐 帖子:821 积分:6422 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2023/10/11 13:32:00 [显示全部帖子]

有两个表,希望能从公差标准上引用极限偏差数据到尺寸表。
请问:如何才能根据在尺寸表的尺寸列内的数据,在公差标准表中找到对应的列,并予以引用。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目11.table











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


加好友 发短信
等级:四尾狐 帖子:821 积分:6422 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2023/10/11 14:10:00 [显示全部帖子]

等级要区分大小写,H7和h7如何区分?
图片点击可在新窗口打开查看

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


加好友 发短信
等级:四尾狐 帖子:821 积分:6422 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2023/10/11 14:22:00 [显示全部帖子]

等级编号是采用机械制图国家标准,能否采用代码解决?

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


加好友 发短信
等级:四尾狐 帖子:821 积分:6422 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2023/10/14 13:15:00 [显示全部帖子]

如果当前行的公差等级数值精密),极限偏差表中未能找到匹配的(粉色部分代码),就转到一般公差表中去查找,蓝版帮我看一下。

If e.DataCol.Name = "公差等级" OrElse e.DataCol.Name = "尺寸" Then '如果内容发生变动的是品名列
    If e.DataRow.IsNull("公差等级") OrElse e.DataRow.IsNull("尺寸") Then '如果新值是空白,也就是品名列的内容为空
        e.DataRow("极限偏差") = Nothing '那么清空此行单价列的内容
    ElseIf
        Dim dr As DataRow 
        
        '否则在产品表查找同名的产品行,将找到的行赋值给变量dr
        Dim cc As Double = e.DataRow("尺寸")
        Dim cn As String
        If cc <= 18 Then
            cn = "A"
        Else If cc > 18 AndAlso cc <= 30
            cn = "B"
        Else If cc > 30 AndAlso cc <= 50
            cn = "C"
        End If 
        dr = DataTables("极限偏差表").Find("[公差带] = '" & e.DataRow("公差等级") & "'") Then
        Dim idx As Integer = Tables("极限偏差表").Find(e.DataRow("公差等级"), 0, "公差带", True, True, True)
              If idx > -1 Then 
              dr = Tables("极限偏差表").rows(idx).DataRow 
              e.DataRow("极限偏差") = dr(cn)
              End If
     ElseIf
            Dim dr As DataRow 
        '否则在产品表查找同名的产品行,将找到的行赋值给变量dr
        Dim cc As Double = e.DataRow("尺寸")
        Dim cn As String
        If cc <= 18 Then
            cn = "A"
        Else If cc > 18 AndAlso cc <= 30
            cn = "B"
        Else If cc > 30 AndAlso cc <= 50
            cn = "C"
        End If 
        dr = DataTables("一般公差").Find("[公差等级] = '" & e.DataRow("公差等级") & "'") Then
        Dim idx As Integer = Tables("一般公差").Find(e.DataRow("公差等级"), 0, "公差等级", True, True, True)
              If idx > -1 Then 
              dr = Tables("一般公差").rows(idx).DataRow 
              e.DataRow("极限偏差") = dr(cn)
              End If


              
    End If
End If


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


加好友 发短信
等级:四尾狐 帖子:821 积分:6422 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2023/10/14 16:24:00 [显示全部帖子]

增加一列,要求查询到[类别][公差等级]都符合要求,代码不知道加到哪里合适?
        dr = DataTables("一般公差表").Find( "[类别] = '" & e.DataRow("类别") & "'" And "[公差等级] = '" & e.DataRow("公差等级") & "'") 
      Dim idx As Integer = Tables("一般公差表").Find(e.DataRow("公差等级"), 0, "公差等级", True, True, True)
        If idx > -1 Then 
            dr = Tables("一般公差表").rows(idx).DataRow
            e.DataRow("极限偏差") = dr(cn)

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


加好友 发短信
等级:四尾狐 帖子:821 积分:6422 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2023/10/14 20:17:00 [显示全部帖子]

蓝老师:基础太差,看了N遍教程,还是没搞懂,感觉动态合成表达式少了两个双引号。

"[产品] = '"等同于[产品] = '   Vars("产品")等同于PD01   "'"等同于'  


"[产品] = '" & Vars("产品") & "'" 不是变成[产品] = 'PD01',而不是变成"[产品] = 'PD01'"


少了两个双引号?



图片点击可在新窗口打开查看

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


加好友 发短信
等级:四尾狐 帖子:821 积分:6422 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2023/10/16 0:09:00 [显示全部帖子]

蓝老师: 标记的代码怎么写?

If e.DataCol.Name = "孔径" OrElse e.DataCol.Name = "孔深" Then '如果内容发生变动的是品名列
    If e.DataRow.IsNull("孔径") OrElse e.DataRow.IsNull("孔深") Then '如果新值是空白,也就是品名列的内容为空
       e.DataRow("钻孔时间") = Nothing '那么清空此行单价列的内容
   Else
        Dim dr As DataRow
      '否则在产品表查找同名的产品行,将找到的行赋值给变量dr
        Dim cc As Double = e.DataRow("孔深")
       Dim cn As String
        If cc <= 50 Then
            cn = "A"
        Else If cc > 50 AndAlso cc <= 100
          cn = "B"
   Else If cc > 100 AndAlso cc <= 150
            cn = "C"
       End If
        
       
       
       Dim cs As Double = e.DataRow("孔径")
    Dim css As String
        If cs <= 5 Then
           css = "≤5"
      Else If cs > 5 AndAlso cs <= 6
         css = "≤6"
       
     End If 

      dr = DataTables("查询表").Find("[孔径] = '" & dr("孔径")(css) & "'")      查找孔径列的数值等于CSS的行?

      If dr IsNot Nothing Then '如果找到了同名的产品行,也就是dr不是Nothing
            e.DataRow("钻孔时间") = dr(cn)
        
    End If
  End If
End If


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