MS Access 2016:避免多次输入相同的数据

时间:2019-07-11 05:27:01

标签: vba ms-access

我的一张桌子跟踪已分配给不同客户的资产。例如,我有一个名为“ Location”的字段,该字段是设备列表,一个字段名为“ Customer”

“位置”的第1个2或3个字母对于客户名称是唯一的,例如,假设客户名称为“关于客户的所有”,我的位置将是AAC001,AAC002,等等。序列将无限期地继续。< / p>

添加记录时,我将键入AAC010,AAC011,AAC012等,然后必须从下拉框中选择这些客户所属的客户,如果要添加40条记录,则必须选择同一位客户40次。

是否可以根据我所在位置的第1个2或3个字母让访问者知道我希望使用哪个客户?

2 个答案:

答案 0 :(得分:0)

不会在数据库建模和规则等方面谈论这种方法的缺陷。

但是要执行一些vba代码,您只需定义所需控件的OnChange事件即可,例如文本框 只要输入了字符,您就可以执行代码。 (例如,只有文本包含3个或更多字符时,这种情况才会发生)

Public Sub OnChange()
    If Len(Textbox) >= 3 Then
       'Do Something
    End If
end Sub

答案 1 :(得分:0)

我的时间目前有限,所以我只能为您提供方法,而不是实际代码:

我将创建一个名为Customers的单独表。 该表应具有两个字段(括号中为测试数据):

客户(关于客户的所有信息,商店)

customerAbreviation(AAC,TS)

您的表单上,在表单的“位置”字段更新后,应该会触发一个宏。

宏应具有某种类型的代码,用于分隔“位置”字段中的数字和文本。以All About Company为例,该宏应返回AAC和001。

您可以在“客户”表中搜索“ customer”缩写为AAC的客户。

然后,您可以将表单的“客户”字段设置为“关于所有公司”,或者将上一行返回的内容设置为