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]Problemas com Vetor

    johnnykitoo
    johnnykitoo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 75
    Registrado : 20/05/2011

    [Resolvido]Problemas com Vetor Empty [Resolvido]Problemas com Vetor

    Mensagem  johnnykitoo 15/12/2011, 19:47

    Ola, queria saber como faço pra criar um vetor em VBA.

    É o seguinte, tenho uma tabela e preciso obter os valores de uma das colunas da tabela,
    para que eu possa fazer umas operações aritmétias, sendo que nessa tabela contem bastente valores e eu gostaria de fazer essas operações linha por linha da tabela.

    Se alguem puder me ajudar desde ja agradeço!


    Última edição por johnnykitoo em 19/12/2011, 17:20, editado 1 vez(es)


    .................................................................................
    "Crê no Senhor Jesus e serás salvo, tu e a tua casa."

    Atos 16:31
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Problemas com Vetor Empty Re: [Resolvido]Problemas com Vetor

    Mensagem  criquio 15/12/2011, 20:03

    Você precisa calcular a coluna em todas as linhas? Talvez algo assim:

    Dim rs As Recordset, Vlr As Double
    Set rs = CurrentDb.OpenRecordset("NomeDaTabela")

    Do While Not rs.EOF
    Vlr = Vlr + rs!NomeDoCampoACalcular
    rs.MoveNext
    Loop

    Me.NomeDoCampoNoForm = Vlr

    rs.Close
    Set rs = Nothing


    No caso acima, estou somando os valores de uma coluna. Veja se consegue adaptar.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    johnnykitoo
    johnnykitoo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 75
    Registrado : 20/05/2011

    [Resolvido]Problemas com Vetor Empty Re: [Resolvido]Problemas com Vetor

    Mensagem  johnnykitoo 16/12/2011, 15:55

    Caro Críquio

    Obrigado pela imformação, pois me ajudou muito.

    Só que tem um problema, eu não estou querendo fazer um acumulo de soma de um unico campo,
    o que eu quero e multiplicar esse campo "DO" por outro campo de uma outra tabela. Explicarei melhor:

    E o seguinte tenho duas tabelas "parametros" e "index", na tabela paramentros quero pegar o campo "DO",
    ja na tabela index, quero pegar o campo "N", e multiplicar um campo pelo outro ate ao final das duas tabelas.


    Grato pela ajuda!!! Laughing


    .................................................................................
    "Crê no Senhor Jesus e serás salvo, tu e a tua casa."

    Atos 16:31
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Problemas com Vetor Empty Re: [Resolvido]Problemas com Vetor

    Mensagem  criquio 16/12/2011, 18:27

    As duas tabelas tem o mesmo número de registro? Você quer multiplicar as linhas de uma e de outra entre si? Tem algum campo em comum para ser usado como parâmetro?

    EXEMPLO DO QUE SERIA UMA LINHA DE UMA PELA LINHA DE OUTRA NA MESMA ORDEM:

    Tabela1 Tabela2
    Linha 1 * Linha 1
    Linha 2 * Linha 2
    Linha 3 * Linha 3

    Ou seria cada linha da tabela 1 por todas da tabala 2?

    Tabela1 Tabela2
    Linha 1 * Linha 1
    Linha 2 * Linha 1
    Linha 3 * Linha 1
    Linha N * Linha 1
    Linha 1 * Linha 2
    Linha 2 * Linha 2
    Linha 3 * Linha 2
    Linha N * Linha 2
    Linha 1 * Linha N
    Linha 2 * Linha N
    Linha 3 * Linha N
    Linha N * Linha N


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    johnnykitoo
    johnnykitoo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 75
    Registrado : 20/05/2011

    [Resolvido]Problemas com Vetor Empty Re: [Resolvido]Problemas com Vetor

    Mensagem  johnnykitoo 16/12/2011, 18:54

    Caro Amigo Criquio, o que eu pretendo e o primeiro exemplo:
    Tabela1 Tabela2
    Linha 1 * Linha 1
    Linha 2 * Linha 2
    Linha 3 * Linha 3

    Elas tem o mesmo numero de registro,e tem um parametro em comum entre elas que se chama "indexador"


    .................................................................................
    "Crê no Senhor Jesus e serás salvo, tu e a tua casa."

    Atos 16:31
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Problemas com Vetor Empty Re: [Resolvido]Problemas com Vetor

    Mensagem  criquio 16/12/2011, 19:11

    E você precisa jogar essa multiplicação aonde? Em um campo do formulário ou em outra tabela? Supondo que seja em um campo do formulário, basta fazer o que passei acima, instanciando a segunda tabela tambem:

    Dim rs1 As Recordset, rs2 As Recordset

    Set rs1 = CurrentDb.OpenRecordset("NomeDaTabela1")
    Set rs2 = CurrentDb.OpenRecordset("SELECT * FROM NomeDaTabela2 WHERE Indexador=" & rs1!Indexador & "")

    Do While Not rs1.EOF
    If IsNull(Me.NomeDoCampoDoForm) Or Me.NomeDoCampoDoForm.Value = "" Then
    Me.NomeDoCampoDoForm = rs1!NomeCampoTabela1 * rs2!NomeCampoTabela2
    Else
    Me.NomeDoCampoDoForm = Me.NomeCampoDoForm & VBCRLF & rs1!NomeCampoTabela1 * rs2!NomeCampoTabela2
    End If
    rs1.MoveNext
    Loop

    Me.NomeDoCampoNoForm = Vlr

    rs1.Close
    Set rs1 = Nothing

    rs2.Close
    Set rs2 = Nothing


    Se for para jogar o valor em uma terceira tabela, aí tem que saber se será como novo registro ou no campo de um registro já existente e qual seria o vínculo entre esse registro e os registros calculados.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    johnnykitoo
    johnnykitoo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 75
    Registrado : 20/05/2011

    [Resolvido]Problemas com Vetor Empty Re: [Resolvido]Problemas com Vetor

    Mensagem  johnnykitoo 16/12/2011, 19:21

    Caro amigo, vou utilizar a informação que me enviou e retorno com uma resposta.
    Mais ja diante mão, gostaria que esses registro fosse inserido em uma outra tabela onde essa nova
    tabela so teria um campo, que é o que vai receber o calculo feito pelas outras duas!


    Grato...


    .................................................................................
    "Crê no Senhor Jesus e serás salvo, tu e a tua casa."

    Atos 16:31
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Problemas com Vetor Empty Re: [Resolvido]Problemas com Vetor

    Mensagem  criquio 16/12/2011, 19:30

    Então mude essa parte:

    Do While Not rs1.EOF
    If IsNull(Me.NomeDoCampoDoForm) Or Me.NomeDoCampoDoForm.Value = "" Then
    Me.NomeDoCampoDoForm = rs1!NomeCampoTabela1 * rs2!NomeCampoTabela2
    Else
    Me.NomeDoCampoDoForm = Me.NomeCampoDoForm & VBCRLF & rs1!NomeCampoTabela1 * rs2!NomeCampoTabela2
    End If
    rs1.MoveNext
    Loop


    PARA

    Do While Not rs1.EOF
    CurrentDb.Execut "INSERT INTO NomeDaTabela3(NomeDoCampo) VALUES('" & rs1!NomeCampoTabela1 * rs2!NomeCampoTabela2 & "')"
    rs1.MoveNext
    Loop


    Faça esses testes em um cópia do aplicativo, para o caso de algo sair errado, não prejudicar o original.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    johnnykitoo
    johnnykitoo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 75
    Registrado : 20/05/2011

    [Resolvido]Problemas com Vetor Empty Re: [Resolvido]Problemas com Vetor

    Mensagem  johnnykitoo 16/12/2011, 19:37

    Ok,

    vou fazer os teste e retorno com uma resposta!!!

    Grato...


    .................................................................................
    "Crê no Senhor Jesus e serás salvo, tu e a tua casa."

    Atos 16:31
    johnnykitoo
    johnnykitoo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 75
    Registrado : 20/05/2011

    [Resolvido]Problemas com Vetor Empty Re: [Resolvido]Problemas com Vetor

    Mensagem  johnnykitoo 19/12/2011, 16:10

    Caro amigo,

    Coloquei o seguinte trecho de codigo, que me enviou, porem
    esta dando erro nessa parte do codigo

    Código:
    CurrentDb.Execut "INSERT INTO xyz_tbl_Primeiro_Calculo(Calculado) VALUES('" & rs1!DO * rs2!indexN & "')"
    Sendo que fica marcado no codigo essa parte rs1!DO, e mostra o seguinte erro de compilação: Método ou membro de dados não encontrado.

    O que seria esse erro, pois conferi o nome do campo da tabela referente ao rs1 e está certo.


    Grato...


    .................................................................................
    "Crê no Senhor Jesus e serás salvo, tu e a tua casa."

    Atos 16:31
    johnnykitoo
    johnnykitoo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 75
    Registrado : 20/05/2011

    [Resolvido]Problemas com Vetor Empty Re: [Resolvido]Problemas com Vetor

    Mensagem  johnnykitoo 19/12/2011, 17:19

    Pode deixar Criquio, ja corrigi o erro.

    Obrigado pela ajuda! fiz umas modificações no codigo que me enviou, ficou do seguinte forma.

    Código:
    Dim rs1 As Recordset, rs2 As Recordset
       
        Dim var As String
       
        Set rs1 = CurrentDb.OpenRecordset("xyz_tbl_papeis_parametros_DO")
        Set rs2 = CurrentDb.OpenRecordset("SELECT * FROM xyz_tbl_index_DO WHERE cod_index=" & rs1!Cod_index & "")

        Do While Not rs1.EOF
            If IsNull(Me.Texto3) Or Me.Texto3.Value = "" Then
            Me.Texto3 = rs1!DO * rs2!indexN
            CurrentDb.Execute "INSERT INTO xyz_tbl_Primeiro_Calculo(Calculado) VALUES ('" & Me.Texto3 & "')"

        End If
        Me.Texto3 = Null
        rs1.MoveNext
        Loop
       
        MsgBox "Dados Calculados e inseridos!", vbOKOnly
     
        rs1.Close
        Set rs1 = Nothing

        rs2.Close
    Set rs2 = Nothing

    Para aqueles que tiverem a mesma dificuldade que eu, esta ai a solução!

    Att,

    Johnny de Moraes Very Happy


    .................................................................................
    "Crê no Senhor Jesus e serás salvo, tu e a tua casa."

    Atos 16:31
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Problemas com Vetor Empty Re: [Resolvido]Problemas com Vetor

    Mensagem  criquio 19/12/2011, 17:43

    Valeu. O forum agradece.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    Conteúdo patrocinado


    [Resolvido]Problemas com Vetor Empty Re: [Resolvido]Problemas com Vetor

    Mensagem  Conteúdo patrocinado


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