因此,我现在只需要构建一个SQL查询字符串,即可让我根据三个文本框过滤数据。
用户在第一个文本框中输入发票编号,因此,如果该文本框不为空,则查询应使用该文本进行过滤。
其他两个文本框是“日期”和“位置”。两者一起使用,因此,如果“日期和位置”文本框不为null,则按日期和位置进行过滤。
这就是我现在拥有的:
SELECT tbl1Facturas.Verificado, tbl1Facturas.Factura, tbl1Facturas.Fecha, tbl5Localidades.NombreLocalidad, tbl6Suplidores.NombreSuplidor, tbl1Facturas.Subtotal, tbl1Facturas.[IVU MUNICIPAL], tbl1Facturas.[IVU ESTATAL], tbl1Facturas.[Total de Compra], tbl1Facturas.[Exento al IVU ESTATAL], tbl1Facturas.[Credito al Subtotal], tbl1Facturas.[Credito IVU Municipal], tbl1Facturas.[Credito IVU ESTATAL], tbl1Facturas.[Metodo de Pago], tbl1Facturas.[ID Metodo Pago], tbl1Facturas.MetodoPago_PDF, tbl1Facturas.Factura_PDF
FROM (tbl1Facturas INNER JOIN tbl5Localidades ON tbl1Facturas.Localidad_ID = tbl5Localidades.ID) INNER JOIN tbl6Suplidores ON tbl1Facturas.Suplidor_ID = tbl6Suplidores.ID
WHERE tbl1Facturas.Factura = '" & Nz(Me.Text16) & "'
ORDER BY tbl1Facturas.Fecha;"
谢谢!
答案 0 :(得分:1)
我将使用类似的方法(在示例中,我使用输入框而不是文本框,然后可以根据需要进行调整):
Sub test ()
Dim Invoiceno, myDate, myPlace
Dim SQLString As String
Invoiceno = InputBox(“Enter Invoice Number”)
MyDate = InputBox(“Enter Date”) ‘here you can add a Date Picker
MyPlace = InputBox(“Enter Place”)
If not Invoiceno is nothing then
SQLString = ‘here your SQL string to search by invoice number’
Else:
SQLString = ‘here your SQL string to search by Date & Place’
End If
CurrentDb.Execute SQL String
End Sub