ACCESS 2007 如何在窗体中将一个文本框的内容复制给另外一个文本框?

就是点击一个按钮,将窗体上文本框1中的内容复制到文本框2。
本以为很简单的问题,困扰了我这个新手好几天。
看网上有人说用表达式:窗体.文本框2.text = 窗体.文本框1.text
也有人说用表达式:FORMS!窗体!文本框2 = FORMS!窗体!文本框1
也有人说在上面这个表达式上加几个引号,几种都试了,点按钮就是没有任何反应……
求高手指教。

此外,关于窗体中字符型标签值的引用,这两天也搞得我一头雾水,又是双引号,又是单引号,又是&。
比如我想在一个窗体中插入一个按钮,点击此按钮后打开另外一个窗体,两个窗体的限制条件是物料号字段内容相同。按照我最初的设想,WHERE 语句直接用“物料号=物料号”即可,没想到在网上摸索了几天最终书写方式为 "[物料]=" & "'" & [物料号] & "'"
才搞定。虽然搞定了,但是依然没搞明白它的语法结构。其中这么多双引号、单引号和&到底是干啥用的?

穷人,给不了太多悬赏。但念在这是我在百度知道发的“处女提问”,望各位高手帮忙解答。不胜感谢!

假设:把文本框控件 Text1 里面的内容复制到文本框控件 Text2 中。。
如果,Text1 和 Text2 在同一个窗体,那么,代码为:
Me.Text2 = Me.Text1
如果,Text1 在窗体1中、Text2 在窗体2中,那么,代码为:
Forms.窗体2.Text2 = Me.Text1
或者
Forms!窗体2.Text2 = Me.Text1
或者
Forms!窗体2!Text2 = Me.Text1

注意:必须用你的窗体和控件的实际名称替换代码中的名称!其中的 Me 代表当前窗体。
要养成使用 Me 的习惯,当你输入 Me. 时,程序会自动给出关键字,能够节省我们很多时间。。

符号的简要说明:
1、英文状态的小数点,标示其后面连接的是窗体或控件的属性。当然,数值中的小数点除外。
比如:Forms.窗体2.Text2 是说 所有窗体Forms 中的 窗体2 里面的 Text2 控件。
2、英文状态的双引号总是成对出现,一般用来表示引用文本。
比如:Me.Text1 = "波涛工作室"
上面这句代码是把文本字符串“波涛工作室”赋值给 Text1 文本框。

3、英文状态的单引号:如果是单个单引号,则表示对语句的解释说明,他不是可执行代码,只是帮助程序员理解语句的作用;如果是成对的单引号,则表示引用文本,但是他只能在英文状态的双引号内部使用。
比如:Me.Text1 = '波涛工作室'
上面的代码是错误的!数据库会把 波涛工作室' 看作是解释说明。下面这句则是正确的。
"[物料号]='" & 物料号 & "'"
他的意思是表字段【物料号】等于窗体控件【物料号】中的文本。
你问题中的代码 "[物料号]=" & "'" & [物料号] & "'" 可以简写为上面那句代码。

4、英文状态的中括号总是成对出现,表示他里面的内容为表字段名称、窗体控件名称等。
比如:"[物料号]='" & Me.物料号 & "'"
前面的【物料号】是表字段名称,后面的【物料号】是窗体控件名称。
前面的中括号不可省,否则会被看作是窗体控件名称。窗体控件的中括号可以省略。

5、英文状态的连接符& :
1)当连接符单个出现时,表示把连接符前后的内容连起来。
比如:Me.Text1 = "波涛工作室," & Me.Text2
执行上面的代码,Text1 控件中的内容会显示为:波涛工作室, 加上控件 Text2 中的内容。
假如 Text2 控件中的内容为:你好!
那么,执行上面的代码后,Text1 控件中的内容会显示为:波涛工作室,你好!
2)当连接符成对出现时,表示其内部的内容为变量或控件名称。
比如:"[物料号]='" & Me.物料号 & "'"
连接符 & 之间的内容 Me.物料号 就是控件名称。
再比如:下面为按钮控件 Command1 的单击代码
Private Sub Command1_Click()
Dim i As Integer
For i = 1 To 10
MsgBox "我是:" & i & ""
Next i
End Sub
单击按钮,会依次出现 我是:1 、我是:2 …… 我是:10 的提示框。
注意,其中的 MsgBox "我是:" & i & "" 可以简写为 MsgBox "我是:" & i
请通过对比 MsgBox "我是:" & i & "" 和 MsgBox "我是:" & i
仔细体会一下单个连接符和成对连接符的用法。。

写在最后的话,学会特殊符号的用法,尤其是双引号、单引号的用法是非常重要的!否则,经常会因为一个小小的符号,导致代码无法正确执行。。而学习符号的用法,必须勤于动手、动脑、动心,没有任何捷径可走。。追问

感谢!

但是复制的问题还是解决不了。详细说一下:

如下图,我所建立的窗体名称为“备件包清理”,来源于“SAP物料信息”和“备件包信息”两个表。两个表的管理字段是“物料号”,两个表中都有500多条数据。

我想实现的功能是,逐条审核数据,发现“SAP物料信息”中的数据没有问题的,直接点“复制”,复制到“备件包清理”中,有问题的手工修改。

“复制”按钮单机事件代码如下:

追答

嗯,你这样肯定是无法复制成功的!

因为你的【英文物资描述_采购标准包】控件不但已经和【备件包信息】表绑定了,而且数据来源基于两个表的查询。。

这样,就不再单纯是向控件内复制数据,而是向已经建立了表关系的表中更新数据了。

总之,你的窗体设置有问题!你需要把来源于【备件包信息】的部分单独建立窗体,并不这个窗体作为你图中窗体的子窗体来使用。。

然后在按钮事件中执行下面的代码才可以:

子窗体名称.Form.英文物资描述_采购标准包 = Me.英文物资描述

注意:必须用子窗体的真实名称替换上面代码中的【子窗体名称】

 

下面是一个带子窗体的图例:

其中,代码、姓名和按钮是主窗体控件,id、xm是子窗体控件

图中,我通过使用按钮命令,把主窗体的第3条记录复制到了子窗体。

温馨提示:答案为网友推荐,仅供参考
相似回答