MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Obter resultado com a separação de ponto de virgula em vba

    Compartilhe

    black_wolf
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 33
    Registrado : 02/04/2013

    [Resolvido]Obter resultado com a separação de ponto de virgula em vba

    Mensagem  black_wolf em 23/3/2014, 07:49

    Camaradas,

    Necessito pf da vossa ajuda.
    Necessito de obter resultado para uma cx de texto de valores separados com ponto e virgula em VBA.

    No exemplo que envio: no [FormTurma] na cx de texto [TextNIF] os vários nif dos alunos da turma.
    Resultado pretendido: 2000000;2000001;2000002

    Agradeço desde já a vossa ajuda.
    Anexos
    Teste_alunos_exp (2).zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (86 Kb) Baixado 6 vez(es)

    HARYSOHN
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12246
    Registrado : 01/03/2011

    Re: [Resolvido]Obter resultado com a separação de ponto de virgula em vba

    Mensagem  HARYSOHN em 23/3/2014, 08:27

    Em um botão coloque:


    Dim Rs As DAO.Recordset
    Dim StrSQL As String
    Dim StrTMP As String

    StrSQL = "SELECT * From tb_Alunos WHERE Turma = " & Me.ID_turma & ""
    Set Rs = CurrentDb.OpenRecordset(StrSQL)

    Do While Not Rs.EOF

    If StrTMP = "" Then ' 1º laço do Loop
    StrTMP = Rs!NIF
    Else
    ' A linha abaixo só vai ocorrer a partir do 2º laço
    StrTMP = StrTMP & ";" & Rs!NIF
    End If
    Rs.MoveNext
    Loop
    StrTMP = Mid(StrTMP, 1)
    Me.TextNIF = StrTMP


    Cumprimentos.


    .................................................................................
    PILOTO
    الله أكبر Paz, Justiça e Liberdade! الله أكبر
    CLIQUE AQUI E VEJA O VÍDEO >>> BIOMETRIA EM ACCESS

    Iniciando no Access? Então veja esse tópico e também esse


    BUSCA NO FÓRUM - CLIQUE AQUI!!!

    Quando tua dúvida for RESOLVIDA, dê retorno com AGRADECIMENTO a aqueles que gastaram seu tempo em te ajudar.
    Clique no botão Resolvido logo acima do botão Enviar, do lado direito. Todos nós agradecemos.  
    [Você precisa estar registrado e conectado para ver esta imagem.]

    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3348
    Registrado : 04/04/2010

    Re: [Resolvido]Obter resultado com a separação de ponto de virgula em vba

    Mensagem  Avelino Sampaio em 23/3/2014, 08:34

    Olá!

    No evento "no atual" , coloque:

    Private Sub Form_Current()
    Dim rs As DAO.Recordset
    Set rs = Me!frmalunos.Form.RecordsetClone
    Me!TextNIF = ""
    rs.MoveFirst
    Do While Not rs.EOF
    Me!TextNIF = Me!TextNIF & ";" & rs!NIF
    rs.MoveNext
    Loop
    Me!TextNIF = Mid(Me!TextNIF, 2)
    rs.Close
    Set rs = Nothing
    End Sub


    Sucesso!


    .................................................................................
    ============ Quer aprender Access em alta velocidade ? ============

    || [Você precisa estar registrado e conectado para ver esta imagem.] Acesse o site UsandoAccess.com.br e veja um ótimo kit de ensino que tenho para você.

    ===========================================================

    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3348
    Registrado : 04/04/2010

    Re: [Resolvido]Obter resultado com a separação de ponto de virgula em vba

    Mensagem  Avelino Sampaio em 23/3/2014, 08:38

    Olá, Piloto!

    Desculpa interferir mas eu queria mostrar que se o conteúdo estiver no próprio recordset do formulário ou sub formulário, vc não precisa acessar os dados através da consulta.  Ganha em desempenho e escrita.

    Sucesso!


    Última edição por Avelino Sampaio em 23/3/2014, 17:04, editado 2 vez(es)


    .................................................................................
    ============ Quer aprender Access em alta velocidade ? ============

    || [Você precisa estar registrado e conectado para ver esta imagem.] Acesse o site UsandoAccess.com.br e veja um ótimo kit de ensino que tenho para você.

    ===========================================================

    black_wolf
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 33
    Registrado : 02/04/2013

    Re: [Resolvido]Obter resultado com a separação de ponto de virgula em vba

    Mensagem  black_wolf em 23/3/2014, 10:39

    Muito obrigado a ambos pelo apoio e ensinamento.

    testado a 200%

    Obrigado.

    HARYSOHN
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12246
    Registrado : 01/03/2011

    Re: [Resolvido]Obter resultado com a separação de ponto de virgula em vba

    Mensagem  HARYSOHN em 23/3/2014, 11:05

    Boas Avelino.. vossa ajuda ajudou não somente ao colega como mim também..

    Nosso raciocínio foi o mesmo exceto a utilização do Recordset do próprio subformulário.
    Eu até havia tentado isso.. falhei pela falta sufixo "Clone" na instrução.

    Não tive paciência para verificar isto ai utilizei a consulta.
    Mas está com total razão quanto ao desempenho.

    Obrigado.



    .................................................................................
    PILOTO
    الله أكبر Paz, Justiça e Liberdade! الله أكبر
    CLIQUE AQUI E VEJA O VÍDEO >>> BIOMETRIA EM ACCESS

    Iniciando no Access? Então veja esse tópico e também esse


    BUSCA NO FÓRUM - CLIQUE AQUI!!!

    Quando tua dúvida for RESOLVIDA, dê retorno com AGRADECIMENTO a aqueles que gastaram seu tempo em te ajudar.
    Clique no botão Resolvido logo acima do botão Enviar, do lado direito. Todos nós agradecemos.  
    [Você precisa estar registrado e conectado para ver esta imagem.]

      Data/hora atual: 3/12/2016, 14:42