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]Inserir dados na tabela de acordo com o numero de registros existente via vba

    filhopqd
    filhopqd
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 27
    Registrado : 26/12/2011

    [Resolvido]Inserir dados na tabela de acordo com o numero de  registros existente via vba Empty [Resolvido]Inserir dados na tabela de acordo com o numero de registros existente via vba

    Mensagem  filhopqd 18/7/2012, 14:49

    Bom dia pessoal!
    Criei um botão no meu formulário para Inserir dados na TabelaA de acordo com a TabelaB.
    Na TabelaB o campo NR está com os registros nulos, mais na TabelaA o campo NR é a chave primária, não aceitando registros nulos.
    Gostaria de saber como inserir dados no campo NR da TabelaB, de acordo com o numero de registros da tabelaB, iniciando do número 1 ao número de registros existentes.
    Desde já agradeço!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Inserir dados na tabela de acordo com o numero de  registros existente via vba Empty Re: [Resolvido]Inserir dados na tabela de acordo com o numero de registros existente via vba

    Mensagem  Alexandre Neves 18/7/2012, 15:23

    Não entendi o que pretende
    filhopqd
    filhopqd
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 27
    Registrado : 26/12/2011

    [Resolvido]Inserir dados na tabela de acordo com o numero de  registros existente via vba Empty Re: [Resolvido]Inserir dados na tabela de acordo com o numero de registros existente via vba

    Mensagem  filhopqd 18/7/2012, 15:35

    Na TabelaB tem 100 registros(por exemplo,)gostaria de inserir dados no campo "NR", que está com registros nulos, numerar de 1 a 100.(de acordo com o nr de registros da TabelaB,que pode variar)
    Obrigado!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Inserir dados na tabela de acordo com o numero de  registros existente via vba Empty Re: [Resolvido]Inserir dados na tabela de acordo com o numero de registros existente via vba

    Mensagem  Alexandre Neves 18/7/2012, 15:45

    Registos nulos? Existem?
    Mostre exemplo elucidativo
    filhopqd
    filhopqd
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 27
    Registrado : 26/12/2011

    [Resolvido]Inserir dados na tabela de acordo com o numero de  registros existente via vba Empty Re: [Resolvido]Inserir dados na tabela de acordo com o numero de registros existente via vba

    Mensagem  filhopqd 18/7/2012, 16:01

    Minha tabelaB está assim:

    Nr NomePai Mae Nasc
    Maria Francisco Socorro1/2/91
    Jose Pedro Claudia 21/8/92
    JoaoCarlos Maria Jose15/3/95
    Ao executar o comando, queria que numerasse o campo Nr de acordo com o número de registros existentes na tabela, no caso acima, ficaria de 1 a 3.
    Obrigado!


    Última edição por filhopqd em 18/7/2012, 16:21, editado 1 vez(es)
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Inserir dados na tabela de acordo com o numero de  registros existente via vba Empty Re: [Resolvido]Inserir dados na tabela de acordo com o numero de registros existente via vba

    Mensagem  Alexandre Neves 18/7/2012, 16:07

    Disse que a numeração pode variar (suponho que pode não variar)
    Como funciona a variação? com que regra? Como a tabelaA influnia a numeração da tabelaB?
    O primeiro passo para escrever o código é a estruturação do que se pretende. Tem de descrever todos os detalhes que sejam lógicos.
    filhopqd
    filhopqd
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 27
    Registrado : 26/12/2011

    [Resolvido]Inserir dados na tabela de acordo com o numero de  registros existente via vba Empty Re: [Resolvido]Inserir dados na tabela de acordo com o numero de registros existente via vba

    Mensagem  filhopqd 18/7/2012, 16:55

    Desculpe, pois não está sendo claro na minha dúdiva.
    - A numeração pode variar, porque dependendo da tabela que eu importar, esta tabela poderá ter Nr de registros diferentes (a tabela que estou trabalhando tem 900 registros por exemplo).
    - A TabelaA não influiencia na numeração da TabelaB, mais não posso inserir dados da TabelaB para TabelaA enquanto o Campo NR da TabelaB não estiver preenchido e sem repetições e não nulos, pois o Campo Nr da TabelaA, é a chave primária.

    Código:
    Private Sub ImportaTabela_Click()
    DoCmd.SetWarnings False

    ' Importando TabelaB (900 registros)
    DoCmd.TransferDatabase acImport, "Microsoft Access", "C:\BancoDadosTG\BancoCS.mdb", acTable, "CIDADAO", "TabelaB"

    ' Inserindo Dados da TabelaB na TabelaA
    ' Dá erro pois o campo NR da TabelaB está com os registros em branco (nulos)
    ' Teria que antes deste comando, povoar o campo NR da TabelaB de 1 a 900

    DoCmd.RunSQL "INSERT INTO TabelaA(Nr, Nome, Pai, Mae, Nasc)SELECT TabelaB.NR, TabelaB.NOME, TabelaB.PAI, TabelaB.MAE, TabelaB.NASC FROM TabelaB;"

    DoCmd.SetWarnings True 'recoloca avisos do access

    End Sub

    Desde já agradeço!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Inserir dados na tabela de acordo com o numero de  registros existente via vba Empty Re: [Resolvido]Inserir dados na tabela de acordo com o numero de registros existente via vba

    Mensagem  Alexandre Neves 18/7/2012, 17:03

    Bem, não é o registo que está em branco mas o campo? pretende preencher o campo com numeração sequencial de 1 a ... (total de regsitos na tabelab)?
    Crie um procedimento e cole o código

    Dim I As Integer, Rst As DAO.Recordset
    Set Rst = CurrentDb.OpenRecordset("SELECT Nr FROM Tabela B;")
    Do While Not Rst.EOF
    Rst.Edit: Rst(0) = I: Rst.Update: Rst.MoveNext
    Loop
    Set Rst = Nothing

    Para numerar, execute o código
    filhopqd
    filhopqd
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 27
    Registrado : 26/12/2011

    [Resolvido]Inserir dados na tabela de acordo com o numero de  registros existente via vba Empty Re: [Resolvido]Inserir dados na tabela de acordo com o numero de registros existente via vba

    Mensagem  filhopqd 18/7/2012, 18:38

    Obrigado Alexandre, executei o código mais todos registros do Campo Nr ficaram Zerados.
    Como faço para numerar agora?
    Obrigado!
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Inserir dados na tabela de acordo com o numero de  registros existente via vba Empty Re: [Resolvido]Inserir dados na tabela de acordo com o numero de registros existente via vba

    Mensagem  Alexandre Neves 18/7/2012, 18:42

    Às vezes Homero dormita...
    Dim I As Integer, Rst As DAO.Recordset
    Set Rst = CurrentDb.OpenRecordset("SELECT Nr FROM Tabela B;")
    I=0
    Do While Not Rst.EOF
    I=I+1
    Rst.Edit: Rst(0) = I: Rst.Update: Rst.MoveNext
    Loop
    Set Rst = Nothing
    filhopqd
    filhopqd
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 27
    Registrado : 26/12/2011

    [Resolvido]Inserir dados na tabela de acordo com o numero de  registros existente via vba Empty Re: [Resolvido]Inserir dados na tabela de acordo com o numero de registros existente via vba

    Mensagem  filhopqd 18/7/2012, 19:03

    Muito Obrigado meu amigo Alexandre, deu certo ficou excelente!
    É sempre bom poder contar com profissionais do seu nível.
    O fórum está de parabéns!
    Abraços!

    Conteúdo patrocinado


    [Resolvido]Inserir dados na tabela de acordo com o numero de  registros existente via vba Empty Re: [Resolvido]Inserir dados na tabela de acordo com o numero de registros existente via vba

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 19/3/2024, 07:49