2016-03-07 114 views
0

我有这些表,我试图通过使用跟踪ID来获取产品的活动名称。查询到搜索相关字段

这些是我有表:

tblactive:  tblProductcode:  tblproduct  tblCV 
client_name  client_name   client_name  Tracking_id 
Product_name  product_name   product_name  product_code 
active_name  product_code   status 
             color 

我希望能够搜索活动名称I键在跟踪ID: 我一直在想这一段时间,但只是想不通out ...可能是星期一蓝调。

这是sql查询我有目前有:

SELECT tblActive.active_name, tblActive.l4 
FROM (tblActive INNER JOIN tblProductCode ON 
(tblActive.Client_Name = tblProductCode.Client_Name) 
AND (tblActive.Product_Name = tblProductCode.Product_Name)) 
INNER JOIN tblCV ON tblProductCode.Product_Code = tblCV.Product_Code 
WHERE (((tblcv.product_code)=[forms]![frmCVSwabRequest]![cboProduct_code])); 

此查询只返回一个空白。

+0

Form'frmCVSwabRequest'上的组合框的绑定列是什么?如果在引用组合框时不使用'.Column()'方法,则可能将'product_code'与一个意外的变量进行比较。 – MoondogsMaDawg

+0

您的查询的'WHERE'子句引用组合的'Value'属性。检查它是否是你期望的。在窗体视图中打开窗体,转到立即窗口(Ctrl + g将带您到那里),粘贴以下突出显示的文本并按Enter键。 'Debug.Print [forms]![frmCVSwabRequest]![cboProduct_code] .Value' – HansUp

+0

在检查了christopher's&hans的回复后得到了空的结果....我去喝咖啡休息了.....事实上,代码实际上完美地工作......意识到我使用的是不存在的产品代码...... – SunRay

回答

0

为什么不直接为表tblactive 创建一个名为tblactive_id的唯一主键并将其添加到tblCV表中。然后,只需运行此查询,

SELECT tblactive.active_name FROM tblactive,tblCV WHERE tblactive.tblactive_id = tblCV.tblactive;

我认为你需要重新设计你的数据库表。

+0

我无法这么做,因为产品代码中存在多个活动。对不起,在这个问题上没有解释清楚。每个产品代码都与产品表 – SunRay

+0

相关联,而不仅仅是将product_code添加到tblactive表中。你为什么试图让你的生活变得更难。 – hamadkh

+0

是的,这将使我的生活方式更容易,但它会挫败正常化数据集的目的 – SunRay