在Access数据库窗体中怎么实现一个文本框中输入内容,在另一个文本框中自动显示其内容

在Access数据库窗体中怎么实现一个文本框中输入内容,在另一个文本框中自动显示其内容。或许这个问题没表述清楚!如在窗体中有图号和单件定额这个两项内容,怎样才能实现输入了图号的内容,在单件定额中自动显示出对应的内容呢?!请各位高手帮我指点一二!
回复次数:16
  • wwwwb用户头像
  • wwwwb
  • 等 级:
  • 9
    10
    16
#1楼 得分:0回复于:2007-07-27 07:16:22
很多种方法,比如
SELECT   单件定额   FROM   TT   WHERE   图号=FORM!FORM1!图号
OR
假设图号为字符型
DLOOKUP( '单件定额 ', 'TT ', '图号= " '   &   图号   ' " ')
  • wwwwb用户头像
  • wwwwb
  • 等 级:
  • 9
    10
    16
#2楼 得分:0回复于:2007-07-27 08:12:00
设置另一个文本框的控件来源为上述代码即可
  • wwwwb用户头像
  • wwwwb
  • 等 级:
  • 9
    10
    16
#3楼 得分:0回复于:2007-07-27 08:12:37
在一个文本框的AFTER_UPDATE事件中
设置另一个文本框的控件来源为上述代码即可
#4楼 得分:0回复于:2007-07-27 09:56:16
用VBA实现。

在图号的更新后事件中,填写VBA代码,获取图号对应的内容,在单件定额中显示出来。

根据图号从什么地方获取对应的内容?

如果从表中,可以有多种方式,用域函数、或用记录集打开等等
#5楼 得分:30回复于:2007-07-27 13:24:10
假设你的图号文本框控件名为:txt图号

则在图号控件的更新后事件中填写代码,如下:

Private   Sub   txt图号_AfterUpdate()
        Me.txt单件定额.Value   =   DLookup( "单件定额 ",   "表名 ",   "图号= ' "   &   Me.txt图号   &   " ' ")

End   Sub
#6楼 得分:30回复于:2007-07-27 13:28:35
--或者:

假设你的图号文本框控件名为:txt图号

则在图号控件的更新后事件中填写代码,如下:

Private   Sub   txt图号_AfterUpdate()
       
        Dim   Rst   As   New   ADODB.Recordset
       
        Rst.Open   "select   单件定额   from   表名   where   图号= ' "   &   Me.txt图号   &   " ' ",   CurrentProject.Connection
       
        If   Not   Rst.EOF   Then
                Me.txt单件定额.Value   =   Rst!单件定额
        Else
                Me.txt单件定额.Value   =   Null
        End   If
       
End   Sub
#7楼 得分:0回复于:2007-07-30 18:57:11
则在图号控件的更新后事件中填写代码,如下:

Private   Sub   txt图号_AfterUpdate()
       
        Dim   Rst   As   New   ADODB.Recordset
       
        Rst.Open   "select   单件定额   from   表名   where   图号= ' "   &   Me.txt图号   &   " ' ",   CurrentProject.Connection
       
        If   Not   Rst.EOF   Then
                Me.txt单件定额.Value   =   Rst!单件定额
        Else
                Me.txt单件定额.Value   =   Null
        End   If
       
End   Sub
提示:编译错误     用户定义类型未定义     这句被选重“Rst   As   New   ADODB.Recordset”
请帮我再看看,谢谢!
第一个方法可以,但,如果项目表中没图号的数据资料,在图号中输入的项目表中没有的数据资料就会报错。
#8楼 得分:0回复于:2007-07-30 19:04:42
引用ADO。
#9楼 得分:10回复于:2007-07-30 21:44:48

--> 工具菜单
--> 宏
--> Visual   Basic   编辑器
--> 在新打开的Microsoft   Visual   Basic   代码窗口中,“工具”菜单
--> “引用”菜单项
--> 选中“Microsoft   ActiveX   Data   Objects   2.*   Library”,确定即可。
  • wwwwb用户头像
  • wwwwb
  • 等 级:
  • 9
    10
    16
#10楼 得分:20回复于:2007-07-31 07:46:35
提示:编译错误   用户定义类型未定义   这句被选重“Rst   As   New   ADODB.Recordset”
没有引用ADO,进入窗体-> 设计-> 代码-> 引用-> Microsoft   ActiveX   Data   Objects   2.*   Library
#11楼 得分:10回复于:2007-07-31 12:24:13
Access   2000、Access   XP、Access   2003都默认引用了ADO.*。

出现这种错误,可能是丢失了引用。

重新引用一下即可:

--> 工具菜单
--> 宏
--> Visual   Basic   编辑器
--> 在新打开的Microsoft   Visual   Basic   代码窗口中,“工具”菜单
--> “引用”菜单项
--> 选中“Microsoft   ActiveX   Data   Objects   2.*   Library”,确定即可。


#12楼 得分:0回复于:2007-07-31 22:03:32
我昨天就试过了,还是一样,不知为什么
#13楼 得分:0回复于:2007-07-31 22:11:21


或者新建一个MDB,将原来文件中的所有对象都导入到新的MDB中试试。

#14楼 得分:0回复于:2007-07-31 22:44:43
引用ADO或ADODB都可行!问题出在我选择是2.1版本,我刚才发现后面还有几个高版本,我就选择了一个最高的那个版本就可行!谢谢楼上两位!我的分值好像只能分配给其中的一位,我那就把分值给说得最多的那位了!同时谢谢另一位朋友的教导!你们回复得很快,是不是这个版块的版主呢?!
#15楼 得分:0回复于:2007-07-31 22:50:49
哈哈!原来可以拆分,那就每个朋友都分一点吧!多出力的多给些!再次谢谢两位朋友!!有问题再请教你们!
#16楼 得分:0回复于:2007-08-01 12:39:21
7   wangtiecheng     459   不知不为过,不学就是错!【/+〆=ろ】   你上榜了嘛还排名不错麻
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章