Array
(
)

Problemas com Crystal no VS 2010

Luiz Melo
   - 20 jan 2014

Ola amigos, boa noite...
Cenario: Um relatorio que estava funcionando perfeitamente...
Ao fazer uma alteracao na base de dados, o relatorio simplesmente parou de funcionar... Mostra todos os dados de parametros mas os dados das bases nao mostra...
Faco assim: (a) crio o dataset com as tables (b) crio o cristal report com os campos indexados ao dataset... (c) implemento o codigo abaixo:
#Código Dim stringConexao As String = My.Settings.Caminho.ToString
Dim conn As New OleDbConnection(stringConexao)
'MsgBox("Orçamento nro " & IDORC & " impresso!")
Dim daCliente As New OleDbDataAdapter("Select * from Clientes Where ID_CLI = " & IDCLI, conn)
Dim daOrcam As New OleDbDataAdapter("Select * from Orcamentos Where ID_ORC = " & IDORC, conn)
Dim daPecasGar As New OleDbDataAdapter("SELECT PECASORC.USADA, PECASORC.QUANTID, PECASORC.MOTIVO, ESTOQUE.CODLINHA, ESTOQUE.CODESTOQUE " & _
"FROM ESTOQUE INNER JOIN PECASORC ON ESTOQUE.ID_EST = PECASORC.IDPRO WHERE IDORC=" & IDORC & " ", conn)

Dim dsRelatorio As New dsEntrGar
conn.Open()
daCliente.Fill(dsRelatorio.CLIENTES)
daOrcam.Fill(dsRelatorio.ORCAMENTOS)
daPecasGar.Fill(dsRelatorio.PECASORC)
conn.Close()
Dim relatorio As New crEntrGar
Dim parametros As New CrystalDecisions.Shared.ParameterFields
Dim parametro1 As New CrystalDecisions.Shared.ParameterField
Dim dis_param1 As New CrystalDecisions.Shared.ParameterDiscreteValue
Dim parametro2 As New CrystalDecisions.Shared.ParameterField
Dim dis_param2 As New CrystalDecisions.Shared.ParameterDiscreteValue
parametro1.ParameterFieldName = "enderloja"
dis_param1.Value = EMPRESA
parametro1.CurrentValues.Add(dis_param1)
parametros.Add(parametro1)
parametro2.ParameterFieldName = "Garantia"
dis_param2.Value = "ORÇAMENTO NRO. " & IDORC & " EM GARANTIA"
parametro2.CurrentValues.Add(dis_param2)
parametros.Add(parametro2)

relatorio.SetDataSource(dsRelatorio)
Dim f As New frmRelatorio(relatorio)
f.crvRelatorio.ParameterFieldInfo = parametros
f.Show()

E so me aparecem os dados dos parametros ... O relatorio nao apresenta os dados das bases (nome cliente, endereco, etc...)
Alguma luz?
Obrigado.

Raniel Nogueira
   - 21 jan 2014

Por você não faz a consulta apenas com os campos que você precisa?

Raniel Nogueira
   - 21 jan 2014

você tem que usar o comando Inner e Join para juntar duas tabelas veja mais aqui nesse link:

Usando Inne e Join

Luiz Melo
   - 22 jan 2014

Ola, boa tarde e obrigado pela resposta.
O meu problema é que os dados que deveriam aparecer no relatório não aparecem... Este relatório ja funcionou perfeitamente, as tabelas estão sendo alimentadas, os comandos SQL funcionam... O que eu gostaria de saber é se alguém tem ideia do porque o relatório não vincula o dataset ao relatório... se tem algum comando que eu possa verificar...
EU não sou - reconheço - um ótimo programador e minhas técnicas podem não ser as mais perfeitas mas não é esse o caráter da discussão...
Foi assim: tive que refazer a base de dados e alterei alguns campos - inclusive das tabelas usadas aqui. Antes dessa alteração tudo funcionava perfeitamente. Após as alterações, refiz o dataset para atualizar os campos alterados (embora nem, os usasse no relatório) e - a partir dai - os dados perderam o vinculo com o relatório...