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

3 participantes

    [Resolvido]Permuta de Registros em um mesmo campo

    avatar
    Drecosalles
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 05/11/2013

    [Resolvido]Permuta de Registros em um mesmo campo Empty [Resolvido]Permuta de Registros em um mesmo campo

    Mensagem  Drecosalles 28/9/2014, 19:03

    Boa noite pessoal!

    Gostaria de saber se existe a possibilidade de fazermos a permuta de registros de um mesmo campo da tabela, tipo:

                                         Mesmo Campo da tabela

    Registro José ID 3                                                    
                                                         
    Registro Chico ID 4                                          

    permuta

    Registro Chico ID 3

    Registro José ID 4


    Quis fazer essa maracutaia ai em cima pra fica melhor de discutirmos.


    Desde já agradeço
    Marcos Minoru
    Marcos Minoru
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 88
    Registrado : 22/08/2014

    [Resolvido]Permuta de Registros em um mesmo campo Empty Re: [Resolvido]Permuta de Registros em um mesmo campo

    Mensagem  Marcos Minoru 29/9/2014, 12:27

    Andre,

    Qual a finalidade disto...?
    avatar
    Drecosalles
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 05/11/2013

    [Resolvido]Permuta de Registros em um mesmo campo Empty Re: [Resolvido]Permuta de Registros em um mesmo campo

    Mensagem  Drecosalles 29/9/2014, 15:43

    Bom, no sistema de cadastro que estou desenvolvendo, os usuários podem trocar seus "carros" entre si( as informações do carro se encontra em outra tabela relacionada), por isso  preciso saber se existe de forma pratica, como passar as informações de ambos usuários através de um sistema de permuta explicitado na minha primeira pergunta, onde:


    Tabela1                                                             Tabela2
    Campo== Nome                                                Campo == Marca/modelo                    

    Registro José ID 3  ==    Carro A                                              
                                                       
    Registro Chico ID 4  ==   Carro B                                      

    permuta

    Registro Chico ID 3 ==     Carro A

    Registro José ID 4  ==     Carro B




             Apenas os registro do campo Nome da tabela 1 é que irão ser modificados, e consequentemente herdarão as informações do proprietário anterior na tabela 2.
    Marcos Minoru
    Marcos Minoru
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 88
    Registrado : 22/08/2014

    [Resolvido]Permuta de Registros em um mesmo campo Empty Re: [Resolvido]Permuta de Registros em um mesmo campo

    Mensagem  Marcos Minoru 29/9/2014, 16:55

    Eita, juro que ainda não entendi nada...rs!

    Da forma que explicou ai, eles não estão trocando carros. Para trocar os carros seria:

    ID   NOME  CARRO            ID   NOME  CARRO
    03   José    Carro A             03   José    Carro B
    04   Chico  Carro B             04   Chico   Carro A

    Como explicou ai, estão trocando de dados contidos na tabela1, juntamente com o carro. Que registros estão na tabela1, seria documento do carro? E qual a necessidade de separar "Marca/Modelo" em outra tabela?
    Tente detalhar melhor qual a finalidade do que pretende fazer, se possível anexe o BD. Assim ficará muito mais fácil de conseguir ajuda...
    avatar
    Drecosalles
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 05/11/2013

    [Resolvido]Permuta de Registros em um mesmo campo Empty Re: [Resolvido]Permuta de Registros em um mesmo campo

    Mensagem  Drecosalles 29/9/2014, 18:41

    Blz, vê só

    quero que fique assim:

    Tabela 1               Tabela 2                              

    ID NOME              CARRO                                
    3   José                    A            
    4   Chico                  B                                      


    permuta

    Tabela 1               Tabela 2

    ID   NOME             CARRO

    3    Chico                   A
    4     José                   B

    Os carros são fixos os proprietários é que mudam.
    Marcos Minoru
    Marcos Minoru
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 88
    Registrado : 22/08/2014

    [Resolvido]Permuta de Registros em um mesmo campo Empty Re: [Resolvido]Permuta de Registros em um mesmo campo

    Mensagem  Marcos Minoru 29/9/2014, 18:57

    E é necessário ter essa tabela2 separada?

    Explique o motivo de vc querer que faça essa troca. Dependendo do que pretende fazer, pode estar até fazendo de maneira mais complicada...
    Volto a dizer, anexe seu BD assim fica mais fácil...
    Dilson
    Dilson
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    [Resolvido]Permuta de Registros em um mesmo campo Empty Re: [Resolvido]Permuta de Registros em um mesmo campo

    Mensagem  Dilson 30/9/2014, 00:32

    Boa noite meus amigos,


    Eu acho que entendi. A relação será 1 para 1 e a chave estrangeira (3 e 4) na tabela 1 serão únicas ao carro correspondente da tabela 2 e somente seus motoristas poderão ocupar, desocupar e permutar.


    O foco da solução está na tabela 1 no campo NOME que vou tratar de nomeX para preservar as boas práticas de programação, visto que a palavra nome é nomenclatura reservada do access e por nós não pode ser usada.


    Se deduzi no caminho certo, será possível usando as chaves estrangeiras como referência para o código.


    Na lógica posso começar na fala assim:


    Usando variáveis, pego logo o nomeX do lado de cá do form que inicio o código (varID1 varNome1) > Pego o ID que quero substituir (varID2)  > com esse ID faço uma busca e capturo o nomeX do lado de lá (varNome2) e aciono o gatilho:


    CurrentDb.Execute "UPDATE tabela1 SET nomeX = varNome2 WHERE ID=" & varID1
    CurrentDb.Execute "UPDATE tabela1 SET nomeX = varNome1 WHERE ID=" & varID2


    Mais ou menos assim.
    avatar
    Drecosalles
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 05/11/2013

    [Resolvido]Permuta de Registros em um mesmo campo Empty Re: [Resolvido]Permuta de Registros em um mesmo campo

    Mensagem  Drecosalles 30/9/2014, 21:26



    Caro Marcos Minoro obrigado desde já pela atenção e ajuda, mas não disponho do BD neste PC que estou usando, mas creio que o Dilson acertou em cheio no que eu estava procurando, perdoem se não fui claro o bastante tentando explicar essa invenção. Agora Dilson, seria pedir demais colocar o código completo? dai eu faria as adaptações.
    Marcos Minoru
    Marcos Minoru
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 88
    Registrado : 22/08/2014

    [Resolvido]Permuta de Registros em um mesmo campo Empty Re: [Resolvido]Permuta de Registros em um mesmo campo

    Mensagem  Marcos Minoru 30/9/2014, 21:51

    Que isso, nem consegui te ajudar...rs
    Mas fiquei curioso quanto ao que pretende fazer, continuarei acompanhando o tópico para ver a sua resolução.
    Espero que tenha sucesso!
    Dilson
    Dilson
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    [Resolvido]Permuta de Registros em um mesmo campo Empty Re: [Resolvido]Permuta de Registros em um mesmo campo

    Mensagem  Dilson 1/10/2014, 00:46

    Comecei escrever o código e me veio dúvidas da maneira que irá acionar "startar" o algoritmo.

    Me informe qual o cenário:

    - Escolhe por algum form um dos motoristas e já sabe o id do outro que irá permutar ? Ou já tem um form que informa o ID de ambos e um botão para ativar a operação ?

    Como é que chega no ponto de partida das permutas.

    Aguardamos


    Nota: Se não for usar a tabela 2 para relacionar a outros objetos e objetivos específicos, também passo a achar que é desnecessário a tabela 1, satisfazendo-se somente a tabela 2 contendo dados do carro e dos motoristas, uma vez, que o uso do espaço é único.


    avatar
    Drecosalles
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 05/11/2013

    [Resolvido]Permuta de Registros em um mesmo campo Empty Re: [Resolvido]Permuta de Registros em um mesmo campo

    Mensagem  Drecosalles 2/10/2014, 17:16


    Então eis o problema Dilson, no formulário eu tenho dois combobox, configurados com a mesma consulta, no nosso caso da tabela 1, que alimentam textbox nao vinculadas, neste formato


    Combobox 1

    Alimenta

    textbox 1 com o Nome 1

    Combobox 2

    Alimenta

    textbox 2 com o Nome 2


    Então o problema é capturar os textos das textboxs não vinculadas e atualiza-los na tabela 1 com a ID específica. Isso é possível?
    Dilson
    Dilson
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    [Resolvido]Permuta de Registros em um mesmo campo Empty Re: [Resolvido]Permuta de Registros em um mesmo campo

    Mensagem  Dilson 2/10/2014, 18:00

    Me confirme:

    ComboBox1 e ComboBox2 representam o dado de cada motorista.

    Em ambos os combobox está o ID e nos textbox está os nomes.

    Aguardamos.

    Se for tente:

    If SuaComboBox1 = SuaComboBox2 Then
    MsgBox "Operação não pode ser realizada, pois o ID de origem e destino é o mesmo"
    Else
    CurrentDb.Execute "UPDATE SuaTabela SET SeuCampoNome ='" & suatextBox2 & "'" _
    & " WHERE SuaID=" & SuaComboBox1
    CurrentDb.Execute "UPDATE SuaTabela SET SeuCampoNome = '" & SuaTextBox1 & "'" _
    & " WHERE SuaID=" & SuaComboBox2
    End If
    avatar
    Drecosalles
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 05/11/2013

    [Resolvido]Permuta de Registros em um mesmo campo Empty Re: [Resolvido]Permuta de Registros em um mesmo campo

    Mensagem  Drecosalles 26/11/2014, 11:51



    Pessoal desculpem a grande demora em responder o tópico, pois uma tendinite leve acometeu-me, dai minha mão esquerda ficou inútil, mas pra alegria da galera o último comentário do Dilson salvou o post, ou seja, funcionou Dilson esta última dica com o Update set. Desde já quero agradacê-los pelo tempo desprendido. Valeu!
    Dilson
    Dilson
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    [Resolvido]Permuta de Registros em um mesmo campo Empty Re: [Resolvido]Permuta de Registros em um mesmo campo

    Mensagem  Dilson 18/12/2014, 19:26

    Drecosalles escreveu:Este foi o código que vc trouxe como solução:

    If SuaComboBox1 = SuaComboBox2 Then
    MsgBox "Operação não pode ser realizada, pois o ID de origem e destino é o mesmo"
    Else
    CurrentDb.Execute "UPDATE SuaTabela SET SeuCampoNome ='" & suatextBox2 & "'" _
    & " WHERE SuaID=" & SuaComboBox1
    CurrentDb.Execute "UPDATE SuaTabela SET SeuCampoNome = '" & SuaTextBox1 & "'" _
    & " WHERE SuaID=" & SuaComboBox2
    End If

    Este é o código que gostaria de simplifica:

    If SuaComboBox1 = SuaComboBox2 Then
    MsgBox "Operação não pode ser realizada, pois o ID de origem e destino é o mesmo"
    Else

    CurrentDb.Execute "UPDATE Cadtaxistas SET Nome ='" & Me.Nome1 & "'" _
    & " WHERE idtaxista=" & Me.cbo2
    CurrentDb.Execute "UPDATE Cadtaxistas SET idCPF ='" & Me.CPF1 & "'" _
    & " WHERE idtaxista=" & Me.cbo2
    CurrentDb.Execute "UPDATE Cadtaxistas SET Endereço ='" & Me.Endereco1 & "'" _
    & " WHERE idtaxista=" & Me.cbo2
    CurrentDb.Execute "UPDATE Cadtaxistas SET Bairro ='" & Me.Bairro1 & "'" _
    & " WHERE idtaxista=" & Me.cbo2
    CurrentDb.Execute "UPDATE Cadtaxistas SET Numero ='" & Me.Numero1 & "'" _
    & " WHERE idtaxista=" & Me.cbo2

    CurrentDb.Execute "UPDATE Cadtaxistas SET Nome ='" & Me.Nome2 & "'" _
    & " WHERE idtaxista=" & Me.cbo1
    CurrentDb.Execute "UPDATE Cadtaxistas SET idCPF ='" & Me.CPF2 & "'" _
    & " WHERE idtaxista=" & Me.cbo1
    CurrentDb.Execute "UPDATE Cadtaxistas SET Endereço ='" & Me.Endereco2 & "'" _
    & " WHERE idtaxista=" & Me.cbo1
    CurrentDb.Execute "UPDATE Cadtaxistas SET Bairro ='" & Me.Bairro2 & "'" _
    & " WHERE idtaxista=" & Me.cbo1
    CurrentDb.Execute "UPDATE Cadtaxistas SET Numero ='" & Me.Numero2 & "'" _
    & " WHERE idtaxista=" & Me.cbo1

    A forma para simplificar será usar virgula, assim:

    CurrentDb.Execute "UPDATE Cadtaxistas SET Nome ='" & Me.Nome1 & "'" _
    & " , idCPF ='" & Me.CPF1 & "'" _
    & " , Endereço ='" & Me.Endereco1 & "'" _
    & " , Bairro ='" & Me.Bairro1 & "'" _
    & " , Numero ='" & Me.Numero1 & "'" _
    & " WHERE idtaxista=" & Me.cbo2

    CurrentDb.Execute "UPDATE Cadtaxistas SET Nome ='" & Me.Nome2 & "'" _
    & " , idCPF ='" & Me.CPF2 & "'" _
    & " , Endereço ='" & Me.Endereco2 & "'" _
    & " , Bairro ='" & Me.Bairro2 & "'" _
    & " , Numero ='" & Me.Numero2 & "'" _
    & " WHERE idtaxista=" & Me.cbo1

    Talvez tenha que acertar a regra de aspas.
    Tente.

      Data/hora atual: 1/12/2022, 20:48