SQL-запрос для фильтрации нескольких критериев в MS Access - PullRequest
0 голосов
/ 17 марта 2019

Так что я нахожусь в точке, где мне просто нужно создать строку SQL-запроса, которая позволила бы мне фильтровать данные в зависимости от трех текстовых полей.

В первом текстовом поле пользователь вводит номер счета-фактуры, поэтому, если это текстовое поле не равно нулю, запрос должен использовать его для фильтрации.

Два других текстовых поля - Дата и Место. Эти два идут вместе, так что было бы что-то вроде, если текстовые поля Дата и Место не равны нулю, а затем фильтровать по дате и месту.

Вот что у меня сейчас:

 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;"

Заранее спасибо!

1 Ответ

1 голос
/ 18 марта 2019

Я буду работать с чем-то вроде этого (я использую поле ввода вместо текстового поля для примера, который вы можете затем адаптировать к вашим потребностям):

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...