2015-03-03 118 views
0

我有一个SQL语句,我需要选择一个ID和日期,但将有6个独立的列来验证。sql语句和或选择(访问VBA)

VBA:

strsql = "SELECT * FROM [Tbl_Master_Table] WHERE [IndexRepID] = '" & ID & "' AND [IndexStDtTm] = #" & today & "# OR [ProcRepID] = '" & ID & "' AND [ProcStDtTm] = #" & today & "# OR [UWRepID] = '" & ID & "' AND [UWStDtTm] = #" & today & "#" 

SQL:

SELECT 
    * 
FROM 
    [Tbl_Master_Table] 
WHERE 
    [IndexRepID] = ? -- ID 
    AND 
    [IndexStDtTm] = ? -- today 
    OR 
    [ProcRepID] = ? -- ID 
    AND 
    [ProcStDtTm] = ? -- today 
    OR 
    [UWRepID] = ? -- ID 
    AND 
    [UWStDtTm] = ? -- today 

遗憾的是它不选择任何记录。我的代码有什么问题吗?

回答

0

继承人的最终结果......它实际工作...

today1 = DateValue(Format(Now(), "mm dd, yyyy")) + 1 
ID = psid 
Me.Lst_MyDash_Today.RowSource = "" 

strsql = "SELECT * FROM [Tbl_Master_Table] WHERE ([IndexRepID] = '" & ID & "' AND [IndexStDtTm] >= #" & today & "# AND [IndexStDtTm] < #" & today1 & "#) OR [ProcRepID] = '" & ID & "' AND [ProcStDtTm] >= #" & today & "# AND [ProcStDtTm] < #" & today1 & "#" 'OR [UWRepID] = '" & ID & "' AND [UWStDtTm] >= #" & today & "# AND [UWStDtTm] < #" & today1 & "#" 
+0

这里是... SELECT * FROM [Tbl_Master_Table],其中[IndexRepID] = '11111' AND [IndexStDtTm] =#3/3 /#到2015年或[ProcRepID] = '11111' AND [ProcStDtTm] =#3/3/2015#或[UWRepID] ='11111'和[UWStDtTm] =#3/3/2015# – Anton 2015-03-03 04:00:08

+0

试图放开放和闭括号,但仍然返回所有值不论日期 SELECT * FROM [Tbl_Master_Table] WHERE([IndexRepID] ='43514986'AND [IndexStDtTm] =#3/3/2015#)或([ProcRepID] ='43514986'AND [ProcStDtTm] =#3/3/2015# UWRepID] ='43514986'和[UWStDtTm] =#3/3/2015#) – Anton 2015-03-03 04:03:47

+0

找到原因...数据库中的日期格式化为dd dd yyyy + hh:mm:ss – Anton 2015-03-03 04:09:47

0

你之前,你实际执行该语句的位尝试把

Debug.Print strsql 
cmd.execute 

如果您发布的实际查询我们可能能够帮助更多。

0
today1 = DateValue(Format(Now(), "mm dd, yyyy")) + 1 
ID = psid 

Me.Lst_MyDash_Today.RowSource = "" 

strsql = "SELECT * FROM [Tbl_Master_Table] WHERE ([IndexRepID] = '" & ID & "' AND [IndexStDtTm] >= #" & today & "# AND [IndexStDtTm] < #" & today1 & "#) OR [ProcRepID] = '" & ID & "' AND [ProcStDtTm] >= #" & today & "# AND [ProcStDtTm] < #" & today1 & "#" 'OR [UWRepID] = '" & ID & "' AND [UWStDtTm] >= #" & today & "# AND [UWStDtTm] < #" & today1 & "#"