以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  可否将数据表作为列表引申实现这样的功能  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=15753)

--  作者:coolbbs
--  发布时间: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
--  发布时间: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
--  发布时间: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
--  发布时间:2012/1/10 15:58:00
--  
改后的项目上传 ,各位帮忙改一下 Dim abc As String =CurrentTable.Current("第一列") abc好像取不到第一列的值
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


--  作者:狐狸爸爸
--  发布时间: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