MS Access:在表中搜索字符串的相同部分

时间:2014-10-24 12:31:02

标签: c vba ms-access access-vba

我正在尝试遍历表格中的列值。 我有一个注册表单,根据他的信息为用户提供UNIQUE ID。 例如: 国家=奥地利
选择国家奥地利的每个用户将获得该匹配的某种唯一值(假设为00)。

帐户ID如下所示:

XXXX00UNIQUECODE

每个国家/地区都有自己独特的价值:(AT = 00, DE = 01, etc

现在,我想为每个用户生成一个唯一代码,它只是表格中存储的先前UC值的增量(+1)值,表示同一个国家/地区! < / p>

为了做到这一点,我需要以某种方式遍历列,其中存储帐户ID并搜索匹配。 问题是,当用户试图生成UNIQUE CODE时,他还没有,所以他只有:

XXXX00

现在我需要找到AccountID列中的所有XXXX00字符串,并将它们存储在一个数组中 - 然后找到它们的最大值并增加它。

但是我不知道如何搜索表格列中的部分字符串? 只是XXXX00部分,而不是整个帐户ID XXXX00UNIQUECODE

唉,我希望你能理解我。我知道这很复杂,但我真的被困在这里。希望有人知道我的意思,甚至可能找到更顺畅的解决方案。

提前致谢!

1 个答案:

答案 0 :(得分:1)

你正在将一个正方形的钉子撞到一个圆孔里。为什么不创建一个名为UserID的新列,然后你可以这样做:

SELECT Max(UserID) FROM MyTable WHERE Mid(AccountID, 5, 2) = "00"

并将其递增1。

更好的是,将CountryCode,UserID和XXXX部分存储在不同的字段中,并将它们编入索引。它会节省您搜索或过滤的时间,我认为您将会这样做。