RETORNA O ERRO 20553 = ERRO NO PARAMETRO - DUVIDA

AMARCOS2611 17/02/2015 16:47:34
#444572
DtaEntr1= nome campo no banco
DTPicker1.Value= nome campo no form

CrystalReport1.ParameterFields(0) = [Ô]DtaEntr1;[Ô] & DTPicker1.Value & [Ô];True[Ô]

retorna o erro 20553 = nome do campo invalido no parametro
PROFESSOR 17/02/2015 17:04:23
#444573
ParameterFields é normalmente utilizado para campos nomeados, que não vêm da base de dados, como, por exemplo, fórmulas.
Caso o seu Report tenha um campo nomeado desse tipo, você poderá atribuir um valor á ele usando um símbolo de arroba antes do nome, como em:

CrystalReport1.ParameterFields(0) = [Ô]@DtaEntr1;[Ô] & DTPicker1.Value & [Ô];True[Ô]

Outro ponto á ser analisado é que um DatePicker, mesmo com formato curto, pode passar valores completos, e dessa forma, é conveniente usar apenas o [Ô]trecho[Ô] que interesse, como, por exemplo:

CrystalReport1.ParameterFields(0) = [Ô]@DtaEntr1;[Ô] & Mid$(DTPicker1.Value, 10) & [Ô];True[Ô]
ou ainda:
CrystalReport1.ParameterFields(0) = [Ô]@DtaEntr1;[Ô] & Format$(DTPicker1.Value, [Ô]dd/MM/yyyy[Ô]) & [Ô];True[Ô]

Mas como você cita que DtaEntr1 é um nome de campo, acredito que você esteja tentando customizar uma filtragem de dados, e nesse caso, seria diferente. Não lembro muito bem, pois tem uns quatro anos que não mexo com o Crystal, mas seria mais como:

CrystalReport1.ParameterFields(0) = [Ô]@SeuParametroDeFiltro;DtaEntr1=[Ô] & Format$(DTPicker1.Value, [Ô]dd/MM/yyyy[Ô]) & [Ô];True[Ô]

Espero que ajude.
Faça seu login para responder