MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    Copiar campo desacoplado para tabela

    Compartilhe
    avatar
    Julimar Alves
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 23
    Registrado : 24/03/2017

    Copiar campo desacoplado para tabela

    Mensagem  Julimar Alves em Qui 03 Ago 2017, 06:04

    Alguém me ajude por favor. Estou tentando copiar dados de um form para campos desacoplados em outro form, mas recebo sempre a resposta sobre a ausência de campos relacionados no formulário. O que é difícil entender, é que utilizo a mesma função em outro form relacionado e o problema não ocorre.
    Estou postando o banco. O erro ocorre no momento de salvar o formulário "veículos", anexado ao formulário "clientes".
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3419
    Registrado : 14/08/2013

    Re: Copiar campo desacoplado para tabela

    Mensagem  FabioPaes em Qui 03 Ago 2017, 14:35

    O Anexo vei com muitos erros e ficou impossivel testar!

    Antes de anexar, teste o arquivo e veja se o erro ocorre e se esta USÁVEL!

    Formulário anexados a formulários principais, vc deve informar o caminho completo... Passando pelo Formulario Principal...

    Forms![NomeFormPrinciapal]![NomeSubFormulario]![NomeCampo]

    Outra coisa, descreve detalhadamente como simular o erro, pois no seu post fiquei em duvida de como simular!


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    Julimar Alves
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 23
    Registrado : 24/03/2017

    Copiar campo desacoplado para tabela

    Mensagem  Julimar Alves em Sex 04 Ago 2017, 01:55

    A primeira tela é frm_clientes e a sua chave primária é o CNPJeCPF
    Quando eu clico no ícone com o carrinho, ela abre a segunda tela, que é o frm_veiculos, onde cadastro os automóveis. Neste formulário, a chave primária é a placa do veículo.
    O problema é que quando eu clico no ícone "salvar", ele retorna a mensagem de erro, de que é preciso ter um registro relacionado. Nesse caso, eu estou tentando copiar três campos desacoplados presentes na form_veiculos (com origem na tabela clientes), para a tbl_veículos.
    Mas para abrir o terceiro formulário (frm_cadastroait), onde cadastro as infrações (chave primária codaccessait) o problema não ocorre.
    Estou enviando o banco de dados sem usar o Zipmail, pois talvez o anterior tenha perdido algo duranteo envio, já que o abri normalmente aqui.
    Para salvar o cadastro do veículo e o cadastro de infrações, eu utilizo o seguinte código:

    Private Sub salvarclientes_Click()
    Dim bc As Database
    Dim tbl_veiculos As Recordset
    Set bc = CurrentDb()
    Set tbl_veiculos = bc.OpenRecordset("tbl_veiculos")
    Me!nome = Me.doc2
    Me!codaccesscliente = Me.doc1
    Me!CPFeCNPJ = Me.doc
    Set bc = Nothing
    Set tbl_veiculos = Nothing
    If MsgBox(" Deseja salvar o cadastro deste veículo?", vbOKCancel + vbDefaultButton1 + vbInformation, "Aviso") = vbOK Then
    DoCmd.Save
    DoCmd.RunCommand acCmdRefresh
    MsgBox " Cadastro salvo com sucesso !", vbOKOnly, "Aviso"
    Else
    MsgBox " Veículo não cadastrado ", vbInformation, "Aviso"  
    End If
    End Sub
    avatar
    Julimar Alves
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 23
    Registrado : 24/03/2017

    Copiar campo desacoplado para tabela

    Mensagem  Julimar Alves em Sex 04 Ago 2017, 01:59

    Segue novamente o arquivo em WinZip. Não consegui enviá-lo no modo normal.
    Anexos
    SISTEMA TRANSIT.zip
    Copiar campo desacoplado para tabela
    Você não tem permissão para fazer download dos arquivos anexados.
    (553 Kb) Baixado 10 vez(es)
    avatar
    Julimar Alves
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 23
    Registrado : 24/03/2017

    Copiar campo desacoplado para tabela

    Mensagem  Julimar Alves em Sex 04 Ago 2017, 02:08

    Print das  telas
    Anexos
    maximus.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (445 Kb) Baixado 4 vez(es)
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3419
    Registrado : 14/08/2013

    Re: Copiar campo desacoplado para tabela

    Mensagem  FabioPaes em Sex 04 Ago 2017, 15:24

    Olha, o erro descrito e devido a falta do Codigo do Cliente...



    Porem... Nesse seu arquivo que me mandou, nao encontrei qualquer erro!
    Testei incluindo novo Cliente e com clientes ja cadastrados, depois cliquei no carrinho... Cadastrei novo veiculo, salvei....
    Nao deu erro algum e os dados foram gravados!

    Teste novamente nesse arquivo que me mandou!

    Meu access é 2013 32bits


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    Julimar Alves
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 23
    Registrado : 24/03/2017

    Copiar campo desacoplado para tabela

    Mensagem  Julimar Alves em Sex 04 Ago 2017, 16:21

    Fiz o teste com o mesmo arquivo e problema persiste.
    E agora entendo menos, já que a mesma função não apresentou o problema com você.
    E repito que entendo menos ainda, porque a mesma função está perfeita para entrar na outra tabela.
    Para esclarecer como estou fazendo, todas as vezes que cadastro um novo veículo, preciso abrir a tabela veículos e inserir manualmente o nome, CNPJeCPF e código do cliente, o que se tornará inviável quando outras pessoas tiverem que utilizar o serviço.
    Eu utilizo o Access 2003.
    Inclusive, tenho outro programa onde utilizo essa mesma função várias vezes sem problemas.
    Temo que minha próxima opção, será descontruir e reconstruir o programa a partir do zero.
    De qualquer forma, agradeço por sua ajuda e se identificar algum erro que estou cometendo, ou se houver outra opção para essa colagem de campos, ficarei muito grato.
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3419
    Registrado : 14/08/2013

    Re: Copiar campo desacoplado para tabela

    Mensagem  FabioPaes em Sex 04 Ago 2017, 16:36

    Caso alguém tenha o Access 2003 e puder testar... Pq aqui não tenho e não obtive nenhum erro!


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3419
    Registrado : 14/08/2013

    Re: Copiar campo desacoplado para tabela

    Mensagem  FabioPaes em Sex 04 Ago 2017, 16:48

    Agora analisando mais o seu codigo, eu nao entendi uma coisa:

    Vc abre um Recordset na tabela tbl_veiculos e não realiza nenhuma manipulação com os dados...
    Veja que se remover o código em vermelho, ainda irá funcionar, pois utiliza formulário/campos vinculados!

    Private Sub salvarclientes_Click()
    Dim bc As Database
    Dim tbl_veiculos As Recordset
    Set bc = CurrentDb()
    Set tbl_veiculos = bc.OpenRecordset("tbl_veiculos")

    Me!nome = Me.doc2
    Me!codaccesscliente = Me.doc1
    Me!CPFeCNPJ = Me.doc
    Set bc = Nothing
    Set tbl_veiculos = Nothing

    If MsgBox(" Deseja salvar o cadastro deste veículo?", vbOKCancel + vbDefaultButton1 + vbInformation, "Aviso") = vbOK Then
    DoCmd.Save
    DoCmd.RunCommand acCmdRefresh
    MsgBox " Cadastro salvo com sucesso !", vbOKOnly, "Aviso"
    Else
    MsgBox " Veículo não cadastrado ", vbInformation, "Aviso"
    End If
    End Sub


    A menos que tenha outro objetivo que eu não percebi... Esse Código é desnecessário!


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    Julimar Alves
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 23
    Registrado : 24/03/2017

    Copiar campo desacoplado para tabela

    Mensagem  Julimar Alves em Sex 04 Ago 2017, 23:20

    Eu irei tentar essa nova forma que você me está me orientando. Quanto ao objetivo, é o que creio que você interpretou. Necessito que esses três campos oriundos da tabela clientes, sejam colados na tabela veículos, a partir de sua exibição no formulário veículos.
    Vou testar e lhe dou uma posição.
    Obrigado por enquanto.
    avatar
    Julimar Alves
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 23
    Registrado : 24/03/2017

    Copiar campo desacoplado para tabela

    Mensagem  Julimar Alves em Sex 04 Ago 2017, 23:40

    O erro persiste.
    Mudei na tabela clientes a chave primária de CNPJeCPF para código do cliente, assim como o relacionamento correspondente. Deletei os campos nome e CNPJeCPF da tabela veículos para que copiasse apenas o código do cliente. Mudei também todos os relacionamentos nas consultas para evitar conflitos.
    Mesmo assim, ele continua dando o mesmo erro.

    Os dados na tabela veículos são utilizados para gerar um documento em Word e um e-mail. Mas posso mudar a origem desses dados para a tabela clientes. Portanto, não me importo se tiver os dados apenas para exibição no formulário veículos, desde que claro, eu consiga copiar pelo menos o campos "codaccesscliente" para a tabela veículos.
    Anexos
    telas.zip
    tabela e formulário com erros
    Você não tem permissão para fazer download dos arquivos anexados.
    (414 Kb) Baixado 4 vez(es)
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3419
    Registrado : 14/08/2013

    Re: Copiar campo desacoplado para tabela

    Mensagem  FabioPaes em Sab 05 Ago 2017, 21:13

    Olha, claramente o problema esta no Office 2003. Pois aqui no meu 2013 funcionou normalmente!

    infelizmente, somente alguém com Office 2003 ou com experiente com essa versao poderá lhe ajudar, pois não utilizei nada no 2003.


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    Julimar Alves
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 23
    Registrado : 24/03/2017

    Copiar campo desacoplado para tabela

    Mensagem  Julimar Alves em Dom 06 Ago 2017, 02:00

    Ok! Fábio.
    Sei que fez tudo ao seu alcance para me ajudar.
    Irei esperar por alguém que seja especialista em 2003 para tentar ajustar esse quebra-cabeças.

    Desejo um bom domingo pra você.

    Julimar
    avatar
    Julimar Alves
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 23
    Registrado : 24/03/2017

    Copiar campo desacoplado para tabela

    Mensagem  Julimar Alves em Qui 17 Ago 2017, 16:05

    No evento antes de atualizar do frm_veiculos, está copiando apenas um dos campos. Se eu acrescentar outro campo, a mensagem sobre ausência de campo relacionado volta a surgir.

    Private Sub Form_BeforeUpdate(Cancel As Integer)
    Dim bc As Database
    Dim tbl_veiculos As Recordset
    Set bc = CurrentDb()
    Set tbl_veiculos = bc.OpenRecordset("tbl_veiculos")
    Me!codaccesscliente = Me.doc1
    Set bc = Nothing
    Set tbl_veiculos = Nothing
    End Sub

      Data/hora atual: Qua 22 Nov 2017, 10:45