MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    Criar Registro Pai/Filho Access 2010

    avatar
    rafaelduartebr
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2
    Registrado : 06/11/2012

    Criar Registro Pai/Filho Access 2010 Empty Criar Registro Pai/Filho Access 2010

    Mensagem  rafaelduartebr 6/11/2012, 14:00

    Olá tudo bem?

    Me chamo Rafael e sou novo aqui no forum.

    Gostaria de saber se alguem sabe criar um registro pai para um sistema de cadastro de propostas e que seja amarrado a um registro filho sempre que houver alteração no cadastro.

    Por exemplo: foi cadastrada a proposta registro nº 1234 e enviada ao cliente com faturamento de R$5000,00 mensais e o status dela é "aguardando aprovação".

    Passado 1 mes o cliente solicitou 10% de desconto e o meu diretor aprovou, portanto a proposta 1234 passa a ser R$4500,00 e o cliente decidiu fechar negócio, e agora será necessário entrar no formulário "cadastro de propostas" e alterar as informações para R$4500,00 e status "vendido".

    Quando o botão alterar do formulário for pressionado, o access deverá alterar este cadastro e adicionar um campo ao registro, como por exemplo 1234.1 ou 1234.v1 mas que contabilize como um novo cadastro e não somente sobrescreva o cadastro existente.

    Alguem consegue ajudar?

    Abs,

    Rafael
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    Criar Registro Pai/Filho Access 2010 Empty Criar Registro Pai/Filho Access 2010

    Mensagem  good guy 7/11/2012, 15:17

    Olá Rafael,

    Veja se este banco te atende.

    Anexos
    Criar Registro Pai/Filho Access 2010 AttachmentCadastro de Propostas.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (92 Kb) Baixado 78 vez(es)
    avatar
    rafaelduartebr
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2
    Registrado : 06/11/2012

    Criar Registro Pai/Filho Access 2010 Empty Re: Criar Registro Pai/Filho Access 2010

    Mensagem  rafaelduartebr 7/11/2012, 15:55

    Olá Good Guy blz?

    Muito obrigado pela ajuda e esforço.

    No entanto, vc sabe se é possível realizar esta alteração de cadastro de pai/filho 1234.1 na mesma tabela apenas adicionando um novo cadastro?

    Ou realmente é necessário ter 2 tabelas?

    Abs
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    Criar Registro Pai/Filho Access 2010 Empty Criar Registro Pai/Filho Access 2010

    Mensagem  good guy 7/11/2012, 16:18

    Sem problema Rafael,

    Entre no código do formulário e pelo botão "Alterar" troque a tabela filho pela tabela pai. Ao meu ver, como está fica mais claro e você poderia criar um relatório unindo as duas tabelas e deixar uma só como você quer utilizando a instrução SQL INNER JOIN. Não quer tentar?
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    Criar Registro Pai/Filho Access 2010 Empty Criar Registro Pai/Filho Access 2010

    Mensagem  good guy 16/11/2012, 20:35

    Olá Rafael,

    Modifiquei o código para ver se atende o que você quer. Se você quer que fique assim na tabela:

    1237

    1237.1

    1237.2

    1238

    1239

    1239.1

    1239.2

    1239.3

    ......

    O código do botão deve ficar assim. Faça as devidas modificações:

    Private Sub cmdAlterar_Click()
    On Error Resume Next
    Dim strRegistro As String
    Dim strFatura As Currency
    Dim strNome As String
    Dim strStatus As String
    Dim n As Integer
    Dim sDesconto As Double
    Dim nFaturamento As Currency


    If IdRegistro = Format(IdRegistro, "0000.0") Then
    'Se o formato do código for com ponto(ou sub-item) acrescenta o próximo sub-item
    n = Mid(Format(DLast(IdRegistro, "tblPai"), "0000.0"), 6, 6) 'Pega o último dígito do último código
    n = n + 1

    strRegistro = Format(DLast(Mid(IdRegistro, 1, 4) & "." & n, "tblPai"), "0000.0")
    'Formata o código e acrescenta uma unidade ao valor depois do ponto
    strRegistro = Replace(strRegistro, ",", ".") 'Corrige e reformata o código
    strNome = Cliente
    sDesconto = InputBox("Digite o valor do desconto?", "Valor Inteiro")
    nFaturamento = InputBox("Digite o valor do faturamento inicial:", "Faturamento")
    strFatura = nFaturamento - (nFaturamento * sDesconto / 100)
    strStatus = Status
    DoCmd.SetWarnings False
    strRegistro = "INSERT INTO tblPai(IdRegistro,Cliente,Faturamento,Desconto, Status) VALUES('" & strRegistro & "', '" & strNome & "', '" & strFatura & "', '" & sDesconto & "','" & strStatus & "')"
    DoCmd.RunSQL strRegistro
    DoCmd.RunCommand acCmdRefresh
    DoCmd.SetWarnings True
    MsgBox "Dados Alterados com sucesso !!!", vbExclamation, "Cadastro de Propostas"
    Else
    'Caso o contrário. Se o formato for de um item, cria um sub-item e renumera a contagem
    n = Mid(Format(DLast(IdRegistro, "tblPai"), "0000.0"), 6, 6) 'Pega o último dígito do último código
    n = n + 1
    strRegistro = Format(DLast(Mid(IdRegistro, 1, 4) & "." & n, "tblPai"), "0000.0")
    'Formata o código e acrescenta uma unidade ao valor depois do ponto
    strRegistro = Replace(strRegistro, ",", ".")
    strNome = Cliente
    sDesconto = InputBox("Digite o valor do desconto?", "Valor Inteiro")
    nFaturamento = InputBox("Digite o valor do faturamento inicial:", "Faturamento")
    strFatura = nFaturamento - (nFaturamento * sDesconto / 100)
    strStatus = Status
    DoCmd.SetWarnings False
    strRegistro = "INSERT INTO tblPai(IdRegistro,Cliente,Faturamento,Desconto,Status) VALUES('" & strRegistro & "', '" & strNome & "', '" & strFatura & "', '" & sDesconto & "','" & strStatus & "')"
    DoCmd.RunSQL strRegistro
    DoCmd.RunCommand acCmdRefresh
    DoCmd.SetWarnings True
    MsgBox "Dados Alterados com sucesso !!!", vbExclamation, "Cadastro de Propostas"
    End If
    DoCmd.RunCommand acCmdRefresh

    End Sub


    OBS: Coloque uma listbox (Caixa de Listagem) que faça pesquisa do registro pelo item selecionado. No evento Click da listbox coloque

    me.Lista23.Requery 'Pode ter outro nome de lista com outro número

    A cada avanço do registro deixe o último item selecionado. Se clicar no botão adicionar coloque o próximo número inteiro, nome, faturamento e clique se deseja fechar o negócio, se for alterar deixe o código fazer o serviço. Valew ?

    Segue abaixo o aplicativo:
    Anexos
    Criar Registro Pai/Filho Access 2010 AttachmentCadastro de Propostas.zip
    Para atualizar os dados alterados clique duas vezes sobre o item selecionado da caixa de listagem.
    Você não tem permissão para fazer download dos arquivos anexados.
    (152 Kb) Baixado 43 vez(es)

    Conteúdo patrocinado


    Criar Registro Pai/Filho Access 2010 Empty Re: Criar Registro Pai/Filho Access 2010

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 8/11/2024, 04:38