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


    [Resolvido]Código para acrescentar dados a uma tabela

    avatar
    pjjpm
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 64
    Registrado : 17/09/2014

    [Resolvido]Código para acrescentar dados a uma tabela Empty [Resolvido]Código para acrescentar dados a uma tabela

    Mensagem  pjjpm em 3/10/2018, 13:54

    Olá Pessoal,

    Necessito da Vossa ajuda com o seguinte:

    Tenho um formulário xxxx aberto (com origem na tabela detalhefichprep)

    Pretendo com o seguinte código acrescentar nessa tabela  codfichprep =0 ; CodMp = codmp de um campo do formulário, quantidade = caiza de texto37 do formulário

    Código:
    Private Sub TransfereAcerto_Click()

    Dim Rst As DAO.Recordset
       If MsgBox("Confirma a transferência do Acerto?" & vbCr & NomeManip, vbYesNo + vbDefaultButton2) = vbYes Then
           'acrescenta na tabela DetalheFichprep
                           
    DoCmd.RunSQL "INSERT INTO DetalheFichPrep (CodFichPrep,CodMp,Quantidade,Estado) SELECT '0'CodMP,Texto37,Estado FROM xxx"

         
       End If
       Set Rst = Nothing
       
       Dim stDocName As String
       Dim stLinkCriteria As String
           
    MsgBox "Concluido", vbInformation, "Aviso"

    DoCmd.Close
       stDocName = "Acertos"
       
       DoCmd.OpenForm stDocName, , , stLinkCriteria
       
       DoCmd.GoToRecord , , acLast
       
    End Sub



    obrigado


    Última edição por Alexandre Neves em 4/10/2018, 19:49, editado 1 vez(es) (Razão : Título alterado: de 'Código para acrecsentar dados a uma tabela' para 'Código para acrescentar dados a uma tabela')
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2904
    Registrado : 21/04/2011

    [Resolvido]Código para acrescentar dados a uma tabela Empty Re: [Resolvido]Código para acrescentar dados a uma tabela

    Mensagem  Marcelo David em 3/10/2018, 14:05

    Seu código está meio confuso, há variáveis declaradas que não são usadas...

    Poderia disponibilizar o sistema com as partes envolvidas para averiguarmos?


    .................................................................................
    Marcelo David
    www.mrdsystem.com.br (em construção)
    avatar
    pjjpm
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 64
    Registrado : 17/09/2014

    [Resolvido]Código para acrescentar dados a uma tabela Empty Re: [Resolvido]Código para acrescentar dados a uma tabela

    Mensagem  pjjpm em 4/10/2018, 01:03

    Olá boa noite,

    Tem razão. Vou tentar ser mais explícito

    Tenho um formulário xxxx aberto (com origem na tabela detalhefichprep) e contém um sub formulário com origem numa consulta

    Pretendo com o seguinte código acrescentar na tabela  detalhefichprep os seguintes campos:

    Codfichprep =0 (valor fixo)
    CodMp = codmp de um campo com o mesmo nome do formulário aberto
    Quantidade = caiza de texto37 do formulário aberto
    Estado = data actual

    Tentei então o seguinte ao clicar no botão:


    Código:
    Private Sub TransfereAcerto_Click()

    Dim Rst As DAO.Recordset
    `surge uma mensagem de confirmação
       If MsgBox("Confirma a transferência do Acerto?" & vbCr & NomeManip, vbYesNo + vbDefaultButton2) = vbYes Then
           'acrescenta na tabela DetalheFichprep
                           
    DoCmd.RunSQL "INSERT INTO DetalheFichPrep (CodFichPrep,CodMp,Quantidade,Estado) SELECT '0',CodMP,Texto37,date FROM xxxx"

         
       End If
       Set Rst = Nothing
       
       Dim stDocName As String
       Dim stLinkCriteria As String
           `mensagem a confirmar que o procedimento foi concluído

    MsgBox "Concluido", vbInformation, "Aviso"
    `fecha o formulário xxxx e abre o formulário acertos com o último registo

    DoCmd.Close
       stDocName = "Acertos"
       
       DoCmd.OpenForm stDocName, , , stLinkCriteria
       
       DoCmd.GoToRecord , , acLast
       
    End Sub
    Amanhã disponibilizo aqui esta farte da bd

    obrigado
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2904
    Registrado : 21/04/2011

    [Resolvido]Código para acrescentar dados a uma tabela Empty Re: [Resolvido]Código para acrescentar dados a uma tabela

    Mensagem  Marcelo David em 4/10/2018, 02:06

    Substitua seu código por esse e veja se funciona:

    Spoiler:

    Private Sub TransfereAcerto_Click()
    Dim stDocName As String
    Dim stLinkCriteria As String

    'surge uma mensagem de confirmação
       If MsgBox("Confirma a transferência do Acerto?" & vbCr & NomeManip, vbYesNo + vbDefaultButton2) = vbYes Then
        'acrescenta na tabela DetalheFichprep
           CurrentDb.Execute "INSERT INTO DetalheFichPrep (CodFichPrep,CodMp,Quantidade,Estado) Values('0','"& CodMP &"','"& Texto37 &"')", dbFailOnError    
       End If
       
       'mensagem a confirmar que o procedimento foi concluído
    MsgBox "Concluido", vbInformation, "Aviso"
    'fecha o formulário xxxx e abre o formulário acertos com o último registo
    DoCmd.Close

    stDocName = "Acertos"
       
    DoCmd.OpenForm stDocName, , , stLinkCriteria
       
    DoCmd.GoToRecord , , acLast
       
    End Sub


    .................................................................................
    Marcelo David
    www.mrdsystem.com.br (em construção)
    avatar
    pjjpm
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 64
    Registrado : 17/09/2014

    [Resolvido]Código para acrescentar dados a uma tabela Empty Re: [Resolvido]Código para acrescentar dados a uma tabela

    Mensagem  pjjpm em 4/10/2018, 10:18

    Obrigado!

    Vou testar

    Smile
    avatar
    pjjpm
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 64
    Registrado : 17/09/2014

    [Resolvido]Código para acrescentar dados a uma tabela Empty Re: [Resolvido]Código para acrescentar dados a uma tabela

    Mensagem  pjjpm em 4/10/2018, 10:27

    Ainda não foi desta

    Dá erro nº de campos não coincide

    Acho que falta inserir no campo estado a data atual

    avatar
    pjjpm
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 64
    Registrado : 17/09/2014

    [Resolvido]Código para acrescentar dados a uma tabela Empty Re: [Resolvido]Código para acrescentar dados a uma tabela

    Mensagem  pjjpm em 4/10/2018, 10:52

    Vou testar o seguinte:

    Código:
    Private Sub TransfereAcerto_Click()
    Dim Rst As DAO.Recordset

     If MsgBox("Confirma a transferência do Acerto?" & vbCr & NomeManip, vbYesNo + vbDefaultButton2) = vbYes Then
           'acrescenta na tabela DetalheFichprep
         
             CurrentDb.Execute "INSERT INTO DetalheFichPrep (CodFichPrep,CodMp,Quantidade,Estado) Values('0','" & CodMp & "','" & Texto37 & "',#" & Date & "#)", dbFailOnError
     End If

       Set Rst = Nothing
       
       Dim stDocName As String
       Dim stLinkCriteria As String
       
    MsgBox "Concluido", vbInformation, "Aviso"

    DoCmd.Close
       stDocName = "Acertos"
       
       DoCmd.OpenForm stDocName, , , stLinkCriteria
       
       DoCmd.GoToRecord , , acLast

    End Sub
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6400
    Registrado : 15/03/2013

    [Resolvido]Código para acrescentar dados a uma tabela Empty Re: [Resolvido]Código para acrescentar dados a uma tabela

    Mensagem  ahteixeira em 4/10/2018, 12:03

    Olá a todos,

    Pedro, o Access tem destas coisa.
    Outra é que em SQL nas datas o Access é "Patriota" (idioma neutro), sendo muitas vezes necessário formatar a data à "Americana", ou seja:

    Format(CampoData,"mm/dd/yyyy")

    No caso do último código, fica assim:
    Código:
    CurrentDb.Execute "INSERT INTO DetalheFichPrep (CodFichPrep,CodMp,Quantidade,Estado) Values('0','" & CodMp & "','" & Texto37 & "',#" & Format(Date, "mm/dd/yyyy") & "#)", dbFailOnError

    Outra coisa, deve evitar o utilização de palavras reservadas (Date), confira no tópico abaixo:
    https://www.maximoaccess.com/t198-palavras-reservadas-do-access

    Abraço
    avatar
    pjjpm
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 64
    Registrado : 17/09/2014

    [Resolvido]Código para acrescentar dados a uma tabela Empty Re: [Resolvido]Código para acrescentar dados a uma tabela

    Mensagem  pjjpm em 5/10/2018, 00:13

    Obrigado pelas dicas Smile

    Acho que agora vai ficar a funcionar direitinho.

    Quero testar em pcs com outras versões do Access e também com o Runtime

    Vou ter muito mais cuidado com os nomes dos campos das tabelas


    Bom fim de semana

    avatar
    pjjpm
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 64
    Registrado : 17/09/2014

    [Resolvido]Código para acrescentar dados a uma tabela Empty Re: [Resolvido]Código para acrescentar dados a uma tabela

    Mensagem  pjjpm em 22/10/2018, 13:06

    Já testei em várias máquinas e, está tudo a funcionar direitinho.

    Mais uma vez, Obrigado pela aujda.

    Abraços

    Smile
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6400
    Registrado : 15/03/2013

    [Resolvido]Código para acrescentar dados a uma tabela Empty Re: [Resolvido]Código para acrescentar dados a uma tabela

    Mensagem  ahteixeira em 22/10/2018, 15:01

    Olá a todos,

    Pedro, obrigado pelo feedback, o fórum agradece.

    cheers

    Conteúdo patrocinado

    [Resolvido]Código para acrescentar dados a uma tabela Empty Re: [Resolvido]Código para acrescentar dados a uma tabela

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 13/12/2019, 04:53