Foxtable(狐表)用户栏目专家坐堂 → 可否将数据表作为列表引申实现这样的功能


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

主题:可否将数据表作为列表引申实现这样的功能

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


加好友 发短信
等级:幼狐 帖子:54 积分:809 威望:0 精华:0 注册:2009/2/6 9:08:00
可否将数据表作为列表引申实现这样的功能  发帖心情 Post By:2012/1/10 12:58:00 [只看该作者]

想实现以下效果
第一列已经录入内容,第二列在录入内容时按下F3键 弹出列表窗口实现加载 行政区域表 省市 LIKE 第一列 and 县市 like 第二列正在输入的内容的行 ,点选后表A的第一列内容=点选列的省市 第二列内容=点选的县市列
ChangeEdit事件代码设置成这样会出错 【第一列已输入内容,数据录入光标现在是第二列】
If Forms("窗口1").Opened Then
Dim txt As String = e.Text
Dim abc As String =CurrentTable.Current("第一列")
Dim tbl As Table = Tables("窗口1_Table1")
If txt = "" Then
tbl.Filter = ""
Else
If txt.contains("*")
txt = "'*" & txt.replace("*","[*]") & "*'" '
Else
txt = "'*" & txt & "*'"
End If
tbl.Filter = "省市 Like " & txt & " and 县市 Like " & abc & ""
End If
End If
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:ok数据表作为列表.table


图片点击可在新窗口打开查看此主题相关图片如下:aaaaaaaaaaaaa.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2012-1-10 13:03:40编辑过]

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57596 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/1/10 13:22:00 [只看该作者]

If Forms("窗口1").Opened Then
    Dim txt As String = e.Text
    Dim abc As  String =CurrentTable.Current("第二列")
    Dim tbl As Table = Tables("窗口1_Table1")
    If txt = "" Then
        tbl.Filter = ""
    Else
        If txt.contains("*")
            txt =  "'*" & txt.replace("*","[*]") & "*'"    '
        Else
            txt = "'*" & txt & "*'"
        End If
        tbl.Filter = "省市 Like " & txt & " And 县市 Like '*" & abc & "*'"
    End If
End If

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


加好友 发短信
等级:幼狐 帖子:54 积分:809 威望:0 精华:0 注册:2009/2/6 9:08:00
  发帖心情 Post By:2012/1/10 15:16:00 [只看该作者]

终于可以实现在第二列编辑时按下F3出列表窗口功能了,但是无法实现tbl.Filter = "省市 Like " & txt & " And 县市 Like '*" & abc & "*'" 这一功能
最终想实现 第一列已经录入内容,第二列在录入内容时按下F3键 弹出列表窗口实现加载 行政区域表 省市 LIKE 第一列 and 县市 like 第二列正在输入的内容的行
请教各位修改代码成怎么样能实现?
以下为使用的表属性事件及代码
-------------------------------------------------------
保留AfterEdit
Forms("窗口1").Close()
--------------------------------------------------------
新增表事件
'表事件-KeyDownEdit
If e.Col.Name = "第二列" Then
If e.keycode = keys.f3
Forms("窗口1").open()
End If
End If
If Forms("窗口1").Opened Then
Dim txt As String = e.Text
Dim abc As String =CurrentTable.Current("第一列")
Dim tbl As Table = Tables("窗口1_Table1")
If txt = "" Then
tbl.Filter = ""
Else
If txt.contains("*")
txt = "'*" & txt.replace("*","[*]") & "*'" '
Else
txt = "'*" & txt & "*'"
End If
tbl.Filter = "省市 Like " & abc & " and 县市 Like '*" & txt & "*'"
End If
End If
[此贴子已经被作者于2012-1-10 15:49:53编辑过]

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


加好友 发短信
等级:幼狐 帖子:54 积分:809 威望:0 精华:0 注册:2009/2/6 9:08:00
  发帖心情 Post By:2012/1/10 15:58:00 [只看该作者]

改后的项目上传 ,各位帮忙改一下 Dim abc As String =CurrentTable.Current("第一列") abc好像取不到第一列的值
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


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


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/1/10 16:13:00 [只看该作者]

'表事件-编辑-KeyDownEdit
If e.Col.Name = "第二列"  Then
    If e.keycode = keys.f3
        Forms("窗口1").open()
    End If
End If
If Forms("窗口1").Opened Then
    Dim txt As String = e.Text
    Dim abc As  String = e.Row("第一列")
    Dim tbl As Table = Tables("窗口1_Table1")
    Dim flt As String
    If txt > "" Then
        If txt.contains("*")
            txt =  "'*" & txt.replace("*","[*]") & "*'"    '
        Else
            txt = "'*" & txt & "*'"
        End If
        flt = "县市 Like " & txt
    End If
    If abc > "" Then
        If abc.contains("*")
            abc =  "'*" & abc.replace("*","[*]") & "*'"    '
        Else
            abc = "'*" & abc & "*'"
        End If
        If flt > "" Then
            flt = flt & " And "
        End If
        flt = flt &  "省市 Like " & abc
    End If
    tbl.Filter = flt
End If

 回到顶部