Ir para conteúdo

eduardohaag

Members
  • Total de itens

    49
  • Registro em

  • Última visita

Tudo que eduardohaag postou

  1. eduardohaag

    Somar dados do Select e Agrupas

    Como não estou conseguindo resolver o problema. Decidi tratar o retorno da consulta direto no codigo do sistema. Sei que não é o ideal, mas é o que consigo fazer no momento. Ainda aguardo algum auxilio de vocês aqui. Obrigado.
  2. eduardohaag

    Somar dados do Select e Agrupas

    Boa noite pessoal, Esbarrei em um novo problema com consultas no meu sistema. Tenho um formulário no sistema que deverá apresentar todos os materiais utilizados em uma determinada Venda e seus respectivos estoques obtidos através da soma das entradas e saidas do estoque. Para isso devo buscar os dados em 3 tabelas do banco de dados sendo elas VendasProdutos, Composicao, Materiais e Estoque Eis que surge meu problema, como posso ter vários produtos na venda e alguns produtos usam os mesmos materiais, a consulta está retornando com os materiais duplicados, quando o que eu gostaria era que somasse de acordo com cada material. A query que estou usando para teste no acesso é a seguinte: SELECT Composicao.IdMaterial, materiais.descricao, Sum(Estoque.Quantidade) AS Estoque, [VendasProdutos]![Quantidade]*[Composicao]![Quantidade] AS TotalUtilizado FROM (VendasProdutos LEFT JOIN (materiais RIGHT JOIN Composicao ON materiais.ID = Composicao.IdMaterial) ON VendasProdutos.IdProduto = Composicao.IdProduto) LEFT JOIN Estoque ON materiais.ID = Estoque.IdMaterial GROUP BY Composicao.IdMaterial, materiais.descricao, [VendasProdutos]![Quantidade]*[Composicao]![Quantidade], VendasProdutos.IdVenda HAVING (((VendasProdutos.IdVenda)=1)); A consulta está retornando os dados dessa forma: E eu gostaria de que agrupasse por ex: ID Descricao Estoque TotalUtilizado 1 Capa Agenda 34 10 2 Miolo Agenda 27 5 Alguem Sabe como posso fazer isso? Desulpem pelo post gigante, mas não sabia como explicar melhor.
  3. eduardohaag

    Somar dados do Select e Agrupas

    Ja tentei de tudo o que me parecia Lógico, mas até agora não consegui alcançar o resultado esperado. O mais próximo que consegui foi com a query SELECT Composicao.IdMaterial, Materiais.descricao, Sum(Estoque.Quantidade) AS SomaDeQuantidade, Sum([VendasProdutos]![Quantidade]*[Composicao]![Quantidade]) AS QuantidadeMaterial FROM VendasProdutos LEFT JOIN ((Materiais LEFT JOIN Estoque ON Materiais.ID = Estoque.IdMaterial) RIGHT JOIN Composicao ON Materiais.ID = Composicao.IdMaterial) ON VendasProdutos.IdProduto = Composicao.IdProduto GROUP BY Composicao.IdMaterial, Materiais.descricao; Porém os valores nos retornos são totalmente maior do que deveria ser.
  4. eduardohaag

    Somar dados do Select e Agrupas

    Montei ela dentro do gerador de consulta do Access. Uso o Access pois me permite realizar os testes mais rapidos.
  5. eduardohaag

    [Resolvido] Calculos na consulta SQL

    Antes de expor minha duvida gostaria de dizer que pesquisei bastante a respeito e não consegui achar a solução.Meu problema é o seguinte:Estou trabalhando em um relatório que gera uma listagem de produtos que vendo e em uma das colunas deve constar o preço de custo do produto de acordo com os preços do materiais e quantidade de cada material utilizado.Estou trabalhando em VB utilizando banco de dados access.Problema está em fazer esse calculo do preço de custo direto na Query SQL.No banco de dados exitem as tabelas Produtos, Composição e MateriaisColunas: Produtos: ID, Descrição, PreçoVenda, PesoMateriais: ID, Descrição, PreçoCompra, Unidade...Composição: ID, IdProduto, IdMaterial, Quantidade.Precisaria que a consulta multiplicasse a quantidade de cada material utilizado para produzir o produto, pelo preço de compra do material e retornasse o valor total dos materiais utilizados.Não sei se fui muito claro, mas espero que alguém consiga me ajudar.Já agradeço de antemão
  6. eduardohaag

    [Resolvido] Calculos na consulta SQL

    Resolvido sim, obrigado pelo apoio.
  7. eduardohaag

    [Resolvido] Erro ao ler xml

    Optei por fazer criar um banco de dados com todos os feriados e fazer a consulta direto dentro do sistema sem usar o webservice. Obrigado pelo auxilio
  8. eduardohaag

    [Resolvido] Erro ao ler xml

    Olá estou criando um sistema onde preciso calcular a previsão de envio do pedido em dias uteis, para isso estou usando um webservice gratuito que retorna um xml, porém estou tendo o erroSystem.XML.XmlException: 'Dados no nível raiz inválidos. Linha 1, posição 1.' Meu código é Sub Preenchedata() Dim sql = "SELECT PrazoPadraoProducao FROM Configuracoes" Dim dr As DataTable = AcessoDB.ExecutarComando(sql, CommandType.Text, Nothing, AcessoDB.TipoDeComando.ExecuteDataTable) Dim ds As New DataSet Dim xml As String = "https://elekto.com.br/api/Calendars/br-BC/Add?initialDate=" & Now.Year & "-" & Now.Month & "-" & Now.Day & "&days=" & dr.Rows(0).Item(0) & "&type=work" ds.ReadXml(xml) e o xml retornado é <dateTime xmlns="http://schemas.microsoft.com/2003/10/Serialization/">2019-05-03T00:00:00Z</dateTime> Alguém tem alguma ideia de como posso eliminar o erro?
  9. eduardohaag

    [Resolvido] Erro ao ler xml

    Estava tentando passar o retorno para um dataset. A documentação do webservice esta em https://elekto.com.br/Blog/ComoConsumirApiDeCalendarios Estou tentando utilizar a parte de Calendars/:businessCalendarCode/Add.
  10. eduardohaag

    [Resolvido] Calculos na consulta SQL

    Consegue resolver colocando uma query dentro de outra, obrigado.
  11. eduardohaag

    Listas primarias e secundarias

    Obrigado pela dica. Agora sei pelo menos o nome do que devo procurar. Não tenho preguiça de pesquisar, não sabia por onde começar. Obrigado novamente.
  12. eduardohaag

    Listas primarias e secundarias

    Olá sou amador e iniciante em programação. Estou trabalhando em um projeto onde tenho uma tela com uma lista de pedidos, com varias colunas como, ID, cliente, previsão de entrega, valor total. Gostaria de colocar uma coluna com o texto "visualizar", que quando ocorresse um click, abrisse abaixo da linha selecionada uma lista secundaria com os produtos do pedido, quantidade, preço etc... Porém não tenho a menor noção de como fazer isso. Pode ser que exista algum controle que tenha essa possibilidade. Estou trabalhando com vb.net.
  13. eduardohaag

    Mudar reportviewer via codigo

    Bom tentei de tudo já e não tive sucesso. A unica solução que consegui é utilizar um reportviewer pra cada relatório a ser gerado.
  14. eduardohaag

    Mudar reportviewer via codigo

    Olá pessoal, Estou trabalhando em um projeto que preciso gerar diversos relatório, porém não queria ter de criar um Userform pra cada relatório, por isso criei um Userform com um reportviewer e crio os relatórios, e apenas faço a mudança de qual relatório exibir via código. Até ai tudo bem, meu problema surge nos relatórios que preciso usar um dataset para popular o mesmo. Tenho um dataset chamado "Same_relDataset.xsd" onde possui varios Datatable, como por exemplo "rel_ls_clientes" e "rel_ls_produtos", um para cada relatório. Preciso mudar a fonte de dados do reportviewer via código para que eu possa fazer em tempo de execução. Já li varios tutoriais principalmente sobre a instrução datasource.add do reportviewer mas até agora não obtive sucesso.
  15. eduardohaag

    Mudar reportviewer via codigo

    Sim o dataset está prenchido. Não utilizei essa linha porque apresenta o seguinte erro "Erro 16 Acesso à propriedade deve atribuir à propriedade ou usar seu valor." antes mesmo de executar. E não faço a menor ideia de como usar essa propriedade. A linha no vb.net ficou assim: relatórios.ReportViewer1.DataBindings()
  16. eduardohaag

    Mudar reportviewer via codigo

    Favor desconsiderar o código acima, e considerar o abaixo: Não apresenta nenhum erro, mas quando a janela do reportviewer abre, no lugar do relatório aparece "Não foi fornecida nenhuma instância de origem de dados para a origem de dados 'same_relDataSet'" Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\programa loja\same_rel.mdb") Dim cmd As OleDbCommand Dim sql As String Dim i As Integer = 0 Dim filtro As String conn.Open() '->>>>>>>> relatórios.ReportViewer2.Reset() relatórios.ReportViewer2.LocalReport.ReportEmbeddedResource = "Same_1._0___Alpha.Report3.rdlc" Dim rds As New ReportDataSource("same_relDataset_Table", getData()) relatórios.ReportViewer2.LocalReport.DataSources.Clear() relatórios.ReportViewer2.LocalReport.DataSources.Add(rds) relatórios.ReportViewer2.LocalReport.Refresh() '------>>>>> If tb_desc.Text = "" Then If cb_tipo.Text = "" Then filtro = "Nenhum" Else filtro = "Tipo => " & cb_tipo.Text End If Else If cb_tipo.Text = "" Then filtro = "Descrição => " & tb_desc.Text Else filtro = "Descrição => " & tb_desc.Text & " Tipo => " & cb_tipo.Text End If End If relatórios.ReportViewer2.LocalReport.SetParameters(New ReportParameter("filtro", filtro)) relatórios.ReportViewer2.LocalReport.SetParameters(New ReportParameter("qtd", lb_itens.Text)) relatórios.MdiParent = principal relatórios.Show() End Sub Private Sub rptGetDataset() Dim ds As New DataSet() ds.DataSetName = "same_relDataset" Dim sql As String = "" sql = "SELECT * FROM rel_ls_produtos" Dim da As New OleDbDataAdapter(sql, conn) da.Fill(ds) End Sub Private Function getData() As DataTable Dim dss As New DataSet() Dim sql As String = "" sql = "SELECT * FROM rel_ls_produtos" Dim da As New OleDbDataAdapter(sql, conn) da.Fill(dss) Dim dt As DataTable = dss.Tables(0) Return dt End Function
  17. eduardohaag

    Mudar reportviewer via codigo

    Segue abaixo. Pode ser que eu esteja cometendo algum erro muito simples, mas não estou conseguindo achar, até mesmo por ser um amador da programação rsrs. A principio o código roda sem problema algum, mas quando abre a janela do relatório ele não carrega data, simplesmente o reportviewer aparece em branco. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\programa loja\same_rel.mdb") Dim cmd As OleDbCommand Dim sql As String Dim i As Integer = 0 Dim filtro As String conn.Open() '->>>>>>>> relatórios.ReportViewer2.Reset() relatórios.ReportViewer2.LocalReport.ReportEmbeddedResource = "Same_1._0___Alpha.Report3.rdlc" Dim rds As New ReportDataSource("same_relDataset_Table", getData()) relatórios.ReportViewer2.LocalReport.DataSources.Clear() relatórios.ReportViewer2.LocalReport.DataSources.Add(rds) relatórios.ReportViewer2.LocalReport.Refresh() '------>>>>> conn.Close() relatórios.MdiParent = principal relatórios.Show() End Sub Private Sub rptGetDataset() Dim ds As New DataSet() ds.DataSetName = "same_relDataset" Dim sql As String = "" sql = "SELECT * FROM rel_ls_produtos" Dim da As New OleDbDataAdapter(sql, conn) da.Fill(ds) End Sub Private Function getData() As DataTable Dim dss As New DataSet() Dim sql As String = "" sql = "SELECT * FROM rel_ls_produtos" Dim da As New OleDbDataAdapter(sql, conn) da.Fill(dss) Dim dt As DataTable = dss.Tables(0) Return dt End Function
  18. eduardohaag

    Mudar reportviewer via codigo

    Desculpe é vb.net mesmo. Exatamente essa parte que fiz a conversão.
  19. eduardohaag

    Mudar reportviewer via codigo

    Conferi o link mas como sou meio noob em programação principalmente quando se trata de tratamento de dados, não consegui fazer funcionar aqui. Converti o código do link pra .net usando o http://converter.telerik.com/ e fiz as adaptações pro meu projeto, mas não funcionou.
  20. eduardohaag

    [Resolvido] Consulta ao banco de dados retornando NULL

    Deu certo, muito obrigado amigo
  21. eduardohaag

    [Resolvido] Consulta ao banco de dados retornando NULL

    Olá, tenho uma consulta a um banco de dados access feito com a seguinte query: "SELECT SUM(quantidade) FROM estoque WHERE codproduto=" & tb_cod.text & "" Quando não é encontrado o resultado no banco de dados referente a Clausula WHERE está me retornando NULL, porém eu uso o resultado dessa busca em alguns cálculos. Precisaria que caso o retorno fosse NULL fosse possivel usar o valor 0. Ja tentei fazer da seguinte maneira que li em outro forum mas não funcionou: "SELECT ISNULL(SUM(quantidade),0) FROM estoque WHERE codproduto=" & tb_cod.text & ""
  22. Olá, tenho uma consulta a um banco de dados access feito com a seguinte query: "SELECT SUM(quantidade) FROM estoque WHERE codproduto=" & tb_cod.text & "" Quando não é encontrado o resultado no banco de dados referente a Clausula WHERE está me retornando NULL, porém eu uso o resultado dessa busca em alguns cálculos. Precisaria que caso o retorno fosse NULL fosse possivel usar o valor 0. Ja tentei fazer da seguinte maneira que li em outro forum mas não funcionou: "SELECT ISNULL(SUM(quantidade),0) FROM estoque WHERE codproduto=" & tb_cod.text & ""
  23. Olá tenho esse código que encontrei na internet para formatar um textbox como moeda enquanto digito no mesmo. Public Class utils ''' <summary> ''' Método que formata para moeda o conteúdo de um TextBox ''' </summary> ''' <param name="txt">Controle a ser formatado</param> ''' <remarks></remarks> Public Shared Sub TextBoxMoeda(ByRef txt As TextBox) Dim n As String = String.Empty Dim v As Double = 0 Try n = txt.Text.Replace(",", "").Replace(".", "") If n.Equals("") Then n = "000" n = n.PadLeft(3, "0") If n.Length > 3 And n.Substring(0, 1) = "0" Then n = n.Substring(1, n.Length - 1) v = Convert.ToDouble(n) / 100 txt.Text = String.Format("{0:N}", v) txt.SelectionStart = txt.Text.Length Catch ex As Exception MessageBox.Show(ex.Message, "TextBoxMoeda") txt.Text = "" End Try End Sub End Class Porém o código formata com 2 casas decimais, eu necessito que a formatação seja com 3 casas decimais. Alguém tem ideia do que posso mudar no código?
  24. eduardohaag

    [Resolvido] Mascara de entrada com casas decimais

    Legal, funcionou com o seu método. Obrigado
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.