【发布时间】:2020-08-07 19:44:02
【问题描述】:
我有一个小问题.....
DDA3 = "SELECT DDAs.[QR Code], DDAs.[Drug Name and Strength],DDAs.[Dispensing Date], DDAs.[Amount Prescribed], DDAs.[Prescription Date], DDAs.[Record Number], DDAs.[NOT DISPENSED] " _
& "FROM DDAs " _
& "WHERE ([DDAs].[QR Code] = [QR Code] AND [DDAs].[Dispensing Date] = [Date 2] AND [DDAs].[NOT DISPENSED] = No) " _
上面给了我错误
当我在 WHERE 部分替换时 [Date 2] 与 Date() (使用今天的日期而不是控件中的日期)它可以正常工作....
我需要使用 [Date 2] 我尝试重命名控件经常出现同样的错误,尝试删除 [QR Code] 以声明只有一个控件仍然不起作用...
(完整代码如下:
'On Error Resume Next
[Date 2] = Date
Dim rs As DAO.Recordset
Dim strOutput As String
Dim i As Integer
'Dim Date2 As Date
DDA3 = "SELECT DDAs.[QR Code], DDAs.[Drug Name and Strength],DDAs.[Dispensing Date], DDAs.[Amount Prescribed], DDAs.[Prescription Date], DDAs.[Record Number], DDAs.[NOT DISPENSED] " _
& "FROM DDAs " _
& "WHERE ([DDAs].[QR Code] = [QR Code] AND [DDAs].[Dispensing Date] = [Date 2] AND [DDAs].[NOT DISPENSED] = No) " _
'OR ([DDAs].[QR Code]=[QR Code] AND [DDAs].[Dispensing Date]= [DateMod] AND [DDAs].[NOT DISPENSED]= No) " _
Set rs = CurrentDb.OpenRecordset(DDA3)
With rs
'test for empty recordset
If Not .EOF And Not .BOF Then
.MoveLast
.MoveFirst
Dim cdg As String
cdg = UCase([Forms]![POYC].[txtEnterState6])
For i = 0 To (.RecordCount - 1)
'test for last record
If i = (.RecordCount - 1) Then
'last record
strOutput = strOutput + ![Amount Prescribed] + " " + ![Drug Name and Strength]
Else
'all other records
strOutput = strOutput + ![Amount Prescribed] + " " + ![Drug Name and Strength] + vbCrLf
End If
.MoveNext
Next
End If
.Close
End With
'execute messagebox
MsgBox "The following DDA prescriptions for " & [cdg] & " have been dispensed:" & vbCrLf & vbCrLf & UCase([strOutput]), vbInformation + vbOKOnly, "DDA records!"
Set rs = Nothing
我有一些代码,我故意告诉访问现在忽略,直到我找到解决方案....我计划将 or 部分添加到 where 语句,以便它通过 Date() 或 [Date 2]
有什么想法吗?
【问题讨论】:
-
.. AND [DDAs].[NOT DISPENSED] = 'No') -
DDA3 = "选择 DDAs.[QR 码]、DDAs.[药物名称和强度]、DDAs.[配药日期]、DDAs.[处方量]、DDAs.[处方日期]、DDAs .[记录编号], DDA.[未分发] " _ & "FROM DDA" _ & "WHERE ([DDAs].[QR Code] = [QR Code] AND [DDA].[Dispensing Date] = [Date 2 ] AND [DDAs].[NOT DISPENSED] = 'No') " _ Still didn't work....当我将 [Date 2] (我的表单上的一个控件)更改为纯 Date() 代码工作正常.. .
-
在我将 [Date 2] 更改为 Date() 时添加 ' 导致类型不匹配,可能是因为该字段是原始表中的是/否复选框
-
这能回答你的问题吗? Problem with my update statement --getting error 3144。 [QR Code] 参数来自哪里?建议使用 0 或 False 代替 No。