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

    [Resolvido]Dados em campo do relatório

    caiosouza
    caiosouza
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 05/12/2016

    [Resolvido]Dados em campo do relatório Empty [Resolvido]Dados em campo do relatório

    Mensagem  caiosouza 8/12/2016, 09:14

    Srs.
    Existe a possibilidade de resumir dados em um campo do relatório?

    Ex.

    O meu campo TXT_DESCRIÇÃO tem espaço para 15 linhas, porém no registro tenho 30.
    Na altura do campo não dá, mais ao lado da "1° Coluna" dá.

    Ou seja, preciso fazer com que quando chegar a 15 linha, automaticamente o próximos sejam na frente da "1° Coluna".
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Dados em campo do relatório Empty Re: [Resolvido]Dados em campo do relatório

    Mensagem  FabioPaes 8/12/2016, 10:13

    Talvez lhe ajude:
    https://www.maximoaccess.com/t28402-dividir-texto-a-cima-de-65mil-caracteres-em-caixas-de-texto-em-relatorio-com-ate-64-000-caracteres-por-caixa-e-texto
    Nesse exemplo dividimos o Texto em varias caixas de Texto. Cada uma com ate  64mil Caracteres.


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    caiosouza
    caiosouza
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 05/12/2016

    [Resolvido]Dados em campo do relatório Empty Re: [Resolvido]Dados em campo do relatório

    Mensagem  caiosouza 8/12/2016, 14:09

    Está dando erro nessa linha TextoTotal = EstoqueInter()


    Preciso que ao chegar á 15 linhas mude para a próxima caixa de texto.


    Caixa1
    Caixa2
    Caixa3
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Dados em campo do relatório Empty Re: [Resolvido]Dados em campo do relatório

    Mensagem  FabioPaes 8/12/2016, 15:24

    EstoqueInter() é a Função que Constroi o relatorio amigo...


    No seu caso nao sera utilizado função...


    Apenas irá contar o vbnewLine para determinar quantas linhas tem na Caixa de Texto... E baseado nessa quantidade dividir para 15 para determinar quantos campos teremos...


    Assim realizará a Extração para cada Campo.


    Campo1 recebe as 15 primeiras linhas
    Campo2 recebe da 16 a 30 linhas
    e assim por diante.


    Ontem eu lhe respondia 50% do que precisa... E os outros 50% esta no post indicado aqui.


    Veja como foi feito la para contar o e excluir a linha...


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    caiosouza
    caiosouza
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 05/12/2016

    [Resolvido]Dados em campo do relatório Empty Re: [Resolvido]Dados em campo do relatório

    Mensagem  caiosouza 8/12/2016, 15:46

    Caro FabioPaes,

    Não entendi muito bem onde coloco meus controles, ex a caixa1, caixa2 e caixa3.

    Teria que especificar, pois no relatório existe 5 caixas mais uso duas para outros dados.

    Então a sua função terá que funcionar até a caixa3.

    E preciso que mande Linhas inteiras e não Caracteres, os caracteres variam de acordo com a linha.


    Desculpe a dúvida, mais sou iniciante em VBA.
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Dados em campo do relatório Empty Re: [Resolvido]Dados em campo do relatório

    Mensagem  FabioPaes 8/12/2016, 16:59

    Tranquilo...

    Vamos la... No exemplo sugerido eu extraio por Caracteres... Porem no seu Caso será feito a Extração de acordo com o delimitador vbNewline

    Conforme feito aqui: Veja aqui como Fazer


    Coloque umas 5 Caixas de Texto no seu relatório, ambas com milímetros de altura(veja no exemplo que coloquei la).
    Suas caixas de texto deverão ter os nomes sequenciais assim (txt1,txt2,txt3) veja no exemplo, assim podemos enviar os dados para elas sem muito esforço dentro do loop.

    Para sabermos quantas linhas irá em cada caixa de Texto, vc contará o vbNewline e dividirá por 15 (Veja aqui como Fazer), ja que em cada uma caixa de texto vc quer 15 linhas.

    Então basta colocar o Texto em suas devidas caixa de texto...

    txt1 receberá da linha 1 a 15
    txt2 receberá da linha 16 a 30
    ...

    Se surgir duvidas, poste o que ja tem como exemplo


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    caiosouza
    caiosouza
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 05/12/2016

    [Resolvido]Dados em campo do relatório Empty Re: [Resolvido]Dados em campo do relatório

    Mensagem  caiosouza 9/12/2016, 09:14

    Bom dia Fabio, não sei se foi propósito, mais os links acima estão repetidos.

    Bom, segui suas instruções. Mais ainda estou com 2 dúvidas:

    Porque em vez de Mover a linha ele esta Copiando?

    Meu Relatório vai 3 registros por folha, assim ficando 15 caixa de texto em modo impressão. E o código está copiando os dados da última txt1 e colando em todas txt2, porque?


    Segue código "modificado"


    Código:
    Private Sub Report_Load()
    '-------------------------------------------------------'
    '              Criado por Fabio Paes                    '
    '        Em 07/12/2016 para MaximoAccess                '
    '-------------------------------------------------------'
    Dim F, P As String
    Dim i, lExclusao As Integer
    F = Split(Me.txt1, vbNewLine)
    'P = "."
    'Solicita o Numero da Linha e retrocede um (-1) pois o metodo Split considera a Primeira Linha a de Numero 0 (zero)
    lExclusao = 3 - 1
    'O Loop Vai de Zero ate a qnt de vbNewline encontrada no texto (UBound(F)) Conta quantos vbNewline tem.
    For i = 0 To UBound(F)
    If lExclusao <> i Then   'Extrai todo o texto separado pelo VbNewline, exceto o da linha Digitada
    P = P & vbNewLine & F(i) 'Monta o Texto que queremos
    End If
    Next
    P = Right(P, (Len(P) - 2))
    Me.txt2 = P
    End Sub
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Dados em campo do relatório Empty Re: [Resolvido]Dados em campo do relatório

    Mensagem  FabioPaes 9/12/2016, 14:57

    Esse código é do Outro tópico, para excluir certo?

    para essa sua nova divida terá que fazer outro amigo... Baseado nesse e claro...


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Dados em campo do relatório Empty Re: [Resolvido]Dados em campo do relatório

    Mensagem  FabioPaes 9/12/2016, 21:06

    Veja, dividindo de 15 em 15 Linhas.
    dropbox.com/s/9wbag6awex6x7u0/DIVIDIR%20texto%20em%2015%20LINHAS%20POR%20TEXTBOX.rar?dl=0



    Código:
    '-------------------------------------------------------'
    '              Criado por Fabio Paes                    '
    '        Em 07/12/2016 para MaximoAccess                '
    '-------------------------------------------------------'
    Dim F, P, C As String
    Dim i, Inicio, Fim As Integer
    F = Split(Me.txtOrigem, vbNewLine)
    Inicio = 0
    Fim = 14 '14+1 = 15 Linhas pois o Split começa do 0 e nao do 1
    For i = 0 To UBound(F) / 15 'Numero de linhas por cx Texto
    P = ""
    C = "txtDestino" & i + 1 'Controi o Nome do Campo que vai ser: txt+i (i=1,2,3,4...)
        For X = Inicio To Fim
        If X <= UBound(F) Then
        P = P & vbNewLine & F(X) 'Monta o Texto que queremos
        End If
        Next
        Fim = X + 14 '14+1 = 15 Linhas pois o Split começa do 0 e nao do 1
        Inicio = X
    P = Right(P, (Len(P) - 2))
    Me.Controls(C) = P

    Next


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    caiosouza
    caiosouza
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 05/12/2016

    [Resolvido]Dados em campo do relatório Empty Re: [Resolvido]Dados em campo do relatório

    Mensagem  caiosouza 12/12/2016, 13:06

    Ok, deu certo.

    Porém ó código cola os dados do 1° registro em todos os outros registros...

    ex:

    Registro 1

    teste 1---teste 4
    teste 2---teste 5
    teste 3---teste 6

    Registro 2

    teste 7---teste 4
    teste 8---teste 5
    teste 9---teste 6

    Uso 6 registro por folha
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Dados em campo do relatório Empty Re: [Resolvido]Dados em campo do relatório

    Mensagem  FabioPaes 12/12/2016, 13:28

    Amigo, certamente é pq seu caso é diferente do exemplo postado...
    Tem que adaptar para sua realidade amigo... O exemplo é apenas uma base.

    Isso ocorre provavelmente pq a Variável nao é zerada ao passar para o Próximo Registro. Zere ela no inicio do Código.


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    caiosouza
    caiosouza
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 05/12/2016

    [Resolvido]Dados em campo do relatório Empty Re: [Resolvido]Dados em campo do relatório

    Mensagem  caiosouza 12/12/2016, 16:04

    Amigo zerei as variáveis, sem sucesso!
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Dados em campo do relatório Empty Re: [Resolvido]Dados em campo do relatório

    Mensagem  FabioPaes 12/12/2016, 19:40

    Manda aqui o aplicativo, somente com o necessário para essa duvida!


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    caiosouza
    caiosouza
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 05/12/2016

    [Resolvido]Dados em campo do relatório Empty Re: [Resolvido]Dados em campo do relatório

    Mensagem  caiosouza 13/12/2016, 07:36

    Oque você me enviou esta com o mesmo erro, basta criar outro registro.

    No que você me mandou tem 51 linhas no registro 1, ao inserir um novo registro com por exemplo... 20 linhas.
    as duas primeiras caixas no relatório iram se basear no registro 2 e as restantes (caixa 3 e 4) ainda se basearam no registro 1.
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Dados em campo do relatório Empty Re: [Resolvido]Dados em campo do relatório

    Mensagem  FabioPaes 13/12/2016, 11:01

    Amigo, na verdade o código não estava colocando os dados do registro anterior no registro seguinte...
    O que acontece é que as CX de Texto estão desvinculadas, certo? como são desvinculadas, elas não tem um controle, sendo assim ao exibirmos ela no registro anterior e aplicarmos um valor na cx de Texto, ela permanecerá dessa forma até que seja novamente Ocultada ou aplicada novo valor.

    Sendo assim, teremos que rodar um comando para ao passar para o Próximo Registo Ocultarmos todas as CX de Texto...


    Atualize o Codigo do Relatório para:

    Código:
    Private Sub Detalhe_Format(Cancel As Integer, FormatCount As Integer)
    'On Error Resume Next
    '-------------------------------------------------------'
    '              Criado por Fabio Paes                    '
    '        Em 07/12/2016 para MaximoAccess                '
    '-------------------------------------------------------'
    Dim F, P, C As String
    Dim i, Inicio, Fim As Integer
    'Ocultará todas as CX de texto, para nao exibir os valores do registro anterior.
    For X = 1 To 6
    C = "txtDestino" & X
    Me.Controls(C).Visible = False
    Next

    F = Split(Me.Desc, vbNewLine)
    Inicio = 0
    Fim = 14
    For i = 0 To UBound(F) / 15
    P = ""
    C = "txtDestino" & i + 1 'Controi o Nome do Campo que vai ser: txt+i (i=1,2,3,4...)
        For X = Inicio To Fim
        If X <= UBound(F) Then
        P = P & vbNewLine & F(X) 'Monta o Texto que queremos
        End If
        Next
        Fim = X + 14
        Inicio = X
    P = Right(P, (Len(P) - 2))
    Me.Controls(C) = P
    Me.Controls(C).Visible = True
    Next
    End Sub


    Foi adicionado apenas isso no Inicio do Codigo:


    'Ocultará todas as CX de texto, para nao exibir os valores do registro anterior.
    For X = 1 To 6
    C = "txtDestino" & X
    Me.Controls(C).Visible = False
    Next


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    caiosouza
    caiosouza
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 05/12/2016

    [Resolvido]Dados em campo do relatório Empty Re: [Resolvido]Dados em campo do relatório

    Mensagem  caiosouza 13/12/2016, 12:40

    Funcionando 100%

    Resolvido Fabio, valeu por mais essa!
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Dados em campo do relatório Empty Re: [Resolvido]Dados em campo do relatório

    Mensagem  FabioPaes 13/12/2016, 12:57

    Grato pelo retorno e até a Próxima se Deus quiser!


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    Conteúdo patrocinado


    [Resolvido]Dados em campo do relatório Empty Re: [Resolvido]Dados em campo do relatório

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/3/2024, 16:01