Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Módulo Orçamento 2.0
Moderador: Rafael Monteiro
- LEANDRO ALVES
- Manda bem
- Mensagens: 161
- Registrado em: Dom Jul 25, 2010 7:41 pm
Re: Módulo Orçamento 2.0
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
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
Re: Módulo Orçamento 2.0
Leandro, boa tarde.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
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)"
Se puder me ajudar agradeço.
Abraços
- LEANDRO ALVES
- Manda bem
- Mensagens: 161
- Registrado em: Dom Jul 25, 2010 7:41 pm
Re: Módulo Orçamento 2.0
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:
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.
Espero ter ajudado.
Abraços.
Abraços a todos.
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)
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.
Espero ter ajudado.
Abraços.
Abraços a todos.
Re: Módulo Orçamento 2.0
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.
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...
E no formulário da pesquisa de cliente eu acrescentei textbox1 no comando do lstvfiltro_dblClick o seguinte código...
Abraços!!!
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.
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
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
...
-
- Colaborador
- Mensagens: 19
- Registrado em: Seg Out 28, 2013 3:54 pm
Re: Módulo Orçamento 2.0
LEANDRO ALVES escreveu:Olá Pessoal do fórum,
Abraços
Leandro, muito bom o código porem esta dando erro:
no formulário frmOrçamento na linha abaixo:Erro de compilação:
Método ou membro de dados não encontrado.
Código: Selecionar todos
Private Sub UserForm_Initialize()
Iniciar
calc = True
With Me.lstvOrç
Alisson.
- Mikel Silveira Fraga
- 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
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.
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.
-
- Colaborador
- Mensagens: 19
- Registrado em: Seg Out 28, 2013 3:54 pm
Re: Módulo Orçamento 2.0
Mikel, ja fiz isso tudo que esta no site mas não resolveu.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.
Alisson.
Re: Módulo Orçamento 2.0
Boa Noite Alisson.Teleguiado escreveu:LEANDRO ALVES escreveu:Olá Pessoal do fórum,
Abraços
Leandro, muito bom o código porem esta dando erro:
no formulário frmOrçamento na linha abaixo:Erro de compilação:
Método ou membro de dados não encontrado.
Valeu.Código: Selecionar todos
Private Sub UserForm_Initialize() Iniciar calc = True With Me.lstvOrç
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
-
- Colaborador
- Mensagens: 19
- Registrado em: Seg Out 28, 2013 3:54 pm
Re: Módulo Orçamento 2.0
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.
Alisson.
Re: Módulo Orçamento 2.0
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.
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:Boa Noite Alisson.Teleguiado escreveu:LEANDRO ALVES escreveu:Olá Pessoal do fórum,
Abraços
Leandro, muito bom o código porem esta dando erro:
no formulário frmOrçamento na linha abaixo:Erro de compilação:
Método ou membro de dados não encontrado.
Valeu.Código: Selecionar todos
Private Sub UserForm_Initialize() Iniciar calc = True With Me.lstvOrç
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 581 vezes