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]Editar Registo

    avatar
    Anderson Catarino
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 80
    Registrado : 28/08/2017

    [Resolvido]Editar Registo Empty [Resolvido]Editar Registo

    Mensagem  Anderson Catarino 14/12/2017, 12:35

    Bom dia.
    Eu tenho um formulário desvinculado com 8 colunas, sendo que essas colunas são preenchidas dia a dia.
    Eu tenho uma listbox que faço duplo click sobre o registo que quero acrescentar informação e depois faço gravar essa alteração.
    O que eu faço é eliminar o ficheiro por uma ordem de produção (é como se fosse a minha chave primaria) e depois adiciono os campos outra vez.

    Tipo isso:

    CurrentDb.Execute "DELETE * from Tabela1 WHERE op= '" & Me.op & "'"
    Dim db As DAO.Database
    Dim tb As DAO.Recordset
    Set db = CurrentDb
    Set tb = db.OpenRecordset("Tabela1")
    tb.AddNew
    tb!maquina = Me.maquina
    tb!denier = Me.denier
    tb!op = Me.op
    tb!data = Me.data
    tb!produto = Me.produto
    tb!cor = Me.cor
    tb!pontas = Me.pontas
    ....
    ....
    tb.Update
    tb.Close
    Set db = Nothing

    Funciona tudo certo excepto quando quero, digamos, alterar a ordem de produção, se eu alterar a ordem de produção ai ele já acrescenta outro registo. pois não vai fazer o Delete.

    thiagomcosta
    thiagomcosta
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 377
    Registrado : 23/01/2017

    [Resolvido]Editar Registo Empty Re: [Resolvido]Editar Registo

    Mensagem  thiagomcosta 14/12/2017, 18:49

    Ao invés de deletar e incluir novamente, tente fazer a modificação do registro, através do comando UPDATE:

    Código:
    'Considerando que todos os campos são formato texto para exemplo
    strSQL = ""UPDATE Tabela1 SET "
    strSQL = strSQL & "maquina = '" & Me.maquina & "', "
    strSQL = strSQL & "denier ='" & Me.denier & "', "
    strSQL = strSQL & "tb!op ='" & Me.op & "', "
    strSQL = strSQL & "tb!data ='" & Me.data & "', "
    strSQL = strSQL & "tb!produto ='" & Me.produto & "', "
    strSQL = strSQL & "tb!cor ='" & Me.cor & "', "
    strSQL = strSQL & "tb!pontas ='" & Me.pontas & "' "
    strSQL = strSQL & "WHERE op= '" & Me.op & "';"
    docmd.runSQL strSQL

    PS: Faltaram as vírgulas
    avatar
    Anderson Catarino
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 80
    Registrado : 28/08/2017

    [Resolvido]Editar Registo Empty Re: [Resolvido]Editar Registo

    Mensagem  Anderson Catarino 15/12/2017, 10:49

    Boas thiagomcosta.
    Olha não consegui implementar a tua sugestão.
    O que estou a desenvolver foi criado um pouco em cima dos joelhos mais como teste.
    Eu tenho uma tabela com 137 campos, sendo que só um não esta como texto.
    Não percebi o que querias dizer com "PS: faltam as vírgulas".
    Vou te deixar a minha bd para dares uma vista de olhos se possível.

    No formulário1 faço duplo click num registo da listbox, depois faço adicionar e os campos passam a estar enabled = True, acrescento informação e depois gravar. depois ai começam a aparecer os erros.

    O Código está assim:

    ***************************************************************************************************
       Dim StrSQL As String
       Dim Cancel As Boolean
       
       If MsgBox("Deseja gravar alteração?", vbYesNo + vbInformation, "Novo") = vbYes Then

       
       StrSQL = "UPDATE Tabela1 SET "
       
       StrSQL = StrSQL & "maquina = '" & Me.maquina & "', "
       StrSQL = StrSQL & "denier ='" & Me.denier & "', "
       StrSQL = StrSQL & "tb!op ='" & Me.op & "', "
       StrSQL = StrSQL & "tb!data ='" & Me.data & "', "
       StrSQL = StrSQL & "tb!produto ='" & Me.produto & "', "
       StrSQL = StrSQL & "tb!cor ='" & Me.cor & "', "
       StrSQL = StrSQL & "tb!pontas ='" & Me.pontas & "' "
       StrSQL = StrSQL & "tb!tenacidade ='" & Me.tenacidade & "' "

       'DATA 1

       StrSQL = StrSQL & "tb!data1 ='" & Me.data1 & "' "
       StrSQL = StrSQL & "tb!amostra11 ='" & Me.amostra11 & "' "
       StrSQL = StrSQL & "tb!amostra21 ='" & Me.amostra21 & "' "
       StrSQL = StrSQL & "tb!amostra31 ='" & Me.amostra31 & "' "
       StrSQL = StrSQL & "tb!amostra41 ='" & Me.amostra41 & "' "
       StrSQL = StrSQL & "tb!amostra51 ='" & Me.amostra51 & "' "
       StrSQL = StrSQL & "tb!amostra61 ='" & Me.amostra61 & "' "
       StrSQL = StrSQL & "tb!f1 ='" & Me.f1 & "' "
       StrSQL = StrSQL & "tb!media1 ='" & Me.media1 & "' "
       StrSQL = StrSQL & "tb!xden1 ='" & Me.xden1 & "' " & _
       StrSQL = StrSQL & "tb!amplitude1 ='" & Me.amplitude1 & "' "
       StrSQL = StrSQL & "tb!rden1 ='" & Me.rden1 & "' "
       StrSQL = StrSQL & "tb!fr1 ='" & Me.fr1 & "' "
       StrSQL = StrSQL & "tb!along1 ='" & Me.along1 & "' "
       StrSQL = StrSQL & "tb!tenacidade1 ='" & Me.tenacidade1 & "' "
       StrSQL = StrSQL & "tb!rubrica1 ='" & Me.rubrica1 & "' "

       ' Depois vem DATA2 e todos os outros campos até DATA8

       StrSQL = StrSQL & "tb!obs ='" & Me.obs & "' "
       StrSQL = StrSQL & "WHERE op= '" & Me.op & "';"
       
       DoCmd.RunSQL StrSQL
         

       Else
       Cancel = True
       End If

      ***************************************************************************************************
    Anexos
    [Resolvido]Editar Registo AttachmentMedia2 - Cópia.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (355 Kb) Baixado 7 vez(es)
    thiagomcosta
    thiagomcosta
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 377
    Registrado : 23/01/2017

    [Resolvido]Editar Registo Empty Re: [Resolvido]Editar Registo

    Mensagem  thiagomcosta 15/12/2017, 10:55

    Hoje não vou conseguir dar uma olhada.

    A principio, o que eu reparei no código é que não precisa colocar o tb!, pois a tabela já está sendo passada no inicio do comando SQL. Tente tirar os tb!

    Qualquer coisa este final de semana eu dou uma olhada no seu bd.
    avatar
    Anderson Catarino
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 80
    Registrado : 28/08/2017

    [Resolvido]Editar Registo Empty Re: [Resolvido]Editar Registo

    Mensagem  Anderson Catarino 15/12/2017, 11:07

    Tirei mas não resultou.
    O erro que dá é em DoCmd.RunSQL StrSQL

    ******************************************************************
    Run-time error '3129':

    Instrução SQL invalida; Delete, Insert, Procedure, Select ou Update esperado.

    ******************************************************************

    Quando tiveres tempo vês me isso.
    Vou procurando soluções
    Obrigado
    avatar
    Anderson Catarino
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 80
    Registrado : 28/08/2017

    [Resolvido]Editar Registo Empty Re: [Resolvido]Editar Registo

    Mensagem  Anderson Catarino 18/12/2017, 10:57

    up
    avatar
    Anderson Catarino
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 80
    Registrado : 28/08/2017

    [Resolvido]Editar Registo Empty Re: [Resolvido]Editar Registo

    Mensagem  Anderson Catarino 18/12/2017, 12:27

    Resolvido
    thiagomcosta
    thiagomcosta
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 377
    Registrado : 23/01/2017

    [Resolvido]Editar Registo Empty Re: [Resolvido]Editar Registo

    Mensagem  thiagomcosta 19/12/2017, 10:51

    Que bom!

    Acabei de entrar aqui para ver o seu arquivo.
    Desculpe, mas não consegui parar nestes últimos dias. Preparativos para entrar de férias no final do ano e correria para deixar tudo em dia.

    Conteúdo patrocinado


    [Resolvido]Editar Registo Empty Re: [Resolvido]Editar Registo

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 19/4/2024, 13:54