Olá,
Uma vez que você não filtre um conteúdo numa query, todos os registros serão exibidos.
Logo se seus parâmetros estiverem em branco e assim você deseja trazer todos, basta não inserir qualquer condição no where da query.
Se entendi bem, seguindo sua lógica, o trecho abaixo pode resolver esse problema:
//Se ambas as datas forem informadas, eu adicione a condição no where para fazer um between
//Aqui eu poderia tratar também pontualmente as datas e fazer um maior igual, menor igual...
If !Empty(MV_PAR01) .And. !Empty(MV_PAR02)
cQryDad += "C6_ENTREG BETWEEN '" + DtoS(MV_PAR01) + "' AND '" + DtoS(MV_PAR02) + "' " + CRLF
EndIf
//Se o número do pedido foi informado, eu filtro somente ele, caso não tenha sido informado, eu não adiciono a condição no where e com isso vai trazer todos os pedidos independente do número
If !Empty(MV_PAR04)
cQryDad += "C5_NUM = '" + MV_PAR04 + "' "+ CRLF
EndIf
//Aqui eu filtro somente se os valores estão entre 1 ('S') e 2 ('N'), caso esteja vazio, a condição será ignorada trazendo valores vazios, 'N', 'S' ou qualquer outra valor possível
If Val(cValToChar(MV_PAR03)) == 2
cQryDad += "AND C6_ZZMAT = 'N' " + CRLF
ElseIf Val(cValToChar(MV_PAR03)) == 1
cQryDad += "AND C6_ZZMAT = 'S' " + CRLF
EndIf
Existem alguns pontos que você pode estudar melhor, como se eu filtrar o número de um pedido em uma data incorreta, eu não vou encontrar esse pedido, faz sentido filtrar por data caso o número do pedido tenha sido informado?
Nos parâmetros MV_PAR03 você faz uma conversão para character e depois converte para número, existe essa necessidade? Comparar diretamente com 2 como character, talvez fazer um AllTrim não resolveria?
Após cada linha da query você adiciona uma quebra de linha, isso não traz qualquer benefício além de estético caso a string da query seja exibida no console por exemplo, na verdade, quanto mais caracteres, mais lento se torna o parse, caso passe na changequery, serão mais caracteres para serem lidos, o DBAccess possui limites no tamanho da query etc.
Desculpe qualquer mal entendido, se tiver outra dúvida, coloca um comentário que tento melhorar a resposta.
Não entendi bem como é esse filtro, ficou confuso o texto. Tenta explicar melhor, talvez até com um exemplo simples.
— Cirilo Rocha 01 de Dec de 2022