Álvaro
|
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
|
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
|
GUARULHOS SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 08/05/2009 11:14 hs
Alguém ...
|
TÓPICO EDITADO
|
|
|
|
Álvaro
|
GUARULHOS SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 11/05/2009 08:09 hs
Alguém ...
|
|
|
Álvaro
|
GUARULHOS SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 12/05/2009 20:29 hs
Alguém ...
|
|
|
|
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.
|
|
|