是Access DB查询的新手
我的方案是
请帮助我使用Access DB中所需的代码,并建议我是否检索excel VBA中的值并验证这些条件或在Access DB本身中验证
如果我在Excel VBA中的变量中验证如何将列变量存储在Excel变量中并验证每条记录,因为查询将检索多条记录
请帮助我完成所需的代码
由于
Prabu M
答案 0 :(得分:1)
插入ColumnBIsNull
类型的第三列Yes/No
,如果True
为空,则设置ColumnB
,否则设为False
。然后在列ColumnA
和ColumnBIsNull
上创建唯一索引。
+--------------+---------+---------------------+ | ColumnA (UX) | ColumnB | ColumnBIsNull (UX) | +--------------+---------+---------------------+ | A | 1 | False | +--------------+---------+---------------------+ | A | null | True | +--------------+---------+---------------------+ | B | 2 | False | +--------------+---------+---------------------+ | B | null | True | +--------------+---------+---------------------+
标有(UX)
条件
答案 1 :(得分:0)
这几乎听起来像这张桌子需要一些规范化。根据您的描述,ColumnB中的值只有两种可能:columnB为NULL,或者它的值完全取决于ColumnA中的值。我会定义两个表:
Table1
------
ColumnA text(25) -- or whatever datatype
HasColumnB YesNo
ColumnAValues
-------------
ColumnA text(25)
ColumnB integer
Table1
在(ColumnA, HasColumnB)
上有唯一的索引或主键。 ColumnAValues
在ColumnA
上有一个主键。然后在ColumnA
上的两个表之间的Access中定义外键关系。
以下查询将返回原始问题中的表格:
SELECT t.ColumnA,
IIf(t.HasColumnB, aval.ColumnB, NULL) AS ColumnB
FROM Table1 AS t INNER JOIN ColumnAValues AS aval
ON t.ColumnA = aval.ColumnA;