De um modo geral, pelo que tenho visto, o SSRS tem OS PIORES ERROS CONHECIDOS PELA HUMANIDADE ao lhe dizer o que está errado. De um modo geral, eu vi este e o principal culpado é uma das três coisas:
- O projeto precisa ser reconstruído porque você fez alterações em um sub-relatório e os dados do relatório não estão atualizados.
- Os dados do relatório estão corrompidos de alguma forma e precisam ser apagados (procure no local do seu FILE e exclua o arquivo *.rdl.data.)
- O parâmetro que você está passando é incorreto ou está no formato errado. Todos os sub-relatórios com parâmetros PRECISAM TER PASSADOS IN, ou eles não serão executados e darão um erro equivalente a 'objeto definido para uma instância de um nulo'.
Ao inserir um 'Sub-relatório' você pode clicar com o botão direito e selecionar 'propriedades'. Ele tem um painel lateral 'Parâmetros' que você precisa selecionar e 'Adicionar' (para cada um na ordem e tipo corretos) um 'Nome' (o nome do parâmetro do relatório) e o 'Valor' correspondente do relatório atual passado para ele.
EG:Então, se eu tivesse um sub-relatório que quisesse que um cliente mostrasse informações demográficas sobre eles e eu tivesse um relatório mestre que tivesse linhas de dados de negócios com um ID de cliente por linha. Se meu sub-relatório pegasse um parâmetro 'CustomerID' eu teria isso para o Name e escolheria '[Customer_ID]' do Dataset atual para passar para ele.
Você deve ter em mente que deve 'Adicionar' cada parâmetro separado que o sub-relatório requer.