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]Dúvida sobre Função de Inserção de dados em tabela

    ronaldojr1
    ronaldojr1
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 01/08/2011

    [Resolvido]Dúvida sobre Função de Inserção de dados em tabela Empty Dúvida sobre Função de Inserção de dados em tabela

    Mensagem  ronaldojr1 17/8/2012, 14:57

    Bom dia a Todos

    Eu venho a agradecer toda a ajuda que o forum e os colaboradores me deu, graças a ele estou fazendo vários banco de dados profissionais.

    Minha dúvida é o seguinte:

    Estou utilizando o access 2010 e eu fiz um código que insere uma informação em várias tabelas diferentes. O Código funciona perfeitamente, mas acontece uma coisa interessante que eu não queria que acontecesse, mas se eu quicesse eu não conseguiria fazer. Irônico não?

    O que acontece é o seguinte quando eu cadastro um produto o código joga as informações que eu ja tinha digitado em outras tabela, até aí tudo bem, mas no codigo antes do "Tabela.AddNew" eu coloco o "Tabela.MoveLast" pra ele jogar o registro novo na ultima posição, mas não acontece isso. O que acontece é que quando o registro cai na outra tabela o access já coloca a SN(Chave Primaria)em ordem alfabética nas tabelas. Com isso eu não sei qual é o Último registro que entrou. Porque o access faz isso? É algum recurso novo dessa versão?

    abaixo segue um pedaço do codigo:

    ' Insere Dados na Tabela Movimentação Sem Deixar Duplicar


    movi.MoveFirst

    Do While Not movi.EOF And tm < 1 'Verifica se ja existe Produto com a mesma SN, Caso existir não faça nada.

    If SN = movi.Fields("sn") Then
    tm = 1
    Else
    movi.MoveNext
    End If

    Loop

    movi.MoveLast ' só Coloquei essa linha pra ter certeza o registro novo vai ser jogado na Última posiçãõ.


    If tm = 0 Then ' Se não existir nenhuma SN então Cria Registro


    movi.AddNew
    movi.Fields("sn") = SN
    movi.Fields("Produto") = Produto
    movi.Fields("Operação") = "Entrada"
    movi.Fields("Origem") = ""
    movi.Fields("Destino") = "Estoque"
    movi.Fields("Data") = Data
    movi.Update
    End If

    Mais uma dúvida quando eu uso um "Tabela.AddNew" o registro vai pra ultima posição sozinho?
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Dúvida sobre Função de Inserção de dados em tabela Empty Re: [Resolvido]Dúvida sobre Função de Inserção de dados em tabela

    Mensagem  Alexandre Neves 17/8/2012, 15:05

    Boa tarde, ronaldo
    O movelast move o cursor do recordset para a última posição. No entanto, o acréscimo de registos não é feito no recordset mas na tabela. Daí, o acréscimo não tem em consideração a posição do ponteiro no recordset.
    ronaldojr1
    ronaldojr1
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 01/08/2011

    [Resolvido]Dúvida sobre Função de Inserção de dados em tabela Empty Re: [Resolvido]Dúvida sobre Função de Inserção de dados em tabela

    Mensagem  ronaldojr1 17/8/2012, 15:12

    ahh entendi. Então a linha Tabela.MoveLast está sobrando, mas então como eu coloco o registro novo na última posição e Porque o Access Classifica Sozinho?
    Vou testar esse código no Access 2007 pra ver se ele faz a mesma coisa, pois eu fiz um código semelhante no access 2007 e ele joga o Registro Criado na última posição.
    Depois vou postar a resposta
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Dúvida sobre Função de Inserção de dados em tabela Empty Re: [Resolvido]Dúvida sobre Função de Inserção de dados em tabela

    Mensagem  Alexandre Neves 17/8/2012, 21:30

    O Access normalmente cria novo registo na última posição. A menos que algum registo tenha sido eliminado e ter ficado lugar vago pelo meio. Neste caso, o preenchimento começa com os lugares vagos que existam. É isto que eu entendo. No entanto, se precisa ter ordem de registo, crie um campo que incrementa a cada registo efectuado.
    ronaldojr1
    ronaldojr1
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 419
    Registrado : 01/08/2011

    [Resolvido]Dúvida sobre Função de Inserção de dados em tabela Empty Re: [Resolvido]Dúvida sobre Função de Inserção de dados em tabela

    Mensagem  ronaldojr1 21/8/2012, 14:53

    Entendi, Muito obrigado pela colaboração e que todos tenha um bom dia

    Conteúdo patrocinado


    [Resolvido]Dúvida sobre Função de Inserção de dados em tabela Empty Re: [Resolvido]Dúvida sobre Função de Inserção de dados em tabela

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 05:17