在access2007中一个关于窗体的问题?

在access2007中,如图所示,当我在下方的搜索栏里输入客户代码时,窗体就会自动定位到该客户的资料页面。我想要实现,当我在客户代码的文本框中输入某一个客户的代码时,窗体也能定位到具体的记录上,请问应该如何操作??????

这样做是很麻烦的!其实,我个人认为使用窗体自带的“导航按钮”就很好。。
麻烦的地方:
1、要想做到输入客户代码自动跳转到对应的记录,而不是更改当前记录的客户代码。
则需要另外添加一个未绑定的文本框控件,同时设置窗体原有的“客户代码”属性为不显示。
当向未绑定的文本框输入内容时,通过代码实现查询对应记录的目的。。
2、如果实现了查询对应记录的功能,当点击导航按钮时未绑定的文本框内容并不跟着变动!
这就需设置窗体的导航按钮为不显示,然后自己添加导航按钮,并在所有导航按钮单击事件中加入:
把记录变动后的客户编码赋值给未绑定文本框的代码。。

如果你一定想实现你要的功能,你可以这样做:
1、打开窗体的设计视图,在窗体属性中,设置导航按钮的属性为“否”;
2、设置“客户编码”控件的可见性属性为“否”;
3、复制“客户编码”控件粘贴到窗体上,然后执行下面操作——
1)设置粘贴得到的文本框控件的名称属性为“客户编码1”;
2)移动“客户编码1”控件(连同其前面的标签)位置,使其覆盖原来的“客户编码”控件;
3)编写“客户编码1”控件的“更新后”[事件过程] 代码如下(懒得自己写了,借鉴下“朱家小妹”的代码,请“朱家小妹”勿怪哦。。):
Private Sub 客户代码1_AfterUpdate()
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst "[客户代码] = '" & Me.客户代码1 & "'"
Me.Bookmark = rs.Bookmark
End Sub
4、向窗体添加“转至下一项记录”、“转至上一项记录”、“转至最后一项记录”、“转至第一项记录”四个记录导航按钮,在每个导航按钮单击 事件过程] 的 DoCmd.GoToRecord , , ...这句代码下面添加一行代码。代码如下:
Me.客户代码1 = Me.客户代码
5、这样做,窗体才能按需使用。。追问

你好,我按照你说的做下来 但是做到最后一步的时候找不到你所说的那一行代码,请问这是什么问题呢?

追答

你向窗体添加“转至下一项记录”、“转至上一项记录”、“转至最后一项记录”、“转至第一项记录”这四个记录导航按钮了吗?
如果已经添加了按钮,请在每个按钮单击 [事件过程] 中找 DoCmd.GoToRecord 开头的代码

追问

你好,我按照你说了添加好了,但却没有找到你说的那个代码,我截了两张图,麻烦帮我看看这是什么情况啊?

追答

晕。。添加按钮请使用向导(一直到向导完成)。。。这样就有那行代码了。。。。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-02-25
把你的客户代码字段再复制一个,改名为客户代码1,隐藏原来的客户代码,然后在客户代码1写入以下代码.
Private Sub 客户代码1_AfterUpdate()
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst "[客户代码] = '" & Me![客户代码1] & "'"
Me.Bookmark = rs.Bookmark
End Sub追问

用这段代码并不只是跳转到指定的记录,而是修改了客户代码1的内容,我要的只是跳转的效果,就好像下方的那个搜索框的效果一样,而不修改。

追答

客户代码1本身就是用来输入用的,把它的数据源清空就行了.客户代码保留与表对应的数据源.刚才忘记说了.

追问

把客户代码1的数据源清空后,其他的的内容就不随客户代码1的改变而改变了 从而也就无法实现记录的跳转了啊,

第2个回答  2013-04-22
我叫你啊 具体问我联系:微博:2470933220本回答被提问者采纳
第3个回答  2013-02-25
Private Sub 客户代码1_change()

Me.Recordset..FindFirst "[客户代码] = '" & Me![客户代码1] & "'"

End Sub
第4个回答  2021-05-06

Access 中的窗体是一种数据库对象,可用于创建数据库应用程序的用户界面。“绑定”窗体直接连接到表或查询之类的数据源,可用于输入、编辑或显示来自该数据源的数据。或者也可以创建“未绑定”窗体。