以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  又一个副表带来的问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=39566)

--  作者:逆行舟
--  发布时间:2013/8/27 12:33:00
--  又一个副表带来的问题

如果用的主表没问题

如果用了副表,一样的代码出现问题,上图做比较

 


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

图片点击可在新窗口打开查看此主题相关图片如下:副表1.jpg
图片点击可在新窗口打开查看
第一图是主表,第二图是副表,搜出一条记录后,副表的记录窗口记录不对

 

应该搜出来是IDM收货人,结果记录窗口是一条最早记录显示那里

 

 


[此贴子已经被作者于2013-8-27 12:34:03编辑过]

--  作者:狐狸爸爸
--  发布时间:2013/8/27 12:36:00
--  
那个的记录窗口,你没有绑定到副本吧?
--  作者:逆行舟
--  发布时间:2013/8/27 12:40:00
--  


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

图片点击可在新窗口打开查看此主题相关图片如下:副表2.jpg
图片点击可在新窗口打开查看
如果搜索不到记录,主表显示无,副表第二张图显示的就是出错了

 

那个搜索框的代码我是这么写的

用主表的

Dim txt As String = e.Form.Controls("Txtsearch").Text
If txt Is Nothing Then
            Tables("bgzb").Filter = ""
        Else
Tables("bgzb").Filter = "[fph] like \'*" & txt & "*\'"
End If

 

用副表的窗口

Dim txt As String = e.Form.Controls("Txtsearch").Text
Dim tbl As Table = Tables("blinfo_Table1")
If txt = "" Then
    tbl.Filter = ""
Else
    txt = "\'*" & txt & "*\'"

tbl.Filter = "fph Like " & txt
End If

 

都写在textchanged里面

 

 

另外副表中的事件currentchanged里面也写了

Tables("bgzb").Position=Tables("BLinfo_table1").Current.Index

[此贴子已经被作者于2013-8-27 14:25:42编辑过]

--  作者:逆行舟
--  发布时间:2013/8/27 12:58:00
--  

记录窗口绑定到的是主表,下拉菜单里可选的就那几个表

怎么绑定到副表,是要用代码吗?


--  作者:Bin
--  发布时间:2013/8/27 14:14:00
--  
你没有同步筛选原来的表吧
--  作者:逆行舟
--  发布时间:2013/8/27 14:22:00
--  

Dim txt As String = e.Form.Controls("TextBox1").Text
Dim tbl As Table = Tables("blinfo_Table1")
Dim tblz As Table = Tables ("bgzb")
If txt = "" Then
    tbl.Filter = ""
    tblz.filter = ""
Else
    txt = "\'*" & txt & "*\'"
 \'   tbl.Filter = "fph Like " & txt & " Or tdh Like " & txt & " Or hth Like " & txt
tbl.Filter = "fph Like " & txt
tblz.filter = "fph Like " & txt
End If

 

写成这样子,果然同步了

但是如果没有搜索到,错误的对话框还是出现了


--  作者:Bin
--  发布时间:2013/8/27 14:24:00
--  
再判断一下是否有当前行, 没有的话就不执行 当前行同步就没问题了.
--  作者:狐狸爸爸
--  发布时间:2013/8/27 14:28:00
--  

将RecordGrid绑定到副本:

http://www.foxtable.com/help/topics/2453.htm

 

这样记录窗口和副本,就会自动同步。


--  作者:逆行舟
--  发布时间:2013/8/27 14:33:00
--  

Dim txt As String = e.Form.Controls("TextBox1").Text
Dim tbl As Table = Tables("blinfo_Table1")
Dim tblz As Table = Tables ("bgzb")
If txt = "" Then
    tbl.Filter = ""
    tblz.filter = ""
Else
    txt = "\'*" & txt & "*\'"
 \'   tbl.Filter = "fph Like " & txt & " Or tdh Like " & txt & " Or hth Like " & txt
tbl.Filter = "fph Like " & txt
tblz.filter = "fph Like " & txt
If tblz.current Is Nothing Then
messagebox.show("没搜索到")
Else
End If


End If

 

明知道不对,还是试了一下,果然不对,我卡不好这个点,代码这条应该怎么理解着写?

还是这个错误

 


--  作者:Bin
--  发布时间:2013/8/27 14:34:00
--  
直接使用狐爸的方法,绑定副本表 简单便捷.