Pergunta : Precisar o auxílio com filtração de um relatório de um formulário

Eu tenho uma pergunta sobre relatórios de filtração de um formulário. Eu tenho atualmente um formulário que inclua 3 caixas combinados e um subreport. A primeira caixa combinado seleciona a tabela para ver e povoa a segunda caixa combinado. O segundo permite que você selecione que colocam para filtrar, e igualmente povoa o terço com valores da tabela/campo dados. A terceira caixa combinado deixa-o selecionar um artigo e filtra-a então o relatório baseado em todas as 3 caixas combinados com concatenação. (tabela-campo-gravar) quando eu termino a terceira caixa filtrará para fora tudo no relatório, deixando somente um registro em branco. Pode qualquer um ajudar-me com este? Está aqui o código que eu me usei para o formulário para ver como eu o tenho feito: class= > " desobstruído " do
> do " codeSnippet " do class= do
class= " lineNumbers " do
class= do
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
>Option notpretty " do class= " do id= " codeSnippet792611 do
           
class= > " desobstruído " do
soluções >Related class= title= " do href= " /Microsoft/Development/MS_Access/Q_26342160.html do I am do " qRelatedChild " de um class= do formulário e das caixas combinados " que tem um pulso aleatório com um formulário e um boxes combinado

Resposta : Precisar o auxílio com filtração de um relatório de um formulário

Supor que todos os campos que o usuário poderia selecionar de cada um destas tabelas são o texto, tentativa:

strApply = “[” & strField & “] = """ & strFilter & """"

Se todos os campos que poderiam ser selecionados não são texto, a seguir você está indo ter que figurar para fora uma maneira de determinar o datatype do campo antes de criar strApply.  Você poderia usar uma função como o seguinte:

Função pública FieldType (TableName como a corda, Fieldname como a corda) como o inteiro

    strSQL não ofuscante como a corda
    Rs não ofuscantes como DAO.Recordset
   
    o strSQL = “SELECIONA [” & Fieldname & “] DE [” & TableName & “] ONDE falso”
    o strSQL = substitui (substituir (strSQL, “[[”, “["), “]]”, “] ")
   
    Ajustar rs = CurrentDb.OpenRecordset (strSQL, o dbfailonerror)
   
    FieldType = rs. Campos (0). Tipo
    rs. Fim
    Ajustar rs = nada
   
Terminar a função

E fazer então algo como:

intFieldType = FieldType (strReport, strField)
SELECIONAR o intFieldType do caso
    Encaixotar o dbBigInt, dbBoolean, dbByte, cbCurrency, dbDecimal, dbDouble, dbFload, dbInteger, dbLong, dbNumeric
        strApply = “[” & strField & “] =” & strFilter
    Caso dbChar, cbText, dbMemo
        strApply = “[” & strField & “] = """ & strFilter & """"
    dbDate do caso, dbTime
        strApply = “[” & strField & “] = #” & strFilter & “#”
    Caso mais
        msgbox “tipo de dados inesperado =” & intFieldType
        'Este deve incluir todos os valores
        strApply = ""
Extremidade seleta

me.subReport.Report.Filter = strApply
me.subReport.Report.FilterOn = (strApply <> "")
Outras soluções  
 
programming4us programming4us