ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

como fazer cadastro de kit de produtos

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
marlone
Aprendiz
Aprendiz


Registrado: Terça-Feira, 29 de Outubro de 2013
Mensagens: 175

MensagemEnviada: Ter Mai 09, 2017 7:25 pm    Assunto: como fazer cadastro de kit de produtos Responder com Citação

Olá galera do fórum estou aqui mais uma vez para que vocês possam me dar uma luz Very Happy . recentemente criei form de cadastro de produtos do meu programa . esse form consiste em, assim como em outro programa .cadastrar o produto individualmente lá temos o campo código do produto, descrição ,valor ,quantidade entre outros . esse cadastro é feito através dos dbEdits e visualizada através de um DBGrid.ate ai esta tudo bem sem problemas.
ok vamos ao X da questão. é o seguinte o que eu preciso agora não é cadastrar um produto e sim um kit .dizemos assim na tabela vai ser descristo como um produto, que vai ser inserido no campo como se fosse o cadastro de produto normal .porém eu preciso de uma área aonde eu possa buscar outros produtos cadastrados (para essa parte de busca ja tenho o codigo mais nao e essa minha dificuldade) e apos abusca inserindo nesses campos de cadastro. a minha dúvida é como fazer no banco de dados para que eu possa cadastrar o nome do Kit e ter os Campos abaixo para inserir o nome dos produtos individuais cadastrado, ou seja vai ser o cadastro de produtos com uma area de citar ou inserir nomes de outros produtos . eu usao o acess pra banco dados nao tenho passienca pra trabalhar com outros ,sier que me entender Wink para tabela uso uma adoquery db para visualizar apos ter cadastrados. parece complexo mais e simples so nao consegui esplicar direito em palavras.
qualquer outra duvida e so falar.essa pate do projeto ainda nao fiz ,estou fazendo por partes e depois de prontas e sem erro implemento no projeto principal. desde ja agradeco
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
leo_cj
Colaborador
Colaborador


Registrado: Sábado, 26 de Março de 2011
Mensagens: 1335

MensagemEnviada: Qua Mai 10, 2017 8:21 am    Assunto: Responder com Citação

Pelo que eu entendi, você precisa aumentar sua estrutura do banco para que o mesmo comporte isso que você quer fazer.

O ideal nesse caso seria utilizar 3 tabelas, uma para o cadastro do produto propriamente dito, uma para o cadastro de kits e uma para relacionar kit x produto

ex:
Citação:
Tabela Produto
- ID_Produto (Primary Key)
- NM_Produto

Tabela Kit
- ID_Kit (Primary Key)
- NM_Kit

Tabela ProdutoKit
- ID_Produto (Primary Key) (Foreign Key com a tabela Produto referenciando o campo ID_Produto)
- ID_Kit (Primary Key) (Foreign Key com a tabela Kit referenciando o campo ID_Kit)


Pra fazer funcionar, você vai precisar ter os produtos e kits cadastrados e depois referenciar cada kit com os produtos desejados
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
joemil
Moderador
Moderador


Registrado: Quinta-Feira, 25 de Março de 2004
Mensagens: 9100
Localização: Sinop-MT

MensagemEnviada: Qua Mai 10, 2017 8:56 am    Assunto: Responder com Citação

no meu eu tenho apenas 2 tabelas: Produtos e ProdutosKits

1. tabela de produtos: para o controle de estoque e de vendas
2. tabela ProdutosKits - relacionamento dos itens do kit

PRODUTOS:
id_produto (PK)
produto (descricao do produto)
exemplos:
ID: 1 - CESTA DE PASCOA
ID: 2 - CHOCOLATE
ID: 3 - CAIXA BOMBOM SORTIDOS
ID: 4 - SUCO LARANJA


PRODUTOS_KITS
id_produtos_kits (PK)
id_produto (FK)
id_produto2 (FK)
qtde
exemplo
id_produtos_kits: 1
id_produto (FK): 1 (CESTA DE PASCOA)
id_produto2 (FK): 2 (CHOCOLATE)
qtde: 1
---
id_produtos_kits: 2
id_produto (FK): 1 (CESTA DE PASCOA)
id_produto2 (FK): 3 (CAIXA DE BOMBONS SORTIDOS)
qtde: 1
---
id_produtos_kits: 3
id_produto (FK): 1 (CESTA DE PASCOA)
id_produto2 (FK): 4 (SUCO DE LARANJA)
qtde: 2
_________________
<b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
leo_cj
Colaborador
Colaborador


Registrado: Sábado, 26 de Março de 2011
Mensagens: 1335

MensagemEnviada: Qua Mai 10, 2017 9:06 am    Assunto: Responder com Citação

Bem pensado, não estava considerando o próprio kit como um produto.

Assim fica até mais fácil pois não precisa mudar a parte da venda, ela já vai estar olhando para a tabela correta
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
marlone
Aprendiz
Aprendiz


Registrado: Terça-Feira, 29 de Outubro de 2013
Mensagens: 175

MensagemEnviada: Qua Mai 10, 2017 10:06 am    Assunto: Responder com Citação

joemil escreveu:
no meu eu tenho apenas 2 tabelas: Produtos e ProdutosKits

1. tabela de produtos: para o controle de estoque e de vendas
2. tabela ProdutosKits - relacionamento dos itens do kit

PRODUTOS:
id_produto (PK)
produto (descricao do produto)
exemplos:
ID: 1 - CESTA DE PASCOA
ID: 2 - CHOCOLATE
ID: 3 - CAIXA BOMBOM SORTIDOS
ID: 4 - SUCO LARANJA


PRODUTOS_KITS
id_produtos_kits (PK)
id_produto (FK)
id_produto2 (FK)
qtde
exemplo
id_produtos_kits: 1
id_produto (FK): 1 (CESTA DE PASCOA)
id_produto2 (FK): 2 (CHOCOLATE)
qtde: 1
---
id_produtos_kits: 2
id_produto (FK): 1 (CESTA DE PASCOA)
id_produto2 (FK): 3 (CAIXA DE BOMBONS SORTIDOS)
qtde: 1
---
id_produtos_kits: 3
id_produto (FK): 1 (CESTA DE PASCOA)
id_produto2 (FK): 4 (SUCO DE LARANJA)
qtde: 2


ola "joemil" eu estava pensando em fazer deste modo, so que ate onde eu imaginei terei que colocar varios campos no bancos de dados ,pois na tabela KIT vc colocou 2

PRODUTOS_KITS
id_produtos_kits (PK)
id_produto (FK)
id_produto2 (FK)
certo ?

eu ja tinha pensado possibilidade porem tinha descartado, pois eu nao sei quanto de produto o usuario cadastraria no kit. por exemplo um kit for (ter os mesmo itens de uma cesta Basica de alimentos varia de 15 a 35 item dependendo da cesta, nao que seja para isso o programa, mais eu nao tenho a certeza de quantos itens seria ) mais vou fazer os teste com as ideias acima e colocar um limite de 15 item vai ficar grande mais vou fazer um teste. e mais uma vez obrigado pelas respostas. si alguem tiver mais alguma sujestao Very Happy
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
leo_cj
Colaborador
Colaborador


Registrado: Sábado, 26 de Março de 2011
Mensagens: 1335

MensagemEnviada: Qua Mai 10, 2017 10:19 am    Assunto: Responder com Citação

Se você reparar, no exemplo do amigo joemil, ele criou um kit com 3 produtos.

Citação:
Kit - Cesta de Pascoa
Produtos:
- Chocolate
- Caixa de bombons sortidos
- Suco de laranja


estrutura:
Citação:
PRODUTOS_KITS
id_produtos_kits (PK)
id_produto (FK)
id_produto2 (FK)
qtde


id_produtos_kits: PK da tabela
id_produto: ID referente ao produto da cesta em sí
id_produto2: ID referente ao produto que constitui a cesta
qtde: quantidade do produto2 que a cesta conterá

com isso, se você tem por exemplo o produto 20 que é a cesta básica por exemplo, caso você queira ter 35 produtos na mesma, basta inserir 35 registros na tabela PRODUTOS_KITS onde o id_produto será 20 em todos os 35 registros, e o id_produto2 será referente aos produtos desejados.

assim para consultar os produtos da cesta básica, você precisa fazer um select na PRODUTOS_KITS onde o id_Produto é 20
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
marlone
Aprendiz
Aprendiz


Registrado: Terça-Feira, 29 de Outubro de 2013
Mensagens: 175

MensagemEnviada: Qua Mai 10, 2017 9:00 pm    Assunto: Responder com Citação

bom como não conquistamos nada nessa vida sem esforço e persistência,aqui não é diferente. após ter feito com o nosso amigo joemil sugeriu.
depois de ter criado a tabela de cadastro de Kit e ter definido o limite de 10 produtos para cada kit, para mim não criar muitos Campos .já que cada item adicionado dentro desse kit tem sete Campos cada um. então Só para constar o meu banco de dados tem 70 Campos sendo ele código- descrição do produto -quantidade- valor de venda- valor de custo -valor total de venda -valor total de custo esses campos são tirados da tabela cadastro de produto individual que citei anteriormente. a deixar claro fiz um jeito que a tabela produtos não tivesse relação com a tabela kit de produtos .pois coloquei um botão onde exibir se a tela de visualização de produtos com dbGrid .e coloquei o código para quando eu clicar com clique duplo em cima do dbGrid que vai está selecionando o canpo do produto desejado .ele defini os dbedits da janela cadastro de kit com os mesmos nomes que estavam selecionados no dbgrid na janela de cadastro de produtos.entao nao tem relacao com o erro acima.
Depois disso tudo me deparei com a seguinte mensagem abaixo vindo do banco de dados ,só para ajudar.
as alterações solicitadas para a tabela não foram satisfatórias já que criaram valores duplicados no índice chave primária ou relação. altere os dados no campo ou Campos que contém os dados duplicados. remova o índice ou redefina o índice para possibilitar entradas duplicadas e tente novamente.
ja redefini os indice de chave primaria. esta zerados novamente e continua a mensage.
só para simplificar. se eu criar um cadastro do de um kit chamado kit 1 e colocar um produto chamado parafuso 02 salvar e depois criar um outro cadastro chamado Kit 2 com um produto parafuso 02 ele vai dar essa mensagem de erro, dizendo que tem um registro duplicado, só que eu não entendi o porquê da mensagem sendo que cada produto é criado dentro do seu próprio kit ou seja não é dois produtos iguais dentro de um kit são dois produtos iguais dentro de kits diferente .
o que eu posso fazer? alguém já passou por essa mesma situação. quase 3 anos mexendo com access em banco de dados e essa é a primeira vez que acontece isso comigo.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
leo_cj
Colaborador
Colaborador


Registrado: Sábado, 26 de Março de 2011
Mensagens: 1335

MensagemEnviada: Qui Mai 11, 2017 8:35 am    Assunto: Responder com Citação

certo, na sua tabela de kit, você tem apenas esses 7 campos que você postou?

Citação:
- Código
- Descrição
- Quantidade
- Valor Venda
- Valor Custo
- Total Venda
- Total Custo


Essa é a tabela de kit ou de produto por kit?

Imagino que esse campo código é a sua PK dessa tabela, se ele for referente ao código do produto, então realmente acontecerá o erro, pois ele é aparentemente uma chave única

se possível, poste toda a sua estrutura referente ao kit, quais tabelas está usando e quais os campos que ela contém
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
joemil
Moderador
Moderador


Registrado: Quinta-Feira, 25 de Março de 2004
Mensagens: 9100
Localização: Sinop-MT

MensagemEnviada: Qui Mai 11, 2017 9:50 am    Assunto: Responder com Citação

no exemplo q postei, vc nao vai ter limite de itens por kit (um kit pode ter 20 itens e outro poder 35)

vou dar um print aqui na minha tela pra vc ver

primeiro cadastrei os produtos (ainda nao montei o kit, q sera usado o produto CESTA BASICA para isso):


agora vou no produto CESTA BASICA, e adiciono os itens do KIT a ele:


aqui a relacao é 1:n: posso adicionar qtos itens forem necessarios
_________________
<b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB