Sql 复选框过滤器和其他过滤器

Sql 复选框过滤器和其他过滤器,sql,ms-access,Sql,Ms Access,我正在尝试使用SQL在ms access查询中应用复选框筛选器。这是一个基于表单字段的多过滤器查询,基于文本字段的过滤器很好,正如您在下面的代码中所看到的,但我不知道如何使复选框过滤器工作,我在网上尝试了很多示例,但都不起作用。我试过的一件事是:和(Len([Formulários]![frmFC]![cbxPago]&')=0或类似帕戈语的“&'>0'&')) 欢迎为我当前使用的代码编写更好的代码;) 复选框为1(选中)或0(未选中)。您还可以将True用于checked,将False用于un

我正在尝试使用SQL在ms access查询中应用复选框筛选器。这是一个基于表单字段的多过滤器查询,基于文本字段的过滤器很好,正如您在下面的代码中所看到的,但我不知道如何使复选框过滤器工作,我在网上尝试了很多示例,但都不起作用。我试过的一件事是:和(Len([Formulários]![frmFC]![cbxPago]&')=0或类似帕戈语的“&'>0'&'))

欢迎为我当前使用的代码编写更好的代码;)

复选框为1(选中)或0(未选中)。您还可以将True用于checked,将False用于unchecked

您可能应该创建一个单独的测试查询来确保SQL是正确的,在这个查询中只测试复选框。如果它有效,那么您的语法很好,您可以将其添加到更长、更复杂的查询中。

复选框为1(选中)或0(未选中)。您还可以将True用于checked,将False用于unchecked


您可能应该创建一个单独的测试查询来确保SQL是正确的,在这个查询中只测试复选框。如果它能工作,那么您的语法很好,您可以将其添加到更长、更复杂的查询中。

谢谢您的帮助!我通过部分工作解决了这个问题,功能代码是:WHERE(iif(forms!frmFC!cmbPago=“Pago”,介于2001年1月1日和2050年1月1日之间的Pago),iif(forms!frmFC!cmbPago=“Aberto”,Pago为NULL,Pago为NULL或“”),如果我的答案有用,请单击左边的复选标记,这样我就可以得分了。谢谢谢谢你的帮助!我通过部分工作解决了这个问题,功能代码是:WHERE(iif(forms!frmFC!cmbPago=“Pago”,介于2001年1月1日和2050年1月1日之间的Pago),iif(forms!frmFC!cmbPago=“Aberto”,Pago为NULL,Pago为NULL或“”),如果我的答案有用,请单击左边的复选标记,这样我就可以得分了。谢谢
PARAMETERS [Formulários]![frmFC]![txtCriadoEm] Text ( 255 );

SELECT tabFcGas.criadoEm, tabFcGas.Cliente, tabFcGas.valor, 
       tabFcGas.vencimento, tabFcGas.parcela, tabFcGas.totalParcelas, 
       tabFcGas.pago, tabFcGas.classificacao, tabFcGas.obs, tabFcGas.nf
FROM tabFcGas
WHERE (Len([Formulários]![frmFC]![txtCriadoEm] & '') = 0 
       OR criadoEm Like '*' & [Formulários]![frmFC]![txtCriadoEm] & '*') 
  AND (Len([Formulários]![frmFC]![cmbCliente] & '') = 0 
       OR Cliente Like '*' & [Formulários]![frmFC]![cmbCliente] & '*') 
  AND (vencimento BETWEEN NZ([Formulários]![frmFC]![txtDataIni],#01/01/2001#) 
       AND NZ([Formulários]![frmFC]![txtDataFin],#01/01/2050#)) 
  AND (Len([Formulários]![frmFC]![cmbInvestimento] & '') = 0 
       OR classificacao Like '*' & [Formulários]![frmFC]![cmbInvestimento] & '*') 
  AND (Len([Formulários]![frmFC]![txtVencimento] & '') = 0 
       OR Vencimento Like '*' & [Formulários]![frmFC]![txtVencimento] & '*')