USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Crystal não reconhece o select enviado para ele
Álvaro
Pontos: 2843
GUARULHOS
SP - BRASIL
ENUNCIADA !
Postada em 05/05/2009 15:36 hs            
Galera o que pode estar de errado, abaixo segue os códigos para a criação de um select, para poder jogar no crystal.
O comando é criado perfeitamente, porém quando é enviado para o crystal, ele esta ignorando os dados do where e esta executa o sql que esta no crystal e não o que esta sendo mandado para ele.
Será que alguém pode dar uma força para mim?

Form Load
    Dim strSQL As String
    Dim campos As String
    Dim selecao As String
    Dim Ordem As String
    Dim Condicao As String
    Dim sEmpresas As String
    Dim sGroup As String
    Dim i As Integer
    Dim Y  As Integer
    Dim aux As Integer
    
    Dim Crystal As New CRAXDDRT.Application
    Dim Reports As CRAXDDRT.Report
    
    sEmpresas = ""
    aux = 0
    Ordem = " order by"
    sGroup = ""
    
    If frmConsAssoc.lstCmpSelect.ListCount > 0 Then
        If frmConsAssoc.cboRelatorio.ItemData(frmConsAssoc.cboRelatorio.ListIndex) = 1 And (Trim(frmConsAssoc.cboMes.Text) <> "" Or Trim(frmConsAssoc.txtAno.Text) <> "") Then
            Set Reports = Crystal.OpenReport(App.Path & "
el_assoc_empr.rpt")
        ElseIf frmConsAssoc.cboRelatorio.ItemData(frmConsAssoc.cboRelatorio.ListIndex) = 2 And (Trim(frmConsAssoc.cboMes.Text) <> "" Or Trim(frmConsAssoc.txtAno.Text) <> "") Then
            Set Reports = Crystal.OpenReport(App.Path & "
el_assoc_empr_end.rpt")
        ElseIf frmConsAssoc.cboRelatorio.ItemData(frmConsAssoc.cboRelatorio.ListIndex) = 1 And Trim(frmConsAssoc.cboMes.Text) = "" And Trim(frmConsAssoc.txtAno.Text) = "" Then
            Set Reports = Crystal.OpenReport(App.Path & "
el_assoc_empr_sfrase.rpt")
        ElseIf frmConsAssoc.cboRelatorio.ItemData(frmConsAssoc.cboRelatorio.ListIndex) = 2 And Trim(frmConsAssoc.cboMes.Text) = "" And Trim(frmConsAssoc.txtAno.Text) = "" Then
            Set Reports = Crystal.OpenReport(App.Path & "
el_assoc_empr_end_sfrase.rpt")
        End If
  
        strSQL = "SELECT tbEmpresas.codEmpr, tbEmpresas.nomeEmpr " & _
             "   FROM tbEmpresas INNER JOIN tbAssociados ON tbEmpresas.codEmpr = tbAssociados.codEmpr "
    Else
        Set Reports = Crystal.OpenReport(App.Path & "
el_assoc.rpt")
  
        strSQL = "SELECT * " & _
             "   FROM tbEmpresas INNER JOIN tbAssociados ON tbEmpresas.codEmpr = tbAssociados.codEmpr "
    End If
    
    If frmConsAssoc.chkAposentados = 1 Then
        Condicao = " Where aposentado = True"
    ElseIf frmConsAssoc.chkDemitidos = 1 Then
        Condicao = " Where demAssociado <> '__/__/____'"
    ElseIf frmConsAssoc.chkAfastados = 1 Then
        Condicao = " Where afastado = True"
    Else
        Condicao = " Where codAssociado <> 0"
    End If
          
    If frmConsAssoc.optAtiva = True Then
        Condicao = Condicao & " and Inativo = False"
    ElseIf frmConsAssoc.optInativa = True Then
        Condicao = Condicao & " and Inativo = True"
    Else
        Condicao = Condicao & " and codAssociado <> 0"
    End If
        
    If frmConsAssoc.cmbProcPor <> "" Then
        If frmConsAssoc.cmbProcPor = "Nome" Then
            Condicao = Condicao & " and nomeAssociado like '" & frmConsAssoc.Text1 & "%'"
        ElseIf frmConsAssoc.cmbProcPor = "Código" Then
            Condicao = Condicao & " and codAssociado = " & IIf(IsNumeric(frmConsAssoc.Text1) = True, frmConsAssoc.Text1, 0)
        ElseIf frmConsAssoc.cmbProcPor = "Documento" Then
            Condicao = Condicao & " and cpfAssociado like '" & frmConsAssoc.Text1 & "%'"
        ElseIf frmConsAssoc.cmbProcPor = "Matrícula" Then
            Condicao = Condicao & " and matricula  like '" & frmConsAssoc.Text1 & "%'"
        ElseIf frmConsAssoc.cmbProcPor = "Cidade" Then
            Condicao = Condicao & " and cidadeAssociado like '" & frmConsAssoc.Text1 & "%'"
        ElseIf frmConsAssoc.cmbProcPor = "CEP" Then
            Condicao = Condicao & " and cepAssociado like '" & frmConsAssoc.Text1 & "%'"
        End If
    End If

    If frmConsAssoc.lstCmpSelect.ListCount > 0 Then
        For i = 0 To frmConsAssoc.lstCmpSelect.ListCount - 1
            sEmpresas = sEmpresas & frmConsAssoc.lstCmpSelect.ItemData(i) & ","
        Next i
        
        Condicao = Condicao & " and tbEmpresas.codempr in (" & Mid(sEmpresas, 1, Len(sEmpresas) - 1) & ")"
    End If
            
    Condicao = Condicao & " and dtInscricao >=#" & Format(frmConsAssoc.dtDE.Value, "mm/dd/yyyy") & "#"
    Condicao = Condicao & " and dtInscricao <=#" & Format(frmConsAssoc.dtATE.Value, "mm/dd/yyyy") & "#"
    
    If frmConsAssoc.lstCmpSelect.ListCount > 0 Then
        Ordem = " order by nomeEmpr ASC "
'        Ordem = " order by " & frmConsAssoc.cboOrdem.Text & " ASC "
        sGroup = " group by tbEmpresas.codEmpr, tbEmpresas.nomeEmpr"

        If frmConsAssoc.cboOrdem.Text = "Matrícula" Then
            Reports.OpenSubreport("assoc").RecordSortFields(1).SortDirection = crAscendingOrder
        ElseIf frmConsAssoc.cboOrdem.Text = "Chapa" Then
            Reports.OpenSubreport("assoc").RecordSortFields(1).SortDirection = crAscendingOrder
        ElseIf frmConsAssoc.cboOrdem.Text = "Nome do Associado" Then
            Reports.OpenSubreport("assoc").RecordSortFields(1).SortDirection = crAscendingOrder
        Else
            Reports.OpenSubreport("assoc").RecordSortFields(1).SortDirection = crAscendingOrder
        End If
    Else
        If frmConsAssoc.cboOrdem.Text = "Matrícula" Then
            Ordem = " order by matricula ASC "
        ElseIf frmConsAssoc.cboOrdem.Text = "Chapa" Then
            Ordem = " order by chapa ASC "
        ElseIf frmConsAssoc.cboOrdem.Text = "Nome do Associado" Then
            Ordem = " order by nomeAssociado ASC "
        Else
            Ordem = " order by nomeAssociado ASC "
        End If
    End If

    If frmConsAssoc.cboMes.Text <> "" Then
        Reports.FormulaFields(2).Text = Chr(34) & "Referência: " & frmConsAssoc.cboMes.Text & "/" & frmConsAssoc.txtAno.Text & Chr(34)
    End If
        
    Reports.DiscardSavedData
    Reports.Database.SetDataSource Conexao
    Reports.SQLQueryString = strSQL & Condicao & sGroup & Ordem 'Ordem & sGroup
    Reports.EnableParameterPrompting = False
    CRV.ReportSource = Reports
    CRV.ViewReport
    CRV.EnablePrintButton = True
Screen.MousePointer = vbDefault
End

Exemplo de comando enviado para o crystal
SELECT tbEmpresas.codEmpr, tbEmpresas.nomeEmpr    FROM tbEmpresas INNER JOIN tbAssociados ON tbEmpresas.codEmpr = tbAssociados.codEmpr  Where codAssociado <> 0 and Inativo = True and nomeAssociado like 'a%' and tbEmpresas.codempr in (1) and dtInscricao >=#01/01/2006# and dtInscricao <=#05/05/2009# group by tbEmpresas.codEmpr, tbEmpresas.nomeEmpr order by nomeEmpr ASC





No crystal
No menu Database - Show Sql Query
SELECT DISTINCT `tbEmpresas`.`codEmpr`, `tbEmpresas`.`nomeEmpr`
FROM   `tbEmpresas` `tbEmpresas`
ORDER BY `tbEmpresas`.`nomeEmpr

O comando que está sendo executado é o que está no crystal e não o que está sendo enviado para ele

Abraço a todos
   
Álvaro
Pontos: 2843
GUARULHOS
SP - BRASIL
ENUNCIADA !
Postada em 07/05/2009 14:25 hs            
Pessoal alguém pode me dar uma força com esse probleminha?
   
Álvaro
Pontos: 2843
GUARULHOS
SP - BRASIL
ENUNCIADA !
Postada em 08/05/2009 11:14 hs            
Alguém ...
TÓPICO EDITADO
 
Álvaro
Pontos: 2843
GUARULHOS
SP - BRASIL
ENUNCIADA !
Postada em 11/05/2009 08:09 hs            
Alguém ...
   
Álvaro
Pontos: 2843
GUARULHOS
SP - BRASIL
ENUNCIADA !
Postada em 12/05/2009 20:29 hs            
Alguém ...
   
Alexandre.cg
Pontos: 2843 Pontos: 2843
PATOS DE MINAS
MG - BRASIL
ENUNCIADA !
Postada em 13/05/2009 09:35 hs            
alvaro, dentro do crystal no seu relatorio, vai no menu file/save data with, e desmarca essa opcao, salva e rode novamente ok.
   
Página(s): 1/2      PRÓXIMA »

CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página