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

时间:2022-09-22 19:08:45
在Access数据库窗体中怎么实现一个文本框中输入内容,在另一个文本框中自动显示其内容。或许这个问题没表述清楚!如在窗体中有图号和单件定额这个两项内容,怎样才能实现输入了图号的内容,在单件定额中自动显示出对应的内容呢?!请各位高手帮我指点一二!

16 个解决方案

#1


很多种方法,比如
SELECT 单件定额 FROM TT WHERE 图号=FORM!FORM1!图号
OR
假设图号为字符型
DLOOKUP('单件定额','TT','图号="' & 图号 '"')

#2


设置另一个文本框的控件来源为上述代码即可

#3


在一个文本框的AFTER_UPDATE事件中
设置另一个文本框的控件来源为上述代码即可

#4


用VBA实现。

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

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

如果从表中,可以有多种方式,用域函数、或用记录集打开等等

#5


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

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

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

End Sub

#6


--或者:

假设你的图号文本框控件名为: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


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

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


引用ADO。

#9



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

#10


提示:编译错误 用户定义类型未定义 这句被选重“Rst As New ADODB.Recordset”
没有引用ADO,进入窗体->设计->代码->引用->Microsoft ActiveX Data Objects 2.* Library

#11


Access 2000、Access XP、Access 2003都默认引用了ADO.*。

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

重新引用一下即可:

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


#12


我昨天就试过了,还是一样,不知为什么

#13




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

#14


引用ADO或ADODB都可行!问题出在我选择是2.1版本,我刚才发现后面还有几个高版本,我就选择了一个最高的那个版本就可行!谢谢楼上两位!我的分值好像只能分配给其中的一位,我那就把分值给说得最多的那位了!同时谢谢另一位朋友的教导!你们回复得很快,是不是这个版块的版主呢?!

#15


哈哈!原来可以拆分,那就每个朋友都分一点吧!多出力的多给些!再次谢谢两位朋友!!有问题再请教你们!

#16


7 wangtiecheng  459 不知不为过,不学就是错!【/+〆=ろ】 你上榜了嘛还排名不错麻

#1


很多种方法,比如
SELECT 单件定额 FROM TT WHERE 图号=FORM!FORM1!图号
OR
假设图号为字符型
DLOOKUP('单件定额','TT','图号="' & 图号 '"')

#2


设置另一个文本框的控件来源为上述代码即可

#3


在一个文本框的AFTER_UPDATE事件中
设置另一个文本框的控件来源为上述代码即可

#4


用VBA实现。

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

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

如果从表中,可以有多种方式,用域函数、或用记录集打开等等

#5


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

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

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

End Sub

#6


--或者:

假设你的图号文本框控件名为: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


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

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


引用ADO。

#9



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

#10


提示:编译错误 用户定义类型未定义 这句被选重“Rst As New ADODB.Recordset”
没有引用ADO,进入窗体->设计->代码->引用->Microsoft ActiveX Data Objects 2.* Library

#11


Access 2000、Access XP、Access 2003都默认引用了ADO.*。

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

重新引用一下即可:

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


#12


我昨天就试过了,还是一样,不知为什么

#13




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

#14


引用ADO或ADODB都可行!问题出在我选择是2.1版本,我刚才发现后面还有几个高版本,我就选择了一个最高的那个版本就可行!谢谢楼上两位!我的分值好像只能分配给其中的一位,我那就把分值给说得最多的那位了!同时谢谢另一位朋友的教导!你们回复得很快,是不是这个版块的版主呢?!

#15


哈哈!原来可以拆分,那就每个朋友都分一点吧!多出力的多给些!再次谢谢两位朋友!!有问题再请教你们!

#16


7 wangtiecheng  459 不知不为过,不学就是错!【/+〆=ろ】 你上榜了嘛还排名不错麻