Olá, amigo Douglas Soares, Realmente, atribuindo um valor válido ao parametro, não dá erro. Mas, a idéia é, ao criar o form, alimentar o valor deste parâmetro com NULL. Desta forma o ClientDataSet será aberto e nenhum registro será trafegado, já que não existem registros com chave nula. Assim ele estará vazio, pronto para receber um novo registro a ser cadastrado. Testei isto em outra aplicação, utilizando o mesmo banco de dados, conforme abaixo, e não deu erro. A Query foi parametrizada assim: SELECT CODIGO, NOME FROM CLIENTE WHERE CODIGO = :CODIGO Ajustei o parâmetro ‘CODIGO’ assim: DataType: ftInteger ParamType: ptImput E, no OnCreate do formulário fiz assim: DM := TDM.Create(Self); DM.ClientDataSet.FetchParams; DM.ClientDataSet.Params.ParamByName(‘CODIGO’).Value := NULL; DM.ClientDataSet.Open; {Aqui dá erro em uma aplicação e em outra, não} O que me deixa intrigado é o fato de um conceito funcionar normalmente em uma aplicação e, em outra, não. De qualquer forma, sua ajuda foi de grande importância. Muitíssimo obrigado. E, quanto à acentuação, alguma dica? Francisco Rodrigues