Jump to content

eduardohaag

Members
  • Content count

    50
  • Joined

  • Last visited

Community Reputation

0 Comum

About eduardohaag

  • Birthday 03/24/1991

Informações Pessoais

  • Sexo
    Masculino
  • Localização
    Jaraguá do Sul, SC

Contato

  • Facebook
    https://www.facebook.com/eduardofelipe.haag
  1. eduardohaag

    Busca empresa com menos funcionarios

    Tive de utilizar subselect mesmo, em união com a função TOP. Obrigado pelo auxilio.
  2. Olá pessoal, Estou trabalhando em um projeto de estudo onde tenho uma tabela onde possui o cadastro de funcionários e a empresa onde trabalha. Preciso criar uma query que retorne o nome da empresa que possui a menor quantidade de funcionários. Tenho em minha mente que parece uma coisa simples, possivelmente utilizando as funções Count e MIN, mas não estou conseguindo chegar a um raciocino pra chegar nessa condição.
  3. eduardohaag

    Controle de trabalho usando threads

    Olá, Mais uma vez aqui estou eu com uma duvida que não estou conseguindo resolver. Estou desenvolvendo um ERP para a grafica da minha esposa. Nesse sistema existe um modulo que registra o tempo trabalhado. Para fazer isso existe um botão no formulário principal, que quando é clicado salva a hora na variável entrada, e quando clicado novamente ele registra no banco de dados o intervalo entre a entrada e saida. Até ai tudo ok. Porém as vezes a pessoa sai e esquece de clicar para registrar a saida. Então gostaria de fazer com que a cada 5 minutos fosse verificado se teve alteração na posição do ponteiro do mouse, porém permitindo que o usuário possa usar o programa. Procurando na internet descobri que para isso o melhor seria usar uma thread para fazer essa verificação da posição do mouse em segundo plano já que seria executado a cada 5 minutos e dessa forma travaria a execução do form principal. O problema está que quando ele detecta que mouse ficou parado por mais de 5 minutos e executa o codigo que salvo o intervalo no banco de dados acontece esse erro quando chega na linha "btEntrada.Text = "Registrar Entrada"" : "System.InvalidOperationException: 'Operação entre threads inválida: controle 'ToolStrip1' acessado de um thread que não é aquele no qual foi criado.' Li que tenho que usar algo como invoke e delegate, mas mesmo estudando não consegui entender como implementar. meu codigo é o seguinte: Imports System.ComponentModel Public Class Principal_content Dim saida As DateTime Dim tempo As TimeSpan Dim entrada As DateTime Dim ponteiro As Point Sub GerPonto() Do Threading.Thread.Sleep(5000) If ponteiro = Cursor.Position Then Call registraponto() End If ponteiro = Cursor.Position Loop End Sub Private Sub btEntrada_Click(sender As Object, e As EventArgs) Handles btEntrada.Click Call registraponto End Sub Sub registraponto() Dim trd = New Threading.Thread(AddressOf GerPonto) If btEntrada.Text = "Registrar Entrada" Then entrada = FormatDateTime(Now) btEntrada.Text = "Registrar Saida" btEntrada.ToolTipText = "Registrar Saida" btEntrada.Image = My.Resources.appointment_new_Ativo btEntrada.ForeColor = Color.Lime trd.Start() Else trd.Abort() saida = Now tempo = saida.Subtract(entrada) sql = "INSERT INTO ponto (Data, Entrada, Saida, Segundos) VALUES (#" & Format(entrada, "MM/dd/yyyy") & "#, #" & Format(entrada, "hh:mm:ss") & "#, #" & Format(saida, "hh:mm:ss") & "#, " & Replace(FormatNumber(tempo.TotalSeconds, 0, TriState.False, TriState.False, TriState.False), ",", ".") & ")" btEntrada.Text = "Registrar Entrada" btEntrada.Text = "Registrar Entrada" btEntrada.Image = My.Resources.appointment_new_desativo btEntrada.ForeColor = Color.Red AcessoDB.ExecutarComando(sql, CommandType.Text, Nothing, AcessoDB.TipoDeComando.ExecuteNonQuey) End If End Sub End Class
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. eduardohaag

    [Resolvido] Calculos na consulta SQL

    Resolvido sim, obrigado pelo apoio.
  9. 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
  10. 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.
  11. 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?
  12. eduardohaag

    [Resolvido] Calculos na consulta SQL

    Consegue resolver colocando uma query dentro de outra, obrigado.
  13. 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
  14. 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.
  15. 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.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.