Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Módulo Orçamento 2.0

Fórum para agrupar todas as propostas de modelos de planilhas de Excel que essa comunidade consegue imaginar. Teve uma idéia? Produziu algo bem bacana? Esse é o lugar!

Moderador: Rafael Monteiro

Avatar do usuário
LEANDRO ALVES
Manda bem
Manda bem
Mensagens: 161
Registrado em: Dom Jul 25, 2010 7:41 pm

Re: Módulo Orçamento 2.0

Mensagem por LEANDRO ALVES »

Bom dia,

Penso que para a sua lógica funcionar, voce deveria incluir uma chave estrangeira referenciando o código do cliente em sua tabela "tbPPereciveis_Grade". Depois disso uma instrução SQL deve resolver. Ficaria mais ou menos assim: "SELECT * FROM tbPPereciveis_Grade WHERE (CodigoProduto=CodigoProduto) AND (CodigoCliente=CodigoCliente).

Abraços


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


edgarki
Acabou de chegar
Acabou de chegar
Mensagens: 8
Registrado em: Seg Jun 10, 2013 5:35 pm

Re: Módulo Orçamento 2.0

Mensagem por edgarki »

LEANDRO ALVES escreveu:Bom dia,

Penso que para a sua lógica funcionar, voce deveria incluir uma chave estrangeira referenciando o código do cliente em sua tabela "tbPPereciveis_Grade". Depois disso uma instrução SQL deve resolver. Ficaria mais ou menos assim: "SELECT * FROM tbPPereciveis_Grade WHERE (CodigoProduto=CodigoProduto) AND (CodigoCliente=CodigoCliente).

Abraços
Leandro, boa tarde.

Desculpe pela minha ignorância no tema, mas o meu conhecimento é baseado nos projetos de vocês, então o que eu fiz e ainda continua dando erro baseado na sua informação.

Eu utilizei a chave estrangeira como você informou com o mesmo nome que você utilizou no seu projeto inicial "nro_orçamento"(tbPPereciveis_Detalhe)->"nro_orçamento"(tbPPereciveis_grade)

Código: Selecionar todos

 sqlOrçGrad = "SELECT * FROM tbPPereciveis_Grade WHERE (nro_orçamento=nro_orçamento)"
A informação apresentada fala do "erro de sintaxe, (operador faltando) na expressão de consulta. '(nro_orçamento=nro_orçamento) WHERE qtde LIKE' %%". Informo que "nro_orçamento" já esta com a chave estrangeira referenciando a outra tabela.

Se puder me ajudar agradeço.

Abraços


Avatar do usuário
LEANDRO ALVES
Manda bem
Manda bem
Mensagens: 161
Registrado em: Dom Jul 25, 2010 7:41 pm

Re: Módulo Orçamento 2.0

Mensagem por LEANDRO ALVES »

Olha só amigo,

Pelo que entendi seu código está funcionando, porém está retornando os produtos de todos os clientes e voce quer que retorne os produtos de apenas um cliente. Se for isso mesmo, basta mudar a instrução SQL conforme expliquei anteriormente. Vou tentar se mais detalhista em minha explicação. Suponhamos que voce tem uma coluna chamada código (que é a chave primária) em sua tabela tbPPereciveis_Grade para tornar distinto cada registro inserido na mesma (isto é o correto). Se além disso voce quer diferenciar também os produtos por cliente, voce deve inserir um campo em sua também com o nome de CodigoCliente ou um outro nome sugestivo. Isto é a chave estrangeira, pois vem de outra tabela. Quando voce for inserir qualquer registro nesta tabela, deverá também incluir o código do cliente atual para que este registro possa ser recuperado depois de um modo consistente e íntegro. Fazendo essas modificações em sua tabela, basta depois voce modificar sua instrução sql para:

Código: Selecionar todos

SELECT * FROM tbPPereciveis_Grade WHERE (Codigo=@Codigo) AND (CodigoCliente=@CodigoCliente)
Sendo que @Codigo e @CodigoCliente são parâmetros que deverão ser passados para a instrução SQL. Para que tenha um maior esclarecimento em relação ao tema, recomendo que pesquise sobre SQL. Uma recomendação pessoal (já fiz este curso e achei muito bom) é o curso gratuito de SQL da Soft Blue pois é bem amplo e bem explicativo para quem está ingressando nesta área. Eu digo sem medo de errar que todo programador deve ter bons conhecimentos de SQL. Peço desculpas ao Tomás por estar divulgando link's de empresas aqui sem aviso prévio. Eu só o fiz pensando no crescimento do pessoal do fórum, por se tratar de um oferecimento gratuito por parte da empresa cedente conveniente compartilhar.
Segue o link para o curso: http://www.softblue.com.br/site/curso/i ... +LINE+BD03.

Eu dei uma sumida do fórum porque estou bastante ocupado com a faculdade e com um sistema de listagem em ASP.NET que estou desenvolvendo. Mas é só dar uma folga que eu apareço novamente. :lol:
Espero ter ajudado.

Abraços.

Abraços a todos.


edgarki
Acabou de chegar
Acabou de chegar
Mensagens: 8
Registrado em: Seg Jun 10, 2013 5:35 pm

Re: Módulo Orçamento 2.0

Mensagem por edgarki »

Leandro,

Valeu pela orientações, o raciocínio que você demonstrou estava certo. Porém era mais uma questão do código de sql que eu consegui RESOLVER esta funcionalidade. :D

Não cheguei a precisar alterar ou acrescentar no banco de dados...

O que eu fiz.... apesar de ser meio tosco, mas que funcionou só para quebrar um galho para filtrar os itens cadastrados de cada cliente foi criar uma textbox1 oculta para que o código do produto correspondesse ao código do cliente. Segue a lógica abaixo no que eu utilizei no formulário principal...

Código: Selecionar todos

Private Sub txtPesquisa_Change()
    ProcurarPor = Me.cboPesqClass.Text
    OrdenarPor = Me.cboOrdenarPor.Text

            SqlOrçGrad = "SELECT * FROM tbPPereciveis_Grade WHERE " & ProcurarPor & " LIKE '" & Me.txtPesquisa.Value & "%' AND CStr(Nro_Orçamento) = '" & Me.TextBox1.Value & "' ORDER BY " & OrdenarPor & " " & Ordem
    
    rsOrçGrad.Close
    rsOrçGrad.Open SqlOrçGrad, cn, adOpenKeyset, adLockOptimistic
    
    PreencheGrid
   
End Sub
E no formulário da pesquisa de cliente eu acrescentei textbox1 no comando do lstvfiltro_dblClick o seguinte código...

Código: Selecionar todos

   Private Sub lstvFiltros_DblClick()
 Dim Buscar As Long
    Buscar = CLng(lstvFiltros.SelectedItem.ListSubItems(1).Text)
    SqlOrçDet = "SELECT * FROM tbPPereciveis_Detalhe WHERE Nro_Orçamento = " & Buscar
    SqlOrçGrad = "SELECT * FROM tbPPereciveis_Grade WHERE Nro_Orçamento = " & Buscar
               
    
    rsOrçDet.Close
    rsOrçGrad.Close
    
    rsOrçDet.Open SqlOrçDet, cn, adOpenKeyset, adLockOptimistic
    rsOrçGrad.Open SqlOrçGrad, cn, adOpenKeyset, adLockOptimistic

    With UserForm3
        .txtAdm = rsOrçDet("Administrador")
        .txtPostoTrab = rsOrçDet("Posto_Trab")
        .cboData = rsOrçDet("Mes")
        .txtInvIni = Format(rsOrçDet("Valor_Inventario"), "currency")
        .txtObservaçao = rsOrçDet("Observaçao")
        .txtMetaPerc = Format(rsOrçDet("Meta%"), "0.00") & "%"
        .TextBox1 = Buscar
...
Abraços!!!


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Teleguiado
Colaborador
Colaborador
Mensagens: 19
Registrado em: Seg Out 28, 2013 3:54 pm

Re: Módulo Orçamento 2.0

Mensagem por Teleguiado »

LEANDRO ALVES escreveu:Olá Pessoal do fórum,


Abraços

Leandro, muito bom o código porem esta dando erro:
Erro de compilação:
Método ou membro de dados não encontrado.
no formulário frmOrçamento na linha abaixo:

Código: Selecionar todos

Private Sub UserForm_Initialize()
    
    Iniciar
    calc = True
    With Me.lstvOrç
Valeu.

Alisson.


Avatar do usuário
Mikel Silveira Fraga
Jedi
Jedi
Mensagens: 1173
Registrado em: Sex Mai 27, 2011 3:27 pm
Localização: Governador Valadares - MG
Contato:

Re: Módulo Orçamento 2.0

Mensagem por Mikel Silveira Fraga »

Teleguiado, seja bem vindo ao fórum.

Percebi que neste tópico e em outro em que você postou, ocorreram os mesmos erros em planilhas diferentes.

As duas planilhas possuem uma biblioteca em comum que esta sendo utilizada. Acredito que o tópico abaixo possa ajudar:
viewtopic.php?f=2&t=2175

Qualquer dúvida, estamos ai.

Abraços.


Teleguiado
Colaborador
Colaborador
Mensagens: 19
Registrado em: Seg Out 28, 2013 3:54 pm

Re: Módulo Orçamento 2.0

Mensagem por Teleguiado »

Mikel Silveira Fraga escreveu:Teleguiado, seja bem vindo ao fórum.

Percebi que neste tópico e em outro em que você postou, ocorreram os mesmos erros em planilhas diferentes.

As duas planilhas possuem uma biblioteca em comum que esta sendo utilizada. Acredito que o tópico abaixo possa ajudar:
viewtopic.php?f=2&t=2175

Qualquer dúvida, estamos ai.

Abraços.
Mikel, ja fiz isso tudo que esta no site mas não resolveu.


Alisson.


keiffer
Acabou de chegar
Acabou de chegar
Mensagens: 1
Registrado em: Seg Nov 11, 2013 12:09 am

Re: Módulo Orçamento 2.0

Mensagem por keiffer »

Teleguiado escreveu:
LEANDRO ALVES escreveu:Olá Pessoal do fórum,


Abraços

Leandro, muito bom o código porem esta dando erro:
Erro de compilação:
Método ou membro de dados não encontrado.
no formulário frmOrçamento na linha abaixo:

Código: Selecionar todos

Private Sub UserForm_Initialize()
    
    Iniciar
    calc = True
    With Me.lstvOrç
Valeu.

Alisson.
Boa Noite Alisson.

Eu estava com o mesmo problema que o seu e não achei nada falando muito a respeito.
bem meu problema era que o meu windows é 64 bits e observando como estavam as referencia das bibliotecas. Vi que estavam como local C:\windows\system32 , mas o local certo é C:\Windows\SysWOW64.

o que fiz foi apagar os registro de alguns arquivos que foram: MSCOMCTL.OCX, MSCOMCTL32.OCX, MSCOMCT3N.OCX, MSCOMCT2.OCX .

E depois refiz o os registro no cmd.exe com administrador.

tem esse link que deve ajudar.

http://excelmax.blogspot.com.br/2012/06 ... excel.html

keiffer


Teleguiado
Colaborador
Colaborador
Mensagens: 19
Registrado em: Seg Out 28, 2013 3:54 pm

Re: Módulo Orçamento 2.0

Mensagem por Teleguiado »

Keiffer, valeu pela ajuda fiz conforme o link que foi passado e aparentemente a biblioteca esta carregada. Porem ainda esta dando o mesmo erro para o " lstvOrçamento".

Alisson.


scainet
Acabou de chegar
Acabou de chegar
Mensagens: 6
Registrado em: Qua Mar 05, 2014 3:29 pm

Re: Módulo Orçamento 2.0

Mensagem por scainet »

Estou com o mesmo problema, conforme print screens em anexo.
Já fiz tudo o que indicaram ai e mais um pouco, mas nada resolveu.
Estou usando o Office 2010 no Windows 8.1.

Aqui, na janela dos "Controles Adicionais" não aparece o "Microsoft ListView Controrl 6.0 (SP6)" e "Microsoft StatusBar Controrl 6.0 (SP6), como deveria conforme explicado pelo Leandro nos posts anteriores.

E o link informado do blog excelmax está com problema.
Se alguém tiver outra solução.

keiffer escreveu:
Teleguiado escreveu:
LEANDRO ALVES escreveu:Olá Pessoal do fórum,


Abraços

Leandro, muito bom o código porem esta dando erro:
Erro de compilação:
Método ou membro de dados não encontrado.
no formulário frmOrçamento na linha abaixo:

Código: Selecionar todos

Private Sub UserForm_Initialize()
    
    Iniciar
    calc = True
    With Me.lstvOrç
Valeu.

Alisson.
Boa Noite Alisson.

Eu estava com o mesmo problema que o seu e não achei nada falando muito a respeito.
bem meu problema era que o meu windows é 64 bits e observando como estavam as referencia das bibliotecas. Vi que estavam como local C:\windows\system32 , mas o local certo é C:\Windows\SysWOW64.

o que fiz foi apagar os registro de alguns arquivos que foram: MSCOMCTL.OCX, MSCOMCTL32.OCX, MSCOMCT3N.OCX, MSCOMCT2.OCX .

E depois refiz o os registro no cmd.exe com administrador.

tem esse link que deve ajudar.

http://excelmax.blogspot.com.br/2012/06 ... excel.html

keiffer
Anexos
Prints.rar
(147.76 KiB) Baixado 543 vezes


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder