RELACIONAMENTO ENTRE TABELAS

MOREIRA 29/05/2007 12:17:43
#218673
já cadastro o número do pedido e o nome do fornecedor, nao consigo gravar os itens q estão listado no listView...

Uma tabela é Pedido e outra é itens do pedido.

Gostaria que Qdo excluir um pedido, excluir todos os itens ref. a aquele pedido. Já Queimei a Cuca como fazer esse trem

desde já, obgrigado!!!!!!
SILVERDRAGON 29/05/2007 13:18:51
#218686
Resposta escolhida
Deve ser algo assim..

DELETE FROM table_name

sql = _
"DELETE" & vbCrLf & _
"from [PEDIDO] " & vbCrLf & _
"Inner Join [Itens_Pedido]" & vbCrLf & _
"on [PEDIDO].cod_pedido = [Itens_Pedido].cod_iten_ped" & vbCrLf & _
"Where codigo = " & Me.txtCodigo & ""



flw

USUARIO.EXCLUIDOS 29/05/2007 13:23:46
#218689
Ola,
Dependendo do banco de dados ista possibilidade jah eh encontrada no proprio BD. No Access, por exemplo, vc cria um relacionamento no banco de dados (ferramentas/relacionamentos) entre a tabela Pedido e PedidoItem do tipo (um-para-muitos), ligando-as pelo codigo ou ID provavelmente. Aih eh soh ir nas propriedades do relacionamento e marcar a opcao "Propagar exclusao dos registros selecionados". E toda vez que vc excluir um registro na tabela Pedido pelo seu programa automaticamente o engine do BD se encarrega de excluir os seus itens na tabela PedidoItem.

Tirando isso soh por comando do sistema. EX:
  MeuBancoDeDados.Execute "DELETE  * FROM Pedido WHERE ID = 11"
MeuBancoDeDados.Execute "DELETE * FROM PedidoItem WHERE IdPedido = 11"


Repare que ID e IdPedido sao campos que se relacionam entre a tabela. Codigo em comum entre elas.
MOREIRA 29/05/2007 13:37:32
#218694
OPS.. me expressei mal..
(Gostaria que Qdo excluir um pedido, excluir todos os itens ref. a aquele pedido)
------------------------------------------------------------------
O CERTO é ASSIM:
Gostaria que Qdo incluir um Nºpedido, incluir todos os itens ref. a aquele pedido Nº de Pedido na TblIntensPedido...




SILVERDRAGON 29/05/2007 14:11:36
#218701

Moreira,

muda o delete pra o seu Insert, o INNER JOIN vai continuar. Deve ser algo assim

sql = _
"DELETE" & vbCrLf & _
"from [PEDIDO] " & vbCrLf & _
"Inner Join [Itens_Pedido]" & vbCrLf & _
"on [PEDIDO].cod_pedido = [Itens_Pedido].cod_iten_ped" & vbCrLf & _
"Where codigo = " & Me.txtCodigo & ""

Tópico encerrado , respostas não são mais permitidas