
Gabriel Cabral
Membros-
Total de itens
406 -
Registro em
-
Última visita
Tudo que Gabriel Cabral postou
-
Texto não aparece no DataReport
pergunta respondeu ao Gabriel Cabral de Gabriel Cabral em Visual Basic
Tem razão, Macêdo....faz muito sentido Inverti aqui e deu tudo certo Muito obrigado -
Olá Macêdo....estou fazendo algo parecido com isto... No meu caso é a soma das contas a pagar e a receber em um período... Mas o problema está justamente no período... Aqui está o código um pouco modificado do seu tutorial...ele seleciona os campos e as somas e dps tira a diferença... Dim Conex As New ADODB.Connection Conex.Open StringDeConexao With cmd_relatorio .ActiveConnection = Conex .CommandType = adCmdText .CommandText = "SELECT Con_Venc, Con_NumDoc, Con_ContParc, Con_DataEmissao, Con_Boleto, Con_NomeFantasia, Con_Tipo, FinanWin_Contas.Con_ValorCR, FinanWin_Contas.Con_ValorCP, (Select Sum(Con_ValorCR) as totalCR From FinanWin_Contas WHERE isNull(Con_ValorPgtoCR) AND Con_Venc BETWEEN #" & txtDataInicial & "# AND #" & txtDataFinal & "#) as totalCR, (select sum(Con_ValorCP) as totalCP from FinanWin_Contas WHERE isNull(Con_ValorPgtoCP) AND Con_Venc BETWEEN #" & txtDataInicial & "# AND #" & txtDataFinal & "#) as totalCP FROM FinanWin_Contas WHERE isNull(Con_ValorPgtoCP) AND isNull(Con_ValorPgtoCR) ORDER BY Con_Tipo, Con_Venc" Set rs_relatorio = .Execute rptBalConPConR.Sections("Section5").Controls("lblSomaCR").Caption = rs_relatorio!totalCR rptBalConPConR.Sections("Section5").Controls("lblSomaCP").Caption = rs_relatorio!totalCP Dim somaCR As Currency Dim somaCP As Currency Dim dif As Currency somaCR = rs_relatorio!totalCR somaCP = rs_relatorio!totalCP dif = somaCR - somaCP rptBalConPConR.Sections("Section5").Controls("lblDif").Caption = dif rptBalConPConR.Sections("Section5").Controls("lblSomaCR").Caption = Format(rptBalConPConR.Sections("Section5").Controls("lblSomaCR").Caption, "##0.00") rptBalConPConR.Sections("Section5").Controls("lblSomaCP").Caption = Format(rptBalConPConR.Sections("Section5").Controls("lblSomaCP").Caption, "##0.00") rptBalConPConR.Sections("Section5").Controls("lblDif").Caption = Format(rptBalConPConR.Sections("Section5").Controls("lblDif").Caption, "##0.00") If dif < 0 Then rptBalConPConR.Sections("Section5").Controls("RS_Dif").ForeColor = vbRed rptBalConPConR.Sections("Section5").Controls("lblDif").ForeColor = vbRed Else rptBalConPConR.Sections("Section5").Controls("RS_Dif").ForeColor = vbBlue rptBalConPConR.Sections("Section5").Controls("lblDif").ForeColor = vbBlue End If With rptBalConPConR Set .DataSource = rs_relatorio .DataMember = "" .Refresh .Show End With End With Aí vem o problema... Preciso especificar duas datas [Con_Venc] para selecionar os registros... Há seis registros cadastrados....o campo Con_Venc está preenchido com as seguintes datas: 15/02/08 15/03/08 15/04/08 20/02/08 20/03/08 20/04/08 Até aí tudo certo....as datas são nessa ordem mesmo que precisam ficar... Mas no form em q especifico as datas, se coloco 01/01/01 como datainicial e 10/10/10 como data final, ele me tras todos os registros sem nenhum problema [pois todos estão dentro dessas datas] Mas se quero gerar o relatorio com as contas do mes de março...se coloco 01/03/08 como datainicial e 31/03/08 como datafinal, ele dá o erro Run-time error '13': Type mismatch.... ...e seleciona esta linha: rptBalConPConR.Sections("Section5").Controls("lblSomaCR").Caption = rs_relatorio!totalCR Não sei porque está dando esse erro de tipo de dados... Você conseguiria me ajudar?? Obrigado
-
Texto não aparece no DataReport
pergunta respondeu ao Gabriel Cabral de Gabriel Cabral em Visual Basic
No General Declarations Public Conex As ADODB.Connection Public StringDeConexao As String Dim cmd_relatorio As New ADODB.Command Dim rs_relatorio As New ADODB.Recordset No Load do form em que o usuário digita as duas datas Private Sub Form_Load() StringDeConexao = "Provider=microsoft.jet.oledb.4.0;" & "Data Source=" & App.Path & "\FinanWin.mdb;" End Sub No evento Click do botão que gera o relatorio Private Sub cmdRelConPData_Click() If txtDataInicial.Text = "" Then MsgBox "Preencha a Data Inicial.", vbExclamation txtDataInicial.SetFocus ElseIf txtDataFinal.Text = "" Then MsgBox "Preencha a Data Final.", vbExclamation txtDataFinal.SetFocus Else Dim Conex As New ADODB.Connection Conex.Open StringDeConexao With cmd_relatorio .ActiveConnection = Conex .CommandType = adCmdText .CommandText = "SELECT * FROM FinanWin_Contas WHERE isNull(Con_ValorPgtoCP) AND Con_Tipo = 'CP' AND Con_Venc BETWEEN #" & txtDataInicial & "# AND #" & txtDataFinal & "# ORDER BY Con_Venc" Set rs_relatorio = .Execute End With With rptConPData Set .DataSource = rs_relatorio .DataMember = "" .Refresh .Show End With Dim DInicial As Date Dim DFinal As Date DInicial = txtDataInicial.Text DFinal = txtDataFinal.Text rptConPData.Sections("Section2").Controls("lblPeriodo").Caption = "Período de Referência: " & Format(DInicial, "DD/MM/YYYY") & " a " & Format(DFinal, "DD/MM/YYYY") End If End Sub Inclusive foi num tutorial que você postou aqui que eu aprendi usar o DataReport sem DataEnvironment -
Olá pessoas... Na Section2 do DataReport, tenho uma label chamada lblPeriodo.... Nela, quero especificar o período em que será gerado o relatorio... no botão que gera o relatorio, coloquei o seguinte: Dim DInicial As Date Dim DFinal As Date DInicial = txtDataInicial.Text DFinal = txtDataFinal.Text rptConPData.Sections("Section2").Controls("lblPeriodo").Caption = "Período de Referência: " & Format(DInicial, "DD/MM/YYYY") & " a " & Format(DFinal, "DD/MM/YYYY") As datas serão escolhidas pelo usuário... Mas isso não está aparecendo no relatorio....não dá erro nenhum, simplesmente não aparece... já verifiquei..o Visible = True Quando eu fazia o relatório no DataReport vinculado ao Data Environment, isso dava certo, mas agora que estou fazendo tudo com código, não está. alguém sabe como fazer aparecer no relatorio?? Obrigado
-
Somar valores de um campo em DataReport
pergunta respondeu ao Gabriel Cabral de Gabriel Cabral em Visual Basic
Mas eu preciso selecionar todos os campos para eles aparecerem no relatório.... e preciso da soma separadamente...pois se eu utilizar a função SUM do DataReport, eu estarei somando todos os valores do campo Con_Valor....sem separar qual o total de contas a pagar e qual o total de contas a receber... talvez seja isso que esteja me atrapalhando -
Somar valores de um campo em DataReport
pergunta respondeu ao Gabriel Cabral de Gabriel Cabral em Visual Basic
Serve sim.....vou tentar aqui e daqui a pouco volto pra agradecer ou pedir mais ajuda Obs.: uso Access...então o Iif dá certo Só uma outra coisa... Então como ficaria a instrução SQL, já q eu preciso selecionar todos os campos da tabela e ainda colocar uma cláusula????!! A pergunta "menos formal" seria: Como juntar isso SELECT * FROM FinanWin_Contas WHERE isNull (Con_DataPgto) AND Con_Venc BETWEEN ? AND ? com isso Select Sum(IIf(Con_Tipo = 'CP', Valor, 0)) As Valor_CP, Sum(IIf(Con_Tipo = 'CR', Valor, 0)) As Valor_Cr From Tabela ???? Obrigado -
Somar valores de um campo em DataReport
pergunta respondeu ao Gabriel Cabral de Gabriel Cabral em Visual Basic
Então kuroi....é q o campo VALOR é um só....Não existe um campo de Valor para CP e um campo de Valor para CR.... o que existe é um campo de valor....aí no campo tipo eu especifico se é CP ou CR... pra resolver isso eu teria q ter um campo de valor pra CP e outro pra CR?? Obrigado -
Bom dia pessoal......estou com uma dúvida imensa aqui...quebrando a cabeça mas não estou conseguindo achar uma lógica pro que estou precisando... Estou fazendo um relatório em DataReport e DataEnvironment. É um relatorio do balanço de contas a pagar e a receber em um determinado período. A instrução SQL que faz o filtro para gerar o relatorio é esta SELECT * FROM FinanWin_Contas WHERE isNull (Con_DataPgto) AND Con_Venc BETWEEN ? AND ? Até aí tudo bem... O problema surge agora: Eu gravo na mesma tabela os dados de contas a pagar e contas a receber, e apenas diferencio preenchendo o campo Con_Tipo com CP ou CR. No DataReport, preciso informar a soma das contas a pagar naquele período determinado e a soma das contas a receber. Se eu usar a função SUM do DataReport, vai somar tudo o que está no campo Con_Valor, pois não estará diferenciado qual o tipo da conta. Como eu conseguiria informar, no DataReport, a soma desses valores, separadamente, mesmo estando num único campo?? Seria na instrução SQL??? Como ficaria? alguém tem alguma ideia pra me ajudar?? Agradeço muito
-
Selecionar duas tabelas no DataReport
pergunta respondeu ao Gabriel Cabral de Gabriel Cabral em Visual Basic
Não funcionou, kuroi... eu fiz isso: SELECT ConP_Cod, ConP_NomeFantasia, ConP_NumParc, ConP_NumDoc, ConP_ContParc, ConP_DataEmissao, ConP_Valor, ConP_Obs, ConP_Boleto, ConP_DataPgto, ConP_ValorPgto, ConP_Venc FROM FinanWin_ConP WHERE isNull (ConP_DataPgto) AND ConP_Venc BETWEEN ? AND ? UNION ALL SELECT ConR_Cod, ConR_NomeFantasia, ConR_NumParc, ConR_NumDoc, ConR_ContParc, ConR_DataEmissao, ConR_Valor, ConR_Obs, ConR_DataPgto, ConR_ValorPgto, ConR_Venc FROM FinanWin_ConR WHERE isNull (ConR_DataPgto) AND ConR_Venc BETWEEN ? AND ? Mas aí na guia onde devo determinar os parametros [?], eles deixam de existir se eu coloco o UNION ALL; aí não consigo determimá-los. -
Selecionar duas tabelas no DataReport
pergunta respondeu ao Gabriel Cabral de Gabriel Cabral em Visual Basic
Não, Macêdo...são todos diferentes.... -
Então...a situação é a seguinte.... Em um unico relatorio, preciso colocar as contas a pagar e as contas a receber.. E uso DataReport com DataEnvironment... Na instrução SQL do comando no DataEnvironment, não sei como "juntar" as duas instruçoes q tenho....para selecionar as duas diferentes tabelas... A instrução que uso para selecionar as contas a pagar dentro de um período é SELECT ConP_Cod, ConP_NomeFantasia, ConP_NumParc, ConP_NumDoc, ConP_ContParc, ConP_DataEmissao, ConP_Valor, ConP_Obs, ConP_Boleto, ConP_DataPgto, ConP_ValorPgto, ConP_Venc FROM FinanWin_ConP WHERE isNull (ConP_DataPgto) AND ConP_Venc BETWEEN ? AND ? ? e ? são os parametros que vou definir, pois serão as datas escolhidas pelo usuario A instrução que uso para selecionar as contas a receber dentro de um período é SELECT ConR_Cod, ConR_NomeFantasia, ConR_NumParc, ConR_NumDoc, ConR_ContParc, ConR_DataEmissao, ConR_Valor, ConR_Obs, ConR_DataPgto, ConR_ValorPgto, ConR_Venc FROM FinanWin_ConR WHERE isNull (ConR_DataPgto) AND ConR_Venc BETWEEN ? AND ? Essas são as instruções.......agora eu precisava "juntá-las" para poder mostrar os dados das duas tabelas em um único relatorio. Espero q não esteja tão dificil de entender... Obrigado
-
Máscara de valor financeiro em DataReport
pergunta respondeu ao Gabriel Cabral de Gabriel Cabral em Visual Basic
Nossa... é relativamente fácil até... não precisa nada desses códigos é só ir na Propriedade DataFormat da textbox e alterar para Currency pronto....o numero fica com R$ e ,00 -
Bom dia pessoal... Tenho um campo que armazena preços; mas os valores "redondos" [os que não possuem centavos] é gravado no banco sem a ",00" Mas ao gerar o relatorio, gostaria que a ",00" aparecesse.... Na textbox de um form, faço o seguinte para o ",00" aparecer: txtConP_Valor.Text = Format(txtConP_Valor.Text, "##0.00") No relatorio, fiz o seguinte: rptConPNome.Sections("ConPNome_Detail").Controls("txtConP_Valor").Text = Format(rptConPNome.Sections("ConPNome_Detail").Controls("txtConP_Valor").Text, "##0.00") Mas não está dando certo. Dáo seguinte erro: Run-time error '438': Object doesn't support this property or method alguém sabe ajudar nesse assunto de máscara em DataReport??? Obrigado
-
Problemas com atualização para relatório
pergunta respondeu ao Gabriel Cabral de Gabriel Cabral em Visual Basic
então...eu utilizo o DataEnvironment pra fazer o Select e tal...aí eu especifico no DataSource do DataReport o Command relacionado.... no DataReport não faço nada com código...por isso não sei como dar o Refresh.. E eu estou finalizando o objeto ao fechar o relatorio... Esse é o unico codigo que existe no DataReport Private Sub DataReport_Terminate() Set DEFinanWin = Nothing End Sub DEFinanWin é o nome do Data Environment -
Problemas com atualização para relatório
pergunta respondeu ao Gabriel Cabral de Gabriel Cabral em Visual Basic
então....pensei nisso mesmo....mas como uso o Refresh usando ADO??? e onde uso??? no Unload do form de cadastro? no Activate do relatorio? -
Olá pessoas... Estou com um problema na atualização do BD para mostrar os registros num relatório Eu cadastro alguns registros em um form e depois vou e gero o relatorio para mostrar aqueles registros... Eu cadastro, fecho o form de cadastro e então gero o relatório...mas os registros cadastrados não aparecem Eles só aparecem se eu fechar o aplicativo todo e abri-lo novamente...aí sim gerar o relatorio... o que pode estar havendo aí? Obrigado
-
SQL para DataReport - Verificar Vencimento
pergunta respondeu ao Gabriel Cabral de Gabriel Cabral em Visual Basic
Quebrei a query.. Percebi que a parte que não está funcionando é a SELECT * FROM FinanWin_ConP WHERE ConP_DataPgto isNull ORDER BY ConP_Venc Se coloco isNull, fica impossivel determinar os campos agrupados no DataEnvironment, não sei porque... Se coloco = "", fica possível, mas ao gerar o relatorio, não aparece nenhum registro, como se não existisse, mas existem registros com o campo ConP_DataPgto vazio. A parte SELECT * FROM FinanWin_ConP WHERE ConP_Venc < Date() ORDER BY ConP_Venc está funcionando perfeitamente....exceto o order by -
SQL para DataReport - Verificar Vencimento
pergunta respondeu ao Gabriel Cabral de Gabriel Cabral em Visual Basic
então, tentei o isNull, mas tá dando a mensagem: Failed getting Rowset(s) from current data source Essa mensagem não aparece quando não há registros dentro das condições da instrução SQL ?!!! Mas existem registros sim !!! então não era pra estar dando essa mensagem -
Olá pessoas.... Estou criando um relatório de contas a pagar em atraso... As condições que precisam ser consideradas são * O campo da data de vencimento ser menor que a data do sistema E * O campo da data do pagamento estar vazio Utilizando um command no Data Environment, fiz a seguinte instrução SELECT * FROM FinanWin_ConP WHERE ConP_Venc < Date() AND ConP_DataPgto = "" ORDER BY ConP_Venc Mas quando gero o relatorio, não aparece registro nenhum.... Eu verifiquei e existem registros que atendem a essas condições alguém sabe se tem algo errado ae? Obrigado
-
ORDER BY não está funcionando em relatório
pergunta respondeu ao Gabriel Cabral de Gabriel Cabral em Visual Basic
kuroi, o pior é que o campo não está como tipo texto....está como tipo Date/Time mesmo por isso q não sei o que pode estar havendo :( -
ORDER BY não está funcionando em relatório
pergunta respondeu ao Gabriel Cabral de Gabriel Cabral em Visual Basic
então....apesar de você ter esquecido uma instrução, eu coloquei tudo lá..aí coloquei asc e não deu em nada....então coloquei ASC e tambem não deu em nada -
ORDER BY não está funcionando em relatório
pergunta respondeu ao Gabriel Cabral de Gabriel Cabral em Visual Basic
Ae raphael, valeu pela dica....mas o asc não funcionou :( -
Olá pessoas... Tenho um relatório de contas a pagar, em que gostaria de ordenar os registros por data de vencimento... Mas isto não está ocorrendo....os registros do relatorio estao ordenados dessa forma: Vencimento 10/10/10 10/11/10 10/12/10 01/01/08 01/02/08 01/03/08 01/04/08 01/05/08 O Select no DataEnvironment está assim: SELECT * FROM FinanWin_ConP WHERE ConP_Venc BETWEEN ? AND ? ORDER BY ConP_Venc Algo errado aí? Agradeço ajuda
-
Por causa de dois apóstrofes intrusos, eu estava quebrando a cabeça... Troquei o Like por '=' Aí deu erro de tipo de dados... Aí fui ver que na condição Where, estava isso: WHERE Cli_Cod = '" & txtCli_Cod & "'" Sendo que o correto é isso: WHERE Cli_Cod = " & txtCli_Cod & "" Muito obrigado macedo
-
Provider e Parâmetros de DataEnvironment
pergunta respondeu ao Gabriel Cabral de Gabriel Cabral em Visual Basic
Não.....não crio no DataManager não eu crio lá no Access mesmo mas então vou experimentar isso de converter para 2000 Obrigado