form criteria

R

Rodolfo Fontes

Hi group,

I'm using this expression:
docmd.openquery "C Cidades"
And the SQL for ths query is:
SELECT [T Eventos].DescrEvento, [T Cidades].DescrCidade, [T
Bairros].DescrBairro, [T Ocorrencias].Rua, [T Ocorrencias].Data
FROM (([T Ocorrencias] INNER JOIN [T Cidades] ON [T Ocorrencias].CodCidade =
[T Cidades].CodCidade) INNER JOIN [T Eventos] ON [T Ocorrencias].CodEvento =
[T Eventos].CodEvento) INNER JOIN [T Bairros] ON [T Ocorrencias].CodBairro =
[T Bairros].CodBairro
WHERE ((([T Ocorrencias].Data)>[Formulários]![F Relatorios]![txtData_I] And
([T Ocorrencias].Data)<[Formulários]![F Relatorios]![txtData_F]) AND (([T
Ocorrencias].CodEvento)=[Formulários]![F Relatorios]![cmbEvento]) AND (([T
Ocorrencias].CodCidade)=[Formulários]![F Relatorios]![cmbCidade]));

Where i set some value to be equal from a Form, i wanna to see all values,
in the case it's null.
Is there anyway to do that?

Using Access2000.

Thanks,
Rodolfo Fontes
 
J

Joan Wild

Rodolfo said:
WHERE ((([T Ocorrencias].Data)>[Formulários]![F
Relatorios]![txtData_I] And ([T Ocorrencias].Data)<[Formulários]![F
Relatorios]![txtData_F]) AND (([T
Ocorrencias].CodEvento)=[Formulários]![F Relatorios]![cmbEvento]) AND
(([T Ocorrencias].CodCidade)=[Formulários]![F
Relatorios]![cmbCidade]));

Where i set some value to be equal from a Form, i wanna to see all
values, in the case it's null.
Is there anyway to do that?

Open your query in design view. Change each of the criteria from, for
example
[Formulários]![FRelatorios]![txtData_I]
to
[Formulários]![FRelatorios]![txtData_I] Or
[Formulários]![FRelatorios]![txtData_I] is null
(that's all on one line)

Change each one, and save the query. When you reopen it design view, you'll
see Access will have added four more columns and rearranged things, but
it'll be the same.
 
R

Rodolfo Fontes

My code now is like that:
###
SELECT [T Ocorrencias].CodOcorrencia, [T Ocorrencias].CodEvento, [T
Eventos].DescrEvento, [T Cidades].DescrCidade, [T Ocorrencias].CodBairro, [T
Bairros].DescrBairro, [T Ocorrencias].Rua, [T Ocorrencias].Data, [T
Ocorrencias].Hora, [T Ocorrencias].Observacao, [T Ocorrencias].Usuario
FROM (([T Ocorrencias] INNER JOIN [T Eventos] ON [T Ocorrencias].CodEvento =
[T Eventos].CodEvento) INNER JOIN [T Cidades] ON [T Ocorrencias].CodCidade =
[T Cidades].CodCidade) INNER JOIN [T Bairros] ON [T Ocorrencias].CodBairro =
[T Bairros].CodBairro
WHERE ((([T Ocorrencias].CodEvento)=[Formulários]![F Relatorios]![cmbEvento]
Or ([T Ocorrencias].CodEvento)=IsNull([Formulários]![F
Relatorios]![cmbEvento])) AND (([T Ocorrencias].CodBairro)=[Formulários]![F
Relatorios]![cmbBairro] Or ([T
Ocorrencias].CodBairro)=IsNull([Formulários]![F Relatorios]![cmbBairro]))
AND (([T Ocorrencias].CodCidade)=[Formulários]![F Relatorios]![cmbCidade] Or
([T Ocorrencias].CodCidade)=IsNull([Formulários]![F
Relatorios]![cmbCidade]))) OR ((([T Ocorrencias].CodEvento)=[Formulários]![F
Relatorios]![cmbEvento] Or ([T
Ocorrencias].CodEvento)=IsNull([Formulários]![F Relatorios]![cmbEvento]))
AND (([T Ocorrencias].CodBairro)=[Formulários]![F Relatorios]![cmbBairro] Or
([T Ocorrencias].CodBairro)=IsNull([Formulários]![F
Relatorios]![cmbBairro])) AND (([T Ocorrencias].CodCidade)=[Formulários]![F
Relatorios]![cmbCidade] Or ([T
Ocorrencias].CodCidade)=IsNull([Formulários]![F Relatorios]![cmbCidade])));
###

Following your aswer, with this, my query should not ask me any value,
because in the case of a NULL value, it should return ALL VALUES, right?
But it's still asking for a value for EVENTOS and OCORRENCIA (the ones that
have a criteria).
Is there anything wrong?

Thanks,
Rodolfo Fontes

Joan Wild said:
Rodolfo said:
WHERE ((([T Ocorrencias].Data)>[Formulários]![F
Relatorios]![txtData_I] And ([T Ocorrencias].Data)<[Formulários]![F
Relatorios]![txtData_F]) AND (([T
Ocorrencias].CodEvento)=[Formulários]![F Relatorios]![cmbEvento]) AND
(([T Ocorrencias].CodCidade)=[Formulários]![F
Relatorios]![cmbCidade]));

Where i set some value to be equal from a Form, i wanna to see all
values, in the case it's null.
Is there anyway to do that?

Open your query in design view. Change each of the criteria from, for
example
[Formulários]![FRelatorios]![txtData_I]
to
[Formulários]![FRelatorios]![txtData_I] Or
[Formulários]![FRelatorios]![txtData_I] is null
(that's all on one line)

Change each one, and save the query. When you reopen it design view, you'll
see Access will have added four more columns and rearranged things, but
it'll be the same.
 
G

Gary Walter

Hi Rodolfo,

The following is the what Joan was
referring to:

WHERE
(([T Ocorrencias].CodEvento=[Formulários]![F Relatorios]![cmbEvento]
Or
[Formulários]![F Relatorios]![cmbEvento] Is Null)

AND

([T Ocorrencias].CodBairro=[Formulários]![F Relatorios]![cmbBairro]
Or
[Formulários]![F Relatorios]![cmbBairro] Is Null)

AND

([T Ocorrencias].CodCidade=[Formulários]![F Relatorios]![cmbCidade]
Or
[Formulários]![F Relatorios]![cmbCidade] Is Null))

OR

(([T Ocorrencias].CodEvento=[Formulários]![F Relatorios]![cmbEvento]
Or
[Formulários]![F Relatorios]![cmbEvento] Is Null)

AND

([T Ocorrencias].CodBairro=[Formulários]![F Relatorios]![cmbBairro]
Or
[Formulários]![F Relatorios]![cmbBairro] Is Null)

AND

([T Ocorrencias].CodCidade=[Formulários]![F Relatorios]![cmbCidade]
Or
[Formulários]![F Relatorios]![cmbCidade] Is Null));

Of course you wouldn't have lines between the
operators...I did that so you could more easily
see how they are "paired up."

Good luck,

Gary Walter


Rodolfo Fontes said:
My code now is like that:
###
SELECT [T Ocorrencias].CodOcorrencia, [T Ocorrencias].CodEvento, [T
Eventos].DescrEvento, [T Cidades].DescrCidade, [T Ocorrencias].CodBairro, [T
Bairros].DescrBairro, [T Ocorrencias].Rua, [T Ocorrencias].Data, [T
Ocorrencias].Hora, [T Ocorrencias].Observacao, [T Ocorrencias].Usuario
FROM (([T Ocorrencias] INNER JOIN [T Eventos] ON [T Ocorrencias].CodEvento =
[T Eventos].CodEvento) INNER JOIN [T Cidades] ON [T Ocorrencias].CodCidade =
[T Cidades].CodCidade) INNER JOIN [T Bairros] ON [T Ocorrencias].CodBairro =
[T Bairros].CodBairro
WHERE
(
(
([T Ocorrencias].CodEvento)=[Formulários]![F Relatorios]![cmbEvento]
Or ([T Ocorrencias].CodEvento)=IsNull([Formulários]![F
Relatorios]![cmbEvento])
)
AND
(
([T Ocorrencias].CodBairro)=[Formulários]![F
Relatorios]![cmbBairro] Or ([T
Ocorrencias].CodBairro)=IsNull([Formulários]![F Relatorios]![cmbBairro]) )
AND
(
([T Ocorrencias].CodCidade)=[Formulários]![F Relatorios]![cmbCidade] Or
([T Ocorrencias].CodCidade)=IsNull([Formulários]![F
Relatorios]![cmbCidade])
)
)
OR
(
(
([T Ocorrencias].CodEvento)=[Formulários]![F
Relatorios]![cmbEvento] Or ([T
Ocorrencias].CodEvento)=IsNull([Formulários]![F Relatorios]![cmbEvento]) )
AND
(
([T Ocorrencias].CodBairro)=[Formulários]![F Relatorios]![cmbBairro] Or
([T Ocorrencias].CodBairro)=IsNull([Formulários]![F
Relatorios]![cmbBairro])
)
AND
(
([T Ocorrencias].CodCidade)=[Formulários]![F
Relatorios]![cmbCidade] Or ([T
Ocorrencias].CodCidade)=IsNull([Formulários]![F Relatorios]![cmbCidade]) )
);
###

Following your aswer, with this, my query should not ask me any value,
because in the case of a NULL value, it should return ALL VALUES, right?
But it's still asking for a value for EVENTOS and OCORRENCIA (the ones that
have a criteria).
Is there anything wrong?

Thanks,
Rodolfo Fontes

Joan Wild said:
Rodolfo said:
WHERE ((([T Ocorrencias].Data)>[Formulários]![F
Relatorios]![txtData_I] And ([T Ocorrencias].Data)<[Formulários]![F
Relatorios]![txtData_F]) AND (([T
Ocorrencias].CodEvento)=[Formulários]![F Relatorios]![cmbEvento]) AND
(([T Ocorrencias].CodCidade)=[Formulários]![F
Relatorios]![cmbCidade]));

Where i set some value to be equal from a Form, i wanna to see all
values, in the case it's null.
Is there anyway to do that?

Open your query in design view. Change each of the criteria from, for
example
[Formulários]![FRelatorios]![txtData_I]
to
[Formulários]![FRelatorios]![txtData_I] Or
[Formulários]![FRelatorios]![txtData_I] is null
(that's all on one line)

Change each one, and save the query. When you reopen it design view, you'll
see Access will have added four more columns and rearranged things, but
it'll be the same.
 
R

Rodolfo Fontes

Thanks! it worked!


Gary Walter said:
Hi Rodolfo,

The following is the what Joan was
referring to:

WHERE
(([T Ocorrencias].CodEvento=[Formulários]![F Relatorios]![cmbEvento]
Or
[Formulários]![F Relatorios]![cmbEvento] Is Null)

AND

([T Ocorrencias].CodBairro=[Formulários]![F Relatorios]![cmbBairro]
Or
[Formulários]![F Relatorios]![cmbBairro] Is Null)

AND

([T Ocorrencias].CodCidade=[Formulários]![F Relatorios]![cmbCidade]
Or
[Formulários]![F Relatorios]![cmbCidade] Is Null))

OR

(([T Ocorrencias].CodEvento=[Formulários]![F Relatorios]![cmbEvento]
Or
[Formulários]![F Relatorios]![cmbEvento] Is Null)

AND

([T Ocorrencias].CodBairro=[Formulários]![F Relatorios]![cmbBairro]
Or
[Formulários]![F Relatorios]![cmbBairro] Is Null)

AND

([T Ocorrencias].CodCidade=[Formulários]![F Relatorios]![cmbCidade]
Or
[Formulários]![F Relatorios]![cmbCidade] Is Null));

Of course you wouldn't have lines between the
operators...I did that so you could more easily
see how they are "paired up."

Good luck,

Gary Walter


Rodolfo Fontes said:
My code now is like that:
###
SELECT [T Ocorrencias].CodOcorrencia, [T Ocorrencias].CodEvento, [T
Eventos].DescrEvento, [T Cidades].DescrCidade, [T Ocorrencias].CodBairro, [T
Bairros].DescrBairro, [T Ocorrencias].Rua, [T Ocorrencias].Data, [T
Ocorrencias].Hora, [T Ocorrencias].Observacao, [T Ocorrencias].Usuario
FROM (([T Ocorrencias] INNER JOIN [T Eventos] ON [T Ocorrencias].CodEvento =
[T Eventos].CodEvento) INNER JOIN [T Cidades] ON [T Ocorrencias].CodCidade =
[T Cidades].CodCidade) INNER JOIN [T Bairros] ON [T Ocorrencias].CodBairro =
[T Bairros].CodBairro
WHERE
(
(
([T Ocorrencias].CodEvento)=[Formulários]![F Relatorios]![cmbEvento]
Or ([T Ocorrencias].CodEvento)=IsNull([Formulários]![F
Relatorios]![cmbEvento])
)
AND
(
([T Ocorrencias].CodBairro)=[Formulários]![F
Relatorios]![cmbBairro] Or ([T
Ocorrencias].CodBairro)=IsNull([Formulários]![F Relatorios]![cmbBairro]) )
AND
(
([T Ocorrencias].CodCidade)=[Formulários]![F Relatorios]![cmbCidade] Or
([T Ocorrencias].CodCidade)=IsNull([Formulários]![F
Relatorios]![cmbCidade])
)
)
OR
(
(
([T Ocorrencias].CodEvento)=[Formulários]![F
Relatorios]![cmbEvento] Or ([T
Ocorrencias].CodEvento)=IsNull([Formulários]![F Relatorios]![cmbEvento]) )
AND
(
([T Ocorrencias].CodBairro)=[Formulários]![F Relatorios]![cmbBairro] Or
([T Ocorrencias].CodBairro)=IsNull([Formulários]![F
Relatorios]![cmbBairro])
)
AND
(
([T Ocorrencias].CodCidade)=[Formulários]![F
Relatorios]![cmbCidade] Or ([T
Ocorrencias].CodCidade)=IsNull([Formulários]![F Relatorios]![cmbCidade]) )
);
###

Following your aswer, with this, my query should not ask me any value,
because in the case of a NULL value, it should return ALL VALUES, right?
But it's still asking for a value for EVENTOS and OCORRENCIA (the ones that
have a criteria).
Is there anything wrong?

Thanks,
Rodolfo Fontes

Joan Wild said:
Rodolfo Fontes wrote:
WHERE ((([T Ocorrencias].Data)>[Formulários]![F
Relatorios]![txtData_I] And ([T Ocorrencias].Data)<[Formulários]![F
Relatorios]![txtData_F]) AND (([T
Ocorrencias].CodEvento)=[Formulários]![F Relatorios]![cmbEvento]) AND
(([T Ocorrencias].CodCidade)=[Formulários]![F
Relatorios]![cmbCidade]));

Where i set some value to be equal from a Form, i wanna to see all
values, in the case it's null.
Is there anyway to do that?

Open your query in design view. Change each of the criteria from, for
example
[Formulários]![FRelatorios]![txtData_I]
to
[Formulários]![FRelatorios]![txtData_I] Or
[Formulários]![FRelatorios]![txtData_I] is null
(that's all on one line)

Change each one, and save the query. When you reopen it design view, you'll
see Access will have added four more columns and rearranged things, but
it'll be the same.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads

order on the months. 4
order on the months 3
Sintax error 1

Top