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 Numeração Condicional

    avatar
    vinicius.anna
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 199
    Registrado : 29/04/2011

    Criar Numeração Condicional Empty Criar Numeração Condicional

    Mensagem  vinicius.anna 10/12/2013, 12:08

    Bom dia

    Tenho uma tabela que foi importada do Sped Contábil e refere-se ao plano de contas da empresa. Preciso fazer com que o sistema gere uma sugestão de codificação condicional à partir da tabela importada da seguinte forma:

    A tabela importarda está desta forma:

    -----------------------------------------------------------------------------------------------
    |          Conta           |    Grau    |ContaMascara|                    NomeAgrupador       |
    | 11000000000000003        |          1 |            | DISPONIVEL                             |
    | 11000000000000004        |          2 |            | CAIXA CENTRAL                          |
    | 11000000000000005        |          4 |            | CAIXA MATRIZ                           |
    | 11010000000000005        |          4 |            | CAIXA FILIAL I                         |
    | 12100000000000004        |          2 |            | BANCOS CONTA MOVIMENTO                 |
    | 12100000000000005        |          3 |            | BANCOS MATRIZ                          |
    | 12100010000000006        |          4 |            | BANCO DO BRASIL S.A                    |
    | 12100020000000006        |          4 |            | BCO.ITAU S/A.                          |
    | 13110000000000005        |          3 |            | BANCOS FILIAL I                        |
    | 13110010000000006        |          4 |            | BCO.DO BRASIL S/A.                     |
    | 14000000000000003        |          1 |            | CREDITOS                               |
    | 14000000000000004        |          2 |            | C L I E N T E S                        |
    | 14000000000000005        |          3 |            | CLIENTES DA MATRIZ                     |
    | 14000010000000006        |          4 |            | MICRO INFORMATICA S/C LTDA             |
    | 14000020000000006        |          4 |            | PRODAP - PROC.DE DADOS                 |
    | 15100000000000004        |          2 |            | (-)PROVISAO PARA DEVEDORES DUVIDOSOS   |
    | 15100000000000005        |          4 |            | MATRIZ                                 |
    | 15110000000000005        |          4 |            | FILIAL I                               |
    | 16400000000000004        |          2 |            | IMPOSTOS A RECUPERAR                   |
    | 16400010000000005        |          4 |            | IPI A RECUPERAR                        |
    | 16400020000000005        |          4 |            | ICMS A RECUPERAR                       |
    -----------------------------------------------------------------------------------------------

    Preciso fazer com que o arquivo inteiro monte a sugestão, conforme abaixo:

    -----------------------------------------------------------------------------------------------
    |          Conta           |    Grau    |ContaMascara|                    NomeAgrupador       |
    | 11000000000000003        |          1 |1000000     | DISPONIVEL                             |
    | 11000000000000004        |          2 |1000000     | CAIXA CENTRAL                          |
    | 11000000000000005        |          4 |1000000     | CAIXA MATRIZ                           |
    | 11010000000000005        |          4 |1001000     | CAIXA FILIAL I                         |
    | 12100000000000004        |          2 |1010000     | BANCOS CONTA MOVIMENTO                 |
    | 12100000000000005        |          3 |1010000     | BANCOS MATRIZ                          |
    | 12100010000000006        |          4 |1010001     | BANCO DO BRASIL S.A                    |
    | 12100020000000006        |          4 |1010002     | BCO.ITAU S/A.                          |
    | 13110000000000005        |          3 |1011000     | BANCOS FILIAL I                        |
    | 13110010000000006        |          4 |1011001     | BCO.DO BRASIL S/A.                     |
    | 14000000000000003        |          1 |1100000     | CREDITOS                               |
    | 14000000000000004        |          2 |1100000     | C L I E N T E S                        |
    | 14000000000000005        |          3 |1100000     | CLIENTES DA MATRIZ                     |
    | 14000010000000006        |          4 |1100001     | MICRO INFORMATICA S/C LTDA             |
    | 14000020000000006        |          4 |1100002     | PRODAP - PROC.DE DADOS                 |
    | 15100000000000004        |          2 |1110000     | (-)PROVISAO PARA DEVEDORES DUVIDOSOS   |
    | 15100000000000005        |          4 |1110000     | MATRIZ                                 |
    | 15110000000000005        |          4 |1111000     | FILIAL I                               |
    | 16400000000000004        |          2 |1140000     | IMPOSTOS A RECUPERAR                   |
    | 16400010000000005        |          4 |1140001     | IPI A RECUPERAR                        |
    | 16400020000000005        |          4 |1140002     | ICMS A RECUPERAR                       |
    -----------------------------------------------------------------------------------------------

    A lógica seria assim:
    Quando o campo grau for 1, inicio com o código 1000000, quando for 2 ou 3, mantenho o código 1000000. Quando o grau for 4, vou acrescentando itens 1000001, 1000002, 1000003. Até que se encontre o proximo grau 1, 2, 3. Quando encontrar o próximo grau 1, por exemplo, o código será 1010000, se os proximos forem 2 ou 3, mantenho o código 1010000, encontrando o 4, vou acrescentando os itens, 1010001, 1010002 e assim sucessivamente.

    Algúem tem alguma dica de como posso fazer isto. Já tentei de várias formas mas todas sem sucesso. Agradeço desde já......

    Att. Vinicius
    Anexos
    Criar Numeração Condicional AttachmentContador.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (23 Kb) Baixado 22 vez(es)
    avatar
    vinicius.anna
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 199
    Registrado : 29/04/2011

    Criar Numeração Condicional Empty Re: Criar Numeração Condicional

    Mensagem  vinicius.anna 11/12/2013, 12:17

    Bom dia,

    Estou a tentar usar o código abaixo:

    Código:

    Private Sub MontarContador_Click()
    'On Error Resume Next
    Dim strSql As String
    Dim rs As DAO.Recordset
    Dim ym As String
    Dim k As String
    strSql = "SELECT * FROM Reg_I050 ORDER BY Conta;"
    Set rs = CurrentDb.OpenRecordset(strSql)
    rs.MoveFirst
    ym = (rs!Conta) 'ano/mes
    k = 0
    Do While Not rs.EOF
        If ym = Val(rs!Conta) Then
            k = k + 1
        Else
            k = 1
            ym = Val(rs!Conta)
        End If
        rs.Edit
            rs!Contador = Val(ym & Format(k, "00000"))
        rs.Update
        rs.MoveNext
    Loop
    rs.Close
    Set rs = Nothing
    MsgBox "Término da montagem...."
    End Sub

    Ocorre que na tabela, grava-se 1E+21 para todos os campos.

    Alguém tem alguma dica?

    Att. Vinicius

      Data/hora atual: 28/3/2024, 10:47