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...