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]Como ordenar array

    avatar
    Rinaldo_al
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 8
    Registrado : 07/12/2009

    [Resolvido]Como ordenar array Empty [Resolvido]Como ordenar array

    Mensagem  Rinaldo_al 3/6/2014, 19:40

    Colegas, estou precisando alterar o código abaixo para que o resultado seja impresso por ordem (A-Z) da variável vNome.

    Dim rsTblSelecaoEquipe As Recordset, rsCad As Recordset[/color]
    Dim vNome(0 To 60) As String, vCargo(0 To 60) As String, vMatricula(0 To 60) As String, vCpf(60) As String
    Dim VEquipe(60) As String, vTotGeral(60)
    Dim i As Integer

    Set rsTblSelecaoEquipe = CurrentDb.OpenRecordset("TblSelecaoEquipe")
     
          Do While Not rsTblSelecaoEquipe.EOF
           Set rsCad = CurrentDb.OpenRecordset("SELECT * FROM TabCadpoliciais WHERE Matricula  ='" & rsTblSelecaoEquipe!Matricula & "'")
               
               vMatricula(i) = Format(rsTblSelecaoEquipe!Matricula, "@@@\.@@@-@")
               VEquipe(i) = Replace(rsTblSelecaoEquipe!DiastrabPlantIntTxt, " - ", ",") & Replace(rsTblSelecaoEquipe!DiastrabDeplanTxt, " - ", ",")
               vNome(i) = rsCad!nome
               vCpf(i) = Format(rsCad!CPF, "@@@\.@@@\.@@@-@@")
               vTotGeral(i) = Format(rsTblSelecaoEquipe!TotGeral, "00")
               
            ' faz incremento a variável "i"
               i = i + 1
          rsTblSelecaoEquipe.MoveNext
       Loop

    No aguardo de ajuda Exclamation Exclamation 
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Como ordenar array Empty Re: [Resolvido]Como ordenar array

    Mensagem  Avelino Sampaio 3/6/2014, 22:33

    Olá!

    Experimente:

    Set rsCad = CurrentDb.OpenRecordset("SELECT * FROM TabCadpoliciais WHERE Matricula ='" & rsTblSelecaoEquipe!Matricula & "' ORDER BY nome;")

    Aguardamos


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    Rinaldo_al
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 8
    Registrado : 07/12/2009

    [Resolvido]Como ordenar array Empty Re: [Resolvido]Como ordenar array

    Mensagem  Rinaldo_al 4/6/2014, 00:41

    Não ocorreu qualquer alteração depois de inserir no código sua contribuição. Um fato q esqueci de falar é q os dados coletados serão inseridos em doc do word por meio de indicador.
    .ActiveDocument.Bookmarks("Matricula0").Select
    .Selection.Text = vMatricula(0)

    .ActiveDocument.Bookmarks("Nome0").Select
    .Selection.Text = vNome(0)

    .ActiveDocument.Bookmarks("CPF0").Select
    .Selection.Text = (CStr(vCpf(0)))

    .ActiveDocument.Bookmarks("DiasTrab0. ").Select
    .Selection.Text = VEquipe(0)
    '-----------
    .ActiveDocument.Bookmarks("Matricula1").Select
    .Selection.Text = vMatricula(1)

    ...
    Ainda estou no aguardo de ajuda
    avatar
    Rinaldo_al
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 8
    Registrado : 07/12/2009

    [Resolvido]Como ordenar array Empty Uma solução "gambiarra"

    Mensagem  Rinaldo_al 6/6/2014, 01:04

    Amigos, não consegui fazer ordenação por meio do array, entretanto consegui solucionar o problema. Como o código acima funciona perfeitamente, ou seja, estou conseguindo fazer a coleta dos dados e imprimir no word por meio de indicadores, utilizei em parte a sugestão do moderador Avelino Sampaio. A solução foi criar por meio de uma "consulta tipo criar tabela" uma tabela temporária contendo os dados da tabela TblSelecaoEquipe e da TabCadpoliciais o campo NOME. Na consulta foi colocado a opção de ordenação crescente do campo nome.  Agora estou conseguindo fazer impressão dos dados em ordem alfabética.
    Eu sei que a solução não é 100% correta, mas está atendendo as minhas necessidades até que eu encontre um código (VBA) que faça a ordenação dos dados do array.
    Assim que conseguir um código que realmente ordene o array eu colocarei o tópico como resolvido. !!!
    Exclamation  bounce Razz affraid Exclamation
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Como ordenar array Empty Re: [Resolvido]Como ordenar array

    Mensagem  Avelino Sampaio 6/6/2014, 10:06

    Olá!

    Cópie o código abaixo para um módulo global do seu BD.

    Public Sub fncOrdenarArray(Fruta, Pais)
    Dim i%, j%, uB%, Temp, temp2
    uB = UBound(Fruta)
    For i = LBound(Fruta) To uB - 1
       For j = i + 1 To uB
           If UCase(Fruta(i)) > UCase(Fruta(j)) Then
               Temp = Fruta(j): temp2 = Pais(j)
               Fruta(j) = Fruta(i): Pais(j) = Pais(i)
               Fruta(i) = Temp: Pais(i) = temp2
           End If
       Next j
    Next i
    End Sub

    '--------------------------------------------------------------
    Public Sub fncCarregaArray()
    Dim i%, lista$
    Dim Fruta(1 To 6)
    Dim Pais(1 To 6)

    Fruta(1) = "Banana"
    Fruta(2) = "Pera"
    Fruta(3) = "Abacate"
    Fruta(4) = "Maça"
    Fruta(5) = "Uva"
    Fruta(6) = "Limão"

    Pais(1) = "Brasil"
    Pais(2) = "Argentina"
    Pais(3) = "Uruguai"
    Pais(4) = "Portugal"
    Pais(5) = "França"
    Pais(6) = "Espanha"

    Call fncOrdenarArray(Fruta, Pais)

    For i = 1 To 6
       lista = lista & Fruta(i) & " - " & Pais(i) & vbNewLine
    Next

    MsgBox lista
    End Sub


    Para testar execute a função.  A ordenação é por Fruta.

    Call fncCarregaArray()

    Bom estudo!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    Rinaldo_al
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 8
    Registrado : 07/12/2009

    [Resolvido]Como ordenar array Empty Valeu pela ajuda!!!

    Mensagem  Rinaldo_al 17/6/2014, 01:38

    Obrigado pela ajuda.
    Testei o código e funciona corretamente.
    Agora vou fazer as adaptações necessárias e quando estiverem prontas ou postar aqui no forum. Laughing Razz Exclamation Exclamation 

    Conteúdo patrocinado


    [Resolvido]Como ordenar array Empty Re: [Resolvido]Como ordenar array

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 8/11/2024, 06:07