2017-07-05 33 views
0

返回一个非空字符串从细胞的范围,我继承了一个Access 2016数据库,需要一些调整,我需要帮助,我所熟悉的访问,但我不是最好的(不是迄今为止,或者根本:) :)在Access 2016

db设置如下: 数据链接到4个SQL Server从每个db导入两个表的数据库,一个是客户端和一个是预期客户端(这是用于查找目的的客户端不想手动执行任何操作)。在Access中更新的唯一表中,有8列,其中一个是客户端,另一个是每个SQL数据库中的潜在客户端。看起来像这样:

Highveld_Client | Highveld_Prospect | Eastern_Client | Eastern_Prospect | Northern_Client | Northern_Prospect | Africa_Client | Africa_Prospect

每一项都是一个下拉框,并查找正确的数据。但是这会产生一个非常乏味的报告(正如你可以想象的那样)。我在想的是根据这些字段中的哪一个不为空而自动进行字段更新。

我需要的是,确切地说,执行以下操作:

上面所示的8场中,只有1将永远充满法案。 我需要使用填充这些字段中的任何一个的数据自动更新新字段。

对我的爱,我似乎无法找到,将引导我正确地对如何做到这一点的地方。我已经花了几天时间浏览教程和论坛,以及nada。我知道,如果我需要这样做,它会更可能是一个VBA代码,但这不会发生,知道我,我最终会部署一个核导弹或灾难性的东西。

谢谢你在前进,你永远不知道有多少你的帮助这些论坛上的帮助,或表示赞赏。

+0

我正确的假设你想得到以下结果:'Client |展望|区域“,哪个区域是Highveld,东部,北部或非洲? –

+0

嗨!不,我需要看到的只是这八个字段中的哪一个有数据。换句话说,我需要一个字段来更新客户端,其中包括Client_Highveld或Client_Africa或Client_Eastern或Client_Norther等中的数据。 – 4shg85

+0

请编辑(请参阅下面的链接标签)您的文章,并将示例数据说明为你的解释不太清楚。 – Parfait

回答

1

无需使用VBA即可解决此问题,只使用SQL的强大功能。尝试以下查询:

SELECT Highveld_Client AS Client, Highveld_Prospect AS Prospect, "Highveld" As Region 
    From MyTable 
    WHERE Highveld_Client IS NOT NULL OR Highveld_Prospect IS NOT NULL 
UNION ALL 
    SELECT Eastern_Client AS Client, Eastern_Prospect AS Prospect, "Eastern" As Region 
    From MyTable 
    WHERE Eastern_Client IS NOT NULL OR Eastern_Prospect IS NOT NULL 
UNION ALL 
    SELECT Northern_Client AS Client, Northern_Prospect AS Prospect, "Northern" As Region 
    From MyTable 
    WHERE Northern_Client IS NOT NULL OR Northern_Prospect IS NOT NULL 
UNION ALL 
    SELECT Africa_Client AS Client, Africa_Prospect AS Prospect, "Africa" As Region 
    From MyTable 
    WHERE Africa_Client IS NOT NULL OR Africa_Prospect IS NOT NULL 
相关问题