DUPLICIDADE NO RELATORIO

LEANDRO 24/05/2010 12:28:28
#342615
Boa Tarde a Todos.
Tenho um Relatorio onde mostro as coletas reprovadas no periodo.

o meu Select esta assim ...

SELECT * FROM cadcoleta[Ô] & _
[Ô] inner join cadcli on col_codcli = codigo[Ô] & _
[Ô] where col_dtensaio between [ô][Ô] & Format(CType(mskDtInicial.Text, Date), [Ô]yyyy-MM-dd[Ô]) & [Ô][ô] and [ô][Ô] & Format(CType(mskDtFinal.Text, Date), [Ô]yyyy-MM-dd[Ô]) & [Ô][ô] and col_aprovado <> [ô]M[ô]


Quando jogo esse select no Mysql ele não me mostra duplicidade, porem no relatorio traz duplicado


Alguem pode me ajudar ?
LEANDRO 24/05/2010 16:32:28
#342637
Alguem ??????????????
FERRAZ 24/05/2010 17:09:58
#342644
LEANDRO, voce esta usando o crystal report ?
LEANDRO 24/05/2010 17:11:27
#342645
sim.!
FERRAZ 24/05/2010 17:13:58
#342646
Ok, me diz uma coisa, como voce criou o paramentro no crystal, passa o codigo ae, que agente tenta resolver.
LEANDRO 24/05/2010 17:27:25
#342649
Imports Dados
Imports MySql.Data.MySqlClient
Public Class frmRelColetasSolicitadas
Dim Conexao As New Conexao
Public DtEmissao As String
Public DtVencimento As String
Public sqlSolicitacao As String
[ô]definir as variáveis de conexão
Sub GerarRelatorio()
Dim dsPc As New RelColeta
[ô]definir a string de conexão e as instruções sql para cada tabela

[ô]frmImpressos.Coleta = Coleta
Try
[ô]Criar os objetos dataadapter
Conexao.Conectar()
Conexao.da = New MySqlDataAdapter(sqlSolicitacao, Conexao.Conexao)
[ô]Preenche as tabelas do dataset usando o dataadapter
Conexao.da.Fill(dsPc, [Ô]cadcli[Ô])
Conexao.da.Fill(dsPc, [Ô]cadcoleta[Ô])
[ô]Preencher o relatório e exibí-lo no visualizador
Dim rptColetaSolicitadas As New RelxColetasSolicitadas
rptColetaSolicitadas.SetDataSource(dsPc)
CrystalReportViewer.ReportSource = rptColetaSolicitadas
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
End Sub
End Class



a Variavel SqlSolicitacao é a que eu coloquei acima
FERRAZ 24/05/2010 17:33:51
#342650
LEANDRO, voce criou uma class e com ela voce monta o relatorio certo, ok, agora eu monto o report no proprio crystal e depois chamo no vb.

Agora, eu em casa vou olha com calma para tentamos contornar este erro.
FERRAZ 24/05/2010 19:14:56
#342654
Citação:

SELECT * FROM cadcoleta[Ô] & _
[Ô] inner join cadcli on col_codcli = codigo[Ô] & _
[Ô] where col_dtensaio between [ô][Ô] & Format(CType(mskDtInicial.Text, Date), [Ô]yyyy-MM-dd[Ô]) & [Ô][ô] and [ô][Ô] & Format(CType(mskDtFinal.Text, Date), [Ô]yyyy-MM-dd[Ô]) & [Ô][ô] and col_aprovado <> [ô]M[ô]


Public sqlSolicitacao As String



LEANDRO olhando melhor sua class, vou te passar como voce faz seu report funcionar do modo desejado, usando o crystal e o vb6, voce faz algumas modificacoes no .net:

Voce usa assim no .net:
[ô][Ô] & Format(CType(mskDtInicial.Text, Date), [Ô]yyyy-MM-dd[Ô]) & [Ô][ô] and [ô][Ô] & Format(CType(mskDtFinal.Text, Date), [Ô]yyyy-MM-dd[Ô]) & [Ô][ô] and

Eu uso assim no vb6:
.ParameterFields(0) = [Ô]data1;Date([Ô] & Format(DTPicker1.Value, [Ô]YYYY,MM,DD[Ô]) & [Ô]);True[Ô]
.ParameterFields(1) = [Ô]data2;Date([Ô] & Format(DTPicker2.Value, [Ô]YYYY,MM,DD[Ô]) & [Ô]);True[Ô]

Agora no crystal:

Em Report_Edith Selection Formula_Record…

CDate({tbclt.DtClt}) >= {?data1} And CDate({tbclt.DtClt})<= {?data2}

Em Insert_Parameter Field
Defina o name de seu controle no vb onde voce faz o filtro
Defina o Value Type de seu controle, fazer a mesma coisa
com o segundo controle.

Funciona perfeitamente no vb6. Eu entrei no seu topico em .net porque observei que o caminho eh parecido e acredito que funciona para o seu caso tambem, se eu estiver errado, me desculpe ta colega e espero ter ajudado.

Abraços.
CLINS 28/07/2010 12:04:37
#348700
E se colocar a cláusula DISTINCT no SQL ?

SELECT DISTINCT * FROM cadcoleta[Ô] 
Tópico encerrado , respostas não são mais permitidas