MaximoAccess

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

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
    avatar
    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 Dom 23 Mar 2014, 11: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)
    avatar
    HARYSOHN
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

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

    Mensagem  HARYSOHN em Dom 23 Mar 2014, 12: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! الله أكبر
    [Você precisa estar registrado e conectado para ver este link.]

    Iniciando no Access? Então veja esse [Você precisa estar registrado e conectado para ver este link.] e também [Você precisa estar registrado e conectado para ver este link.]


    [Você precisa estar registrado e conectado para ver este link.]

    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.]
    avatar
    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

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

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

    Mensagem  Avelino Sampaio em Dom 23 Mar 2014, 12: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!
    avatar
    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

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

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

    Mensagem  Avelino Sampaio em Dom 23 Mar 2014, 12: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 Dom 23 Mar 2014, 21:04, editado 2 vez(es)
    avatar
    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 Dom 23 Mar 2014, 14:39

    Muito obrigado a ambos pelo apoio e ensinamento.

    testado a 200%

    Obrigado.
    avatar
    HARYSOHN
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

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

    Mensagem  HARYSOHN em Dom 23 Mar 2014, 15: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! الله أكبر
    [Você precisa estar registrado e conectado para ver este link.]

    Iniciando no Access? Então veja esse [Você precisa estar registrado e conectado para ver este link.] e também [Você precisa estar registrado e conectado para ver este link.]


    [Você precisa estar registrado e conectado para ver este link.]

    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: Ter 17 Out 2017, 10:35