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

    Como chamar dados de uma matriz?

    Compartilhe

    viniciusgnr
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 46
    Registrado : 24/05/2012

    Como chamar dados de uma matriz?

    Mensagem  viniciusgnr em Sab 01 Ago 2015, 11:44

    Saudações, amigos.

    Estou montando um pequeno BD e em uma determinada etapa preciso executar uma função que ainda desconheço, mas pelas pesquisas que fiz vi que terei que usar uma matriz.

    Supondo que eu tenha o seguinte BD:
    Código:
    | Lugar  |Tipo1|Tipo2|
    | Lugar1 | 10  | 20  |
    | Lugar2 | 05  | 18  |
    | Lugar3 | 10  | 20  |

    Já fiz minha instrução SQL, que seria:
    Código:
    sSql = "SELECT MinhaTabela.Lugar, MinhaTabela.Tipo1, MinhaTabela.Tipo2 FROM MinhaTabela"

    Agora que vem minha dúvida. Como faria para chamar, por exemplo, o Tipo2 do Lugar2 (no caso, 18)?

    Desde já obrigado a todos.

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3217
    Registrado : 15/03/2013

    Re: Como chamar dados de uma matriz?

    Mensagem  ahteixeira em Sab 01 Ago 2015, 12:57

    Olá, tente assim:

    Código:
    sSql = "SELECT MinhaTabela.Tipo2 FROM MinhaTabela WHERE MinhaTabela.Lugar='Lugar2';"

    Abraço

    viniciusgnr
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 46
    Registrado : 24/05/2012

    Re: Como chamar dados de uma matriz?

    Mensagem  viniciusgnr em Sab 01 Ago 2015, 13:14

    Obrigado, amigo. De fato funciona, mas preciso ir mais além...

    Na verdade, preciso inserir em uma tabela uma quantidade de registros determinado para cada lugar.

    Por exemplo, inserir 10 registros Tipo1 no Lugar1, depois 20 registros Tipo2 no Lugar1, depois 5 registros Tipo1 no Lugar2, e assim por diante.

    Não sei se consegui explicar bem ou se é a melhor forma de fazer.

    Vou executar um Loop para a multi inserção dos registros, o que não estou conseguindo é "navegar nesta tabela" para determinar o lugar, tipo e quantidade de registros para a função INSERT.

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3217
    Registrado : 15/03/2013

    Re: Como chamar dados de uma matriz?

    Mensagem  ahteixeira em Sab 01 Ago 2015, 14:31

    Olá, veja se ajuda:

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

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

    Abraço

    viniciusgnr
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 46
    Registrado : 24/05/2012

    Re: Como chamar dados de uma matriz?

    Mensagem  viniciusgnr em Sab 01 Ago 2015, 22:42

    Obrigado pelos links, mas embora eu não tenha compreendido muito, acho que não atende muito bem o que preciso.

    Segue um BD de teste com uma situação parecida com a que relatei aqui.

    Se alguém tiver paciência em poder me ajudar, agradeço muito!

    Enquanto isso vou pesquisando mais sobre arrays pra ver se aprendo um pouco.
    Anexos
    Teste.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (30 Kb) Baixado 6 vez(es)

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3217
    Registrado : 15/03/2013

    Re: Como chamar dados de uma matriz?

    Mensagem  ahteixeira em Dom 02 Ago 2015, 12:01

    Olá Vinicius, falando de matrizes veja tópico abaixo:
    [Você precisa estar registrado e conectado para ver este link.]

    Relativamente ao exemplo postado, não abre o form, reveja.

    Entretanto estive a ler melhor a sua mensagem nº 3 para inserir os registos podemos usar o for, veja pequeno exemplo:

    Código:
    Dim X As Integer
    'inserir 10 registros
    For X = 1 To 10
        CurrentDb.Execute "....sua instrução sql para Tipo1 no Lugar1"
    Next X

    Para os outros casos seria repetir.

    Acho que a sua principal dúvida é como determinar o X (nº de registos) ou a informação a colocar.
    Se é este caso o melhor será postar base de dados com as tabelas e alguns dados de amostragem e dizer, tenho os registos assim e pretendo criar na tabela Y da seguinte forma, exemplificando como ficaria o resultado final.

    Abraço

      Data/hora atual: Sex 09 Dez 2016, 09:33