Foxtable(狐表)用户栏目专家坐堂 → 窗口输入数据


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

主题:窗口输入数据

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


加好友 发短信
等级:一尾狐 帖子:470 积分:3641 威望:0 精华:0 注册:2017/11/5 14:47:00
窗口输入数据  发帖心情 Post By:2020/8/27 22:02:00 [显示全部帖子]


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


If e.KeyCode = Keys.Enter Then
    Dim nms()As String={"xiangmuMC","wanglaiDW","jingshouR","chuangjianSJ","chuangjianRID","tianbaoDH"}
    For Each nm As String In nms
        If Tables("feiyongTB").Current.Isnull(nm)=True Then
            messagebox.show("请将红色必填字段填写完整!","提醒")
            Return
        End If
    Next
    
    Dim fymx As Row = Tables("feiyongMX").AddNew
    For Each nm As String In nms
        fymx(nm)=Tables("feiyongTB").Current(nm)
    Next
End If

老师,你看一下我的这个代码,哪里有问题

我这个窗口是这样的,项目名称,往来单位 输入完毕后后,按 enter键 明细表增加一行,项目名称、往来单位等信息填入到明细表中,可是在第一行 费用名称的地方,此时单元是选中状态,可是输入筛选值,不起作用,然后 按enter键再增加一条明细,第二行费用名称下拉框自动自动可以正常用,填完信息,在 enter增加一条明细,在下拉框输入筛选值,可以,但这时 主表的 项目名称、往来单位等信息,不能再添加到明细表中了,

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


加好友 发短信
等级:一尾狐 帖子:470 积分:3641 威望:0 精华:0 注册:2017/11/5 14:47:00
  发帖心情 Post By:2020/8/27 23:15:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:成本管理v1.foxdb


老师,这个主表,明细表相同字段的添加是没有问题的,但不能是结束单元格编辑,因为后面明细筛选完毕还要按ENTER 到 数量、单价 单元格输入数值的,这是当在 数量、单元格 输入数值后也增加行,这样更乱了,老师不知道该怎么处理,你看一下窗口吧

这个是 “费用填报” 窗体


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


加好友 发短信
等级:一尾狐 帖子:470 积分:3641 威望:0 精华:0 注册:2017/11/5 14:47:00
  发帖心情 Post By:2020/8/28 9:34:00 [显示全部帖子]


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


谢谢,老师,不过还有个小问题,就是往来单位输入完毕后,已经自动增加了一行,好像  费用明细 单元格式是选中状态,可是焦点不在这里,此时输入值筛选 是 往来单位  的内容。我看过这个单个格焦点的帮助,可还是搞不明白该怎么样写

现在想实现,主表输入完毕,按Enter 后,增加的第一个明细行,焦点能转移到 费用名称单元格,请老师帮忙

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


加好友 发短信
等级:一尾狐 帖子:470 积分:3641 威望:0 精华:0 注册:2017/11/5 14:47:00
  发帖心情 Post By:2020/8/28 10:05:00 [显示全部帖子]

老师,还差一点,还有个小问题是,往来单位输入完毕后,增加的明细,有时候明细表的选中单元格在 费用名称 这里,在这里直接输入筛选内容,ok。有时候 在数量,在单价,这个时候还得用鼠标去选中 费用名称 这个单元格 ,能否设置,主表信息输入完毕后,明细表的选中单元格就固定 选择 在 费用名称 这个单元格呢

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


加好友 发短信
等级:一尾狐 帖子:470 积分:3641 威望:0 精华:0 注册:2017/11/5 14:47:00
  发帖心情 Post By:2020/8/28 10:23:00 [显示全部帖子]

谢谢老师,已完美实现

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


加好友 发短信
等级:一尾狐 帖子:470 积分:3641 威望:0 精华:0 注册:2017/11/5 14:47:00
  发帖心情 Post By:2020/8/28 20:50:00 [显示全部帖子]


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

现在进本上是方便了,能不能再进一步呢,就是 费用名称输入完毕后,费用名称,项目名称,计量单位、型号规格  等这些单元格都已经有值了,然后按ENTER键,它还是一个一个过,能不能判断按 第二次ENter 时,这个焦点单元格 在  数量,这个单元格呢。这个怎么写呢。


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


加好友 发短信
等级:一尾狐 帖子:470 积分:3641 威望:0 精华:0 注册:2017/11/5 14:47:00
  发帖心情 Post By:2020/8/29 11:07:00 [显示全部帖子]

老师,我知道还是那样设置焦点,可我却把 这个  判断 按 回车键的次数,这个怎么写呀,我在最后 写了代码,可是代码不顺序执行,请老师再次帮忙

If e.KeyCode = Keys.Enter Then
    Dim nms()As String={"xiangmuMC","wanglaiDW","jingshouR","chuangjianSJ","chuangjianRID","tianbaoDH"}
    For Each nm As String In nms
        If Tables("feiyongTB").Current.Isnull(nm)=True Then
            messagebox.show("请将红色必填字段填写完整!","提醒")
            Return
        End If
    Next
    '焦点获取
    e.form.controls("table1").Select()
    With Tables("feiyongMX")
        .Select(.RowSel, .Cols("feiyongMC").Index)
    End With
    '焦点获取
    e.cancel=True
    Tables("feiyongMX").FinishEditing
    
    
    Dim fymx As Row = Tables("feiyongMX").AddNew
    For Each nm As String In nms
        fymx(nm)=Tables("feiyongTB").Current(nm)
    Next
    
End If

'With Tables("feiyongMX")
    '.Select(.RowSel, .Cols("danjia").Index)
'End With

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


加好友 发短信
等级:一尾狐 帖子:470 积分:3641 威望:0 精华:0 注册:2017/11/5 14:47:00
  发帖心情 Post By:2020/8/29 11:29:00 [显示全部帖子]

老师,我把代码写在了下面位置,当选择后,这三项已经有 值了,可按了 回车键 ,还是从有值得单元格,一个一个过,不能直接跳到 想要到的单元格,还得怎么处理

If e.Col.Name = "feiyongMC" Then '如果编辑的是客户 ID列
    If e.Col.DroppedDown Then '如果下拉窗口已经打开
        Dim tbl As Table = Tables("费用下拉选择_Table1")
        If e.KeyCode = Keys.Up Then '如果按下的是上箭头按键
            tbl.Position = tbl.Position - 1 '向上移动一行
            e.Cancel = True
        ElseIf e.KeyCode = Keys.Down Then '如果按下的是下箭头按键
            tbl.Position = tbl.Position + 1 '向下移动一行
            e.Cancel = True
        ElseIf e.KeyCode = Keys.Enter Then
            If tbl.Current IsNot Nothing Then
                Tables("feiyongMX").Current("feiyongMC")  = tbl.Current("feiyongMC")
                Tables("feiyongMX").Current("jiliangDW")  = tbl.Current("jiliangDW")
                Tables("feiyongMX").Current("xinghaoGG")  = tbl.Current("xinghaoGG")

With Tables("feiyongMX")
    .Select(.RowSel, .Cols("danjia").Index)
End With
            End If
        End If
    End If
End If



 回到顶部