以文本方式查看主题

-  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=11645)

--  作者:yacity
--  发布时间:2011/8/6 7:08:00
--  请教关于“自定义录入界面之二”,可否一次填充多个单元格

请教一下关于 “自定义录入界面之二”的问题,可否一次填充多个单元格?

教程地址

 

http://www.foxtable.net/help/topics/2116.htm

 

图片如下:

 

假如我记不住客户id ,我想在订单表中 增加 公司名称,联系人。

然后使用这个 “自定义录入界面之二”的功能,但是回车的时候一次性填充,“客户id”、“公司名称”、“联系人”。

可否实现?

 

关键代码是不是这个:

 

 

Dim tbl As Table = Tables("窗口1_Table1")
If
tbl.Current IsNot Nothing Then
    Forms(
"窗口1").DropDownBox.Value = tbl.Current("客户ID")
End
If
Forms(
"窗口1"
).DropDownBox.CloseDropDown()

 

 

如何修改?

[此贴子已经被作者于2011-8-6 7:11:49编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/8/6 8:25:00
--  
Dim tbl As Table = Tables("窗口1_Table1")
If tbl.Current IsNot Nothing Then
       Forms("窗口1").DropDownBox.Value = tbl.Current("客户ID")
       tables("XXX").Current("YYY1") = tabl.Current("YYY1")
       tables("XXX").Current("YYY2") = tabl.Current("YYY2")
       tables("XXX").Current("YYY3") = tabl.Current("YYY3")
End If
Forms("窗口1").DropDownBox.CloseDropDown()


--  作者:yacity
--  发布时间:2011/8/6 10:59:00
--  

谢谢 管理员。貌似这样弄的。

可是不行呢

 


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

tabl is not declared

 

是不是在 第4步 “将Table控件的DoubleClick事件设置为:” 这里 设置的?怎么不行呀?

 


--  作者:blackzhu
--  发布时间:2011/8/6 12:18:00
--  
Dim tbl As Table = Tables("窗口1_Table1")
If tbl.Current IsNot Nothing Then
       Forms("窗口1").DropDownBox.Value = tbl.Current("客户ID")
       tables("XXX").Current("YYY1") = tbl.Current("YYY1")
       tables("XXX").Current("YYY2") = tbl.Current("YYY2")
       tables("XXX").Current("YYY3") = tbl.Current("YYY3")
End If
Forms("窗口1").DropDownBox.CloseDropDown()

狐爸手误,tabl应该是tbl

--  作者:yacity
--  发布时间:2011/8/6 17:36:00
--  

应该可以了。谢谢~!!

不过好像不太稳定。刚填完代码的时候不行。重启foxtale就可以了。

 

还有一个 问题

第4步  :“将Table控件的DoubleClick事件设置为:

 

Dim tbl As Table = Tables("窗口1_Table1")
If tbl.Current IsNot Nothing Then
       Forms("窗口1").DropDownBox.Value = tbl.Current("客户ID")
       tables("XXX").Current("YYY1") = tbl.Current("YYY1")
       tables("XXX").Current("YYY2") = tbl.Current("YYY2")
       tables("XXX").Current("YYY3") = tbl.Current("YYY3")
End If
Forms("窗口1").DropDownBox.CloseDropDown()

 
这其中 Table控件的DoubleClick ,意思是 table的双击鼠标事件吗?
总是不停地从键盘鼠标切换,多有不方便,
可不可以用键盘 Enter 来代替DoubleClick呢?
该怎么弄? 

[此贴子已经被作者于2011-8-6 18:37:43编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/8/7 8:25:00
--  
设置keydown事件
--  作者:yacity
--  发布时间:2011/8/7 11:49:00
--  

窗口中绑定一个表,如何过滤表中的数据?

比如

教程中

http://www.foxtable.net/help/topics/1534.htm

 

一、 

1、首先在订单表新增一个窗口,窗口类型为模式,窗口插入一个TextBox和一个Table控件,Table控件的“作为副本”属性设置为True,“允许编辑”属性设置为False,并绑定到客户表

 

绑定客户表以后 我如果不想让某行显示怎么办?比如说客户表中有某一列 是isstop 是判断该客户是否停用的,我想让 isstop =1 的客户不显示在表中(即只显示 isstop=0 的客户),怎么办?

 

 

 

 

 

 二、假如我的代码如下

 

sql="select  *  from  customer where ("客户ID Like " & txt & " Or 公司名称 Like " & txt & " Or 地址 Like " & txt & " Or 联系人 Like " & txt) and leveal=2 and deleted=0 and isstop=0  order by 客户id desc"

可否在第2步这里设置

2、将TextBox1的TextChanged事件代码设为:

Dim txt As String = e.Form.Controls("TextBox1").Text
Dim tbl As Table = Tables("窗口1_Table1")

If
txt = "" Then
    tbl.Filter = ""

Else

    txt =
"\'*" & txt & "*\'"
    tbl.Filter =
"客户ID Like " & txt & " Or 公司名称 Like " & txt & " Or 地址 Like " & txt & " Or 联系人 Like " & txt
End
If

 

 

代码怎么写?

版主原谅我吧。我试过 ,不会写才来问的。

然后这样有点问题,就是 默认会显示所有的客户,只有当 触发textbox1的textchanged 事件后才会过滤掉 isstop=1的客户。显然是有点不合理的。

 

[此贴子已经被作者于2011-8-7 12:08:18编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/8/7 11:53:00
--  
Tables("窗口1_Table1").Filter = “你的条件”
--  作者:yacity
--  发布时间:2011/8/7 12:09:00
--  
哪里有这么快的 回复的?
[此贴子已经被作者于2011-8-7 12:09:40编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/8/7 12:12:00
--  
没有看懂,何不用做个简单例子传上来说明问题?