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


    Criar Item e Sub-Item na Tabela

    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 Item e Sub-Item na Tabela Empty Criar Item e Sub-Item na Tabela

    Mensagem  good guy 19/11/2012, 16:57

    Olá amigos,

    A partir de um exemplo de manipulação de Strings, estou deixando um código para criar itens e sub-itens em uma tabela, por exemplo:

    ID
    1000
    1001
    1002
    1002.1
    1002.2
    1002.3
    1003
    1004
    1004.1
    1004.2
    ....

    No programa você tem a opção de adicionar um registro ou alterá-lo. No primeiro caso, você acrescenta um código com valor inteiro(item). No segundo caso, você adiciona um sub-item. Vamos estudar o código que adiciona o sub-item:

    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

    'Parte do código aqui é para atender um colega para fazer um determinado cálculo
    '*****************************************************************************
    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


    'Parte do código aqui é para atender um colega para fazer um determinado cálculo
    '*****************************************************************************
    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. Clique duas vezes no item selecionado para atualizar o registro com os novos dados.




    Anexos
    Criar Item e Sub-Item na Tabela AttachmentCadastro de Propostas.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (152 Kb) Baixado 144 vez(es)

      Data/hora atual: 28/4/2024, 06:28