EDITAR CADASTRO

CRCJ 24/08/2012 14:46:31
#408589
Boa tarde a todos

Tenho um sistema em vb de contas para pagar e receber, em um formulario [ Fornecedor ], cadastro todos os dados do fornecedor, em outro formulario [ Contas ] cadastro todos os dados da conta incluindo o fornecedor que ja vem carregado no combo.
O que ocorre é quando edito um dado no fornecedor Ex: Telefone tem que editar automaticamente em todos os cadastros de Contas. Como faço isso ?

KERPLUNK 24/08/2012 14:51:37
#408592
Pelo que vi, você ao gravar a conta, está gravando no registro da mesma os dados do fornecedor. Isso é um erro grave de modelagem, não se faz dessa maneira. Apenas grava-se o código do fornecedor na conta e se faz uma chave estrangeira para a tabela de fornecedores.
CRCJ 24/08/2012 15:16:22
#408595
Obrigado pela dica. Sou auto didata aprendi com livros a alguns anos, meus sistemas não são assim tão sofisticados para traduzir web, mas funciona, no momento estou também aprendendo com livros programar em JAVA
MARCELO.TREZE 24/08/2012 15:25:16
#408599
Resposta escolhida
Rs,rs,rs...

colega esta parte

Citação:

__________________________________________________________________________________________________
Gostaria de ter seu sistema Desktop [Ô]traduzido[Ô] para uma interface web? Podemos conversar...



é a assinatura do meu colega Kerplunk, tipo uma propaganda, o que ele quis dizer é o seguinte.

poste a estrutura da sua tabela, tipo quais são os campos da tabela [ Fornecedor ] e [ Contas ], e qual o seu codigo para editar o FORNECEDOR

como o colega disse anteriormente, isso deve ser um erro na modelagem do banco, ou até mesmo um erro na query

CRCJ 24/08/2012 15:43:55
#408601
Banco De Dados : Access
Tabela Fornecedor
Codigo: Data Do Cadastro: Fornecedor: Endereço: Nº: Complemento: Bairro: Cep: UF: Cidade: CNPJ: IE: IEstadual: DDI: Telefone: DDI: Fax: Ramo De Atividade: Site: OBS: Contato: Função: Telefone: Ramal: Celular: Radio: E-Mial: OBS
Contas
Codigo: Data Recebimento: Data Vencimento: Valor: Nº Do Documento: Posição Da Conta: Novo Vencimento: Novo Valor: Acrescimo: FORNECEDOR: Codigo De Barras: Obs

[ô]ALTERA OS CAMPOS DO CADASTRO FORNECEDOR
Private Sub Command8_Click()

If Fornecedor = Empty Then
MsgBox [Ô]Informe O Nome Do Fornecedor.[Ô], vbCritical, [Ô]NOME DO FORNECEDOR [Ô]
Fornecedor.SetFocus
Exit Sub
End If
If Endereco = Empty Then
MsgBox [Ô]Informe O Endereço Do Imóvel.[Ô], vbCritical, [Ô]ENDEREÇO DO IMÓVEL[Ô]
Endereco.SetFocus
Exit Sub
End If
If N = Empty Then
MsgBox [Ô]Informe O Nº Do Imóvel.[Ô], vbCritical, [Ô]Nº DO IMÓVEL[Ô]
N.SetFocus
Exit Sub
End If
If Bairro = Empty Then
MsgBox [Ô]Informe O Bairro.[Ô], vbCritical, [Ô]BAIRRO[Ô]
Bairro.SetFocus
Exit Sub
End If
If Cep = Empty Then
MsgBox [Ô]Informe O CEP.[Ô], vbCritical, [Ô]CEP[Ô]
Cep.SetFocus
Exit Sub
End If
If UF = Empty Then
MsgBox [Ô]Informe A UF.[Ô], vbCritical, [Ô]UF[Ô]
UF.SetFocus
Exit Sub
End If
If Cidade = Empty Then
MsgBox [Ô]Informe Cidade.[Ô], vbCritical, [Ô]CIDADE[Ô]
Cidade.SetFocus
Exit Sub
End If
If DDI = Empty Then
MsgBox [Ô]Informe O DDI.[Ô], vbCritical, [Ô]DDI[Ô]
DDI.SetFocus
Exit Sub
End If
If Telefone = Empty Then
MsgBox [Ô]Informe O Telefone.[Ô], vbCritical, [Ô]TELEFONE[Ô]
Telefone.SetFocus
Exit Sub
End If

If RamoDeAtividade = Empty Then
MsgBox [Ô]Informe O Ramo De Atividade.[Ô], vbCritical, [Ô]RAMO DE ATIVIDADE[Ô]
RamoDeAtividade.SetFocus
Exit Sub
End If


If Contato = Empty Then
MsgBox [Ô]Informe Um Nome De Contato.[Ô], vbCritical, [Ô]CONTATO[Ô]
Contato.SetFocus
Exit Sub
End If


Dim AreaTrabalho As Workspace
Dim query As String
Dim xxbco As Database
Set AreaTrabalho = DBEngine.Workspaces(0)
Set xxbco = AreaTrabalho.OpenDatabase(App.Path & [Ô]\Dados.Mdb[Ô], False, False)
query = [Ô]Select * From Fornecedor where Codigo = [ô][Ô] & Codigo & [Ô][ô][Ô]
Set dyn = xxbco.OpenRecordset(query)
If Not dyn.EOF Then

dyn.Edit
dyn([Ô]codigo[Ô]) = Codigo.Text
dyn([Ô]fornecedor[Ô]) = Fornecedor.Text
[ô]assim para todos os campos....

dyn.Update
End If
xxbco.Close

MsgBox [Ô]Alteração Realizada Com Sucesso.[Ô], vbInformation, [Ô]ALTERAÇÃO[Ô]
Unload Me
Fornecedor.Show
End Sub
MARCELO.TREZE 24/08/2012 19:59:57
#408623
mude esta parte do form


Dim AreaTrabalho As Workspace
Dim query As String
Dim xxbco As Database
Set AreaTrabalho = DBEngine.Workspaces(0)
Set xxbco = AreaTrabalho.OpenDatabase(App.Path & [Ô]\Dados.Mdb[Ô], False, False)
query = [Ô]Select * From Fornecedor where Codigo = [ô][Ô] & Codigo & [Ô][ô][Ô]
Set dyn = xxbco.OpenRecordset(query)
If Not dyn.EOF Then
dyn.Edit
dyn([Ô]codigo[Ô]) = Codigo.Text
dyn([Ô]data recebimento[Ô]) = datarecebimento.Text
[ô]assim para todos os campos....

dyn.Update
End If

Set [txt-color=#0000f0]dyn2 [/txt-color]= xxbco.OpenRecordset( [Ô]Select * From [txt-color=#0000f0]contas [/txt-color]where Codigo = [ô][Ô] & Codigo & [Ô][ô][Ô])
If Not [txt-color=#0000f0]dyn2[/txt-color].EOF Then
[txt-color=#0000f0]dyn2[/txt-color].Edit
[txt-color=#0000f0]dyn2[/txt-color]([Ô]codigo[Ô]) = Codigo.Text
[txt-color=#0000f0]dyn2[/txt-color]([Ô]fornecedor[Ô]) = Fornecedor.Text
[ô]assim para todos os campos da tabela Contas....
[txt-color=#0000f0]dyn2[/txt-color].Update
End If

xxbco.Close


porém selecionado a tabela campos

CRCJ 27/08/2012 13:02:58
#408705
Marcelo , boa tarde
Me desculpe, mas não funcionou, no fornecedor ele altera, mas nas contas, não acontece nada.
o que voçe acha se eu te mandar todo o sistema, ficaria mais facil para voçe entender.
MARCELO.TREZE 27/08/2012 13:25:14
#408706
manda colega

treze-vb@hotmail.com
CRCJ 10/09/2012 15:33:01
#409374
Marcelo, boa tarde
tenho outra duvida, mandei para seu e-mail explicando melhor
Tópico encerrado , respostas não são mais permitidas