Ms access 在ms access中处理长文本的最佳实践
如果有人能解决我的问题,我将非常感激。 我是Ms Access的新手,在其基本功能方面仍有经验 我有一张桌子。其中2个字段是:ItemCode和ItemName。ItemName是一个很长的文本(备忘录类型)。我还有一个查询和一个包含许多字段的表单。表单的记录源也由许多字段组成。所有这些东西(与1个字段关联)都有相同或相似的名称,因此我无法很好地区分它们 我想要的是,当我设置ItemCode的值(在名为ItemCode的未绑定组合框或列表框中)时,ItemName的值将显示在控件(可能是文本框)中 我可以在列表框中显示它的值(通过行源中的sql查询),我对此没有问题,我在管理事件方面没有问题,但是文本非常长,并且被剪切。我理解,不幸的是列表框没有多行属性。因此,可能最适合处理的控件是文本框。也许显示值的最合适方法是在TextBox的控制源中使用DLookUp函数。但是,在这个名称相似或相同的项目海洋中,我无法处理它的语法,我一次又一次地尝试了很长时间。所以我有两个问题:Ms access 在ms access中处理长文本的最佳实践,ms-access,textbox,memo,longtext,Ms Access,Textbox,Memo,Longtext,如果有人能解决我的问题,我将非常感激。 我是Ms Access的新手,在其基本功能方面仍有经验 我有一张桌子。其中2个字段是:ItemCode和ItemName。ItemName是一个很长的文本(备忘录类型)。我还有一个查询和一个包含许多字段的表单。表单的记录源也由许多字段组成。所有这些东西(与1个字段关联)都有相同或相似的名称,因此我无法很好地区分它们 我想要的是,当我设置ItemCode的值(在名为ItemCode的未绑定组合框或列表框中)时,ItemName的值将显示在控件(可能是文本框)
DLookup
加载文本。没有其他选择。就个人而言,我宁愿使用
ItemCode
的AfterUpdate
事件,并在那里调用DLookup
,但这是一个偏好问题=DLookup("ItemName", "[my Table]", "ItemCode = '" & [ItemCode] & "'")
如果ItemCode
是文本,而不是数字,则需要单引号'
您也可以使用双引号(转义),但可读性要差得多
=DLookup("ItemName", "[my Table]", "ItemCode = """ & [ItemCode] & """")
现在[ItemCode]
来自哪里
- Access首先在名为
的表单上查找控件李>ItemCode
- 如果没有,它将在表单的记录源中查找字段
李>ItemCode
- 如果没有,它将在表单的记录源中查找字段
[ItemCode]
的唯一方法。为避免混淆,建议使用与其源字段相同的名称命名绑定控件
只有当所有内容都在同一表单上时,上述语法才有效。如果[ItemCode]
位于不同的表单上,或者您从查询中引用它,则使用
=DLookup("ItemName", "[my Table]", "ItemCode = '" & Forms![my Form]![ItemCode] & "'")
有关子窗体的更复杂情况,请参见
并在VBA中使用它(在更新后的项目代码中):
DLookup
加载文本。没有其他选择。就个人而言,我宁愿使用
ItemCode
的AfterUpdate
事件,并在那里调用DLookup
,但这是一个偏好问题=DLookup("ItemName", "[my Table]", "ItemCode = '" & [ItemCode] & "'")
如果ItemCode
是文本,而不是数字,则需要单引号'
您也可以使用双引号(转义),但可读性要差得多
=DLookup("ItemName", "[my Table]", "ItemCode = """ & [ItemCode] & """")
现在[ItemCode]
来自哪里
- Access首先在名为
的表单上查找控件李>ItemCode
- 如果没有,它将在表单的记录源中查找字段
李>ItemCode
- 如果没有,它将在表单的记录源中查找字段
[ItemCode]
的唯一方法。为避免混淆,建议使用与其源字段相同的名称命名绑定控件
只有当所有内容都在同一表单上时,上述语法才有效。如果[ItemCode]
位于不同的表单上,或者您从查询中引用它,则使用
=DLookup("ItemName", "[my Table]", "ItemCode = '" & Forms![my Form]![ItemCode] & "'")
有关子窗体的更复杂情况,请参见
并在VBA中使用它(在更新后的项目代码中):
非常感谢你!现在事情变得更加清楚和容易理解了。代码起作用了。我还没试过用“.”。但是有一件事我应该纠正,可能是因为ms access版本,我的默认值,或者是否使用vba/设计模式-函数中的分隔符是“;”-不是“,@Peter:是的,例如在德语access中,参数分隔符是;而不是,在窗体或查询中使用函数时。但不是在VBA中。非常感谢!现在事情变得更加清楚和容易理解了。代码起作用了。我还没试过用“.”。但是有一件事我应该纠正,可能是因为ms access版本,我的默认值,或者是否使用vba/设计模式-函数中的分隔符是“;”-不是“,@Peter:是的,例如在德语access中,参数分隔符是;而不是,在窗体或查询中使用函数时