Foxtable(狐表)用户栏目专家坐堂 → [求助]再帮看一个错误提示


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

主题:[求助]再帮看一个错误提示

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


加好友 发短信
等级:五尾狐 帖子:1172 积分:8418 威望:0 精华:0 注册:2012/10/29 20:09:00
[求助]再帮看一个错误提示  发帖心情 Post By:2014/4/28 20:48:00 [只看该作者]

在用窗口中的控件给表赋值时,提示如下图错误,麻烦帮看下。同样的代码和相似的界面,另一处这样写都没有错误。


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

代码如下:
Dim t As Table = e.Form.Controls("基层法律服务人员信息表").Table
For Each c As Col In t.Cols
    For Each ctl As WinForm.Control In e.Form.Controls
        If ctl.Name.Contains(c.Name) Then
            Select ctl.Gettype.Name
                Case "textbox","combobox","DateTimePicker"
                 t.Current(c.Name) = e.Form.Controls(ctl.Name).Value
            End Select
        End If
    Next
Next
e.Form.Controls("基层法律服务人员信息表").Table.DataTable.Save

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/28 20:56:00 [只看该作者]

 信息量不够。

 

 你有一列 A4,是逻辑类型的?对应的你在窗口里用什么控件来赋值?值又是什么?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/28 21:02:00 [只看该作者]

 猜一下,你看红色代码,改成你对应的提示值。

 

Dim t As Table = e.Form.Controls("基层法律服务人员信息表").Table
For Each c As Col In t.Cols
    If c.Name = "A4" Then
        t.Current(c.Name) = (e.Form.Controls(ctl.Name).Value = "是")
    Else
        For Each ctl As WinForm.Control In e.Form.Controls
            If ctl.Name.Contains(c.Name) Then
                Select ctl.Gettype.Name
                    Case "textbox","combobox","DateTimePicker"
                        t.Current(c.Name) = e.Form.Controls(ctl.Name).Value
                End Select
            End If
        Next
    End If
Next
e.Form.Controls("基层法律服务人员信息表").Table.DataTable.Save


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


加好友 发短信
等级:五尾狐 帖子:1172 积分:8418 威望:0 精华:0 注册:2012/10/29 20:09:00
  发帖心情 Post By:2014/4/28 21:15:00 [只看该作者]

找到问题了,原来在窗口里面还有一个5个页面,其中里面有一个设置纸张大小的,默认的就是A4纸,呵呵。这个怎么排除掉呢?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/28 21:20:00 [只看该作者]

 你说的是这个控件的值是不需要的?

 

 那么你看看这个控件的name是什么,看能否改一下,改成不同的,使这句代码不通过就行了 If ctl.Name.Contains(c.Name) Then

 

 也就是说控件的名字 不能包含列的名字,这样才能排除。

[此贴子已经被作者于2014-4-28 21:20:58编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1172 积分:8418 威望:0 精华:0 注册:2012/10/29 20:09:00
  发帖心情 Post By:2014/4/28 22:00:00 [只看该作者]

这个控件是组合框,控件名称是“选择纸张”,在这个窗口中,除了这个控件之外再也没有同名的,表中也没有这个名字的列。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/28 22:09:00 [只看该作者]

以下是引用花开的声音在2014-4-28 22:00:00的发言:
这个控件是组合框,控件名称是“选择纸张”,在这个窗口中,除了这个控件之外再也没有同名的,表中也没有这个名字的列。

 

呃,你用msgbox弹出一下两个值,看是哪两个名字出的错

 

 

               Select ctl.Gettype.Name
                    Case "textbox","combobox","DateTimePicker"

                        msgbox(c.Name & " " & ctl.Name)
                        t.Current(c.Name) = e.Form.Controls(ctl.Name).Value
                End Select


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


加好友 发短信
等级:五尾狐 帖子:1172 积分:8418 威望:0 精华:0 注册:2012/10/29 20:09:00
  发帖心情 Post By:2014/4/28 22:15:00 [只看该作者]

我改成下面的代码就没有提示错误了。
Dim t As Table = e.Form.Controls("基层法律服务人员信息表").Table
For Each c As Col In t.Cols
    For Each ctl As WinForm.Control In e.Form.Controls
        If ctl.Name <> "选择纸张" Then
            If ctl.Name.Contains(c.Name) Then
                Select ctl.Gettype.Name
                    Case "textbox","combobox","DateTimePicker"
                        't.Current(c.Name) = e.Form.Controls(ctl.Name).Checked
                        'Case Else
                        t.Current(c.Name) = e.Form.Controls(ctl.Name).Value
                End Select
            End If
        End If
    Next
Next
e.Form.Controls("基层法律服务人员信息表").Table.DataTable.Save

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


加好友 发短信
等级:五尾狐 帖子:1172 积分:8418 威望:0 精华:0 注册:2012/10/29 20:09:00
  发帖心情 Post By:2014/4/28 22:16:00 [只看该作者]

Dim t As Table = e.Form.Controls("基层法律服务人员信息表").Table
For Each c As Col In t.Cols
    For Each ctl As WinForm.Control In e.Form.Controls
        If ctl.Name <> "选择纸张" Then
            If ctl.Name.Contains(c.Name) Then
                Select ctl.Gettype.Name
                    Case "textbox","combobox","DateTimePicker"
                        t.Current(c.Name) = e.Form.Controls(ctl.Name).Value
                End Select
            End If
        End If
    Next
Next
e.Form.Controls("基层法律服务人员信息表").Table.DataTable.Save

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/28 22:19:00 [只看该作者]

 最好是改一下你的这个控件的名字 【选择纸张】

 

 你的列里面,肯定有一个叫做 纸张、选择、择纸... 类似列名


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