Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共5 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

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

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

5楼
狐狸爸爸 发表于: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
共5 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03027 s, 4 queries.