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

    [Resolvido]CAmpo não é inserido dentro da tabela.

    Silvio
    Silvio
    Developer
    Developer

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4747
    Registrado : 20/04/2011

    [Resolvido]CAmpo não é inserido dentro da tabela. Empty [Resolvido]CAmpo não é inserido dentro da tabela.

    Mensagem  Silvio 1/6/2021, 13:41

    Prezados, bom dia / boa tarde / boa noite.

    Estou enfrentando uma certa dificuldade para inserir dois campos em uma subtabela.
    Um é um campo texto e o outro valor moeda.

    Tentei 3 tipos de inserção, mas apenas a chave primária é que está indo.

    Abaixo as 3 rotinas.

    '---------------------------------------------------------------------------------------------------------------------------
    'aqui faço a inserção do descritivo na tblSubBanho

    '---------------------------------------------------------------------------------------------------------------------------
    'primeira rotina
    CurrentDb.Execute "INSERT INTO TblSubBanho ( Idbanho, DescricaoServico, ValorServico ) values idbanho, '& Pgto Vale BT em C.Débito &', ValorPago FROM Tblbanho WHERE Idbanho=" & Me!Idbanho & ";", dbFailOnError

    '---------------------------------------------------------------------------------------------------------------------------
    'segunda rotina
    '      Dim db5 As Database, rs5 As Recordset
    '      Set db5 = CurrentDb()
    '      Set rs5 = db5.OpenRecordset("tblSubBanho")
    '      With rs5
    '      .AddNew
    '      ![Idbanho] = Me.Idbanho
    '      ![DescricaoServico] = "Pgto Vale BT em C.Débito" .......preciso inserir
    '      ![ValorServico] = Me.ValorPago .......preciso inserir
    '      rs5.Update
    '      End With

     
    '---------------------------------------------------------------------------------------------------------------------------
    'terceira rotina
    'aqui faço a inserção do descritivo na tblSubBanho
    '      Dim db6 As Database, rs6 As Recordset
    '      Set db6 = CurrentDb()
    '      Set rs6 = db5.OpenRecordset("tblSubBanho", dbOpenDynaset)
    '      rs6.FindFirst "idbanho = " & Me!Idbanho
    '      rs6.Edit
    '      rs6("descricaoservico") = "Pgto Vale BT em C.Débito" .......preciso inserir
    '      rs6("ValorServico") = Me.ValorPago .......preciso inserir
    '      rs6.Update



    Sincera e francamente, não sei onde estou a errar.
    Conto com a ajuda dos colegas.
    []'s




    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]CAmpo não é inserido dentro da tabela. Empty Re: [Resolvido]CAmpo não é inserido dentro da tabela.

    Mensagem  Marcelo David 1/6/2021, 13:45

    Bom dia Silvio Very Happy

    O o que é Pgto Vale BT em C.Débito?


    .................................................................................
    Marcelo David | [Resolvido]CAmpo não é inserido dentro da tabela. LinkedIn_Icon.jpg.original LinkedIn
    https://www.freetool.dev
    Silvio
    Silvio
    Developer
    Developer

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4747
    Registrado : 20/04/2011

    [Resolvido]CAmpo não é inserido dentro da tabela. Empty Re: [Resolvido]CAmpo não é inserido dentro da tabela.

    Mensagem  Silvio 1/6/2021, 14:03

    Bom dia Marcelo..

    "Pgto Vale BT em C.Débito" é um texto que preciso inserir dentro do campo DescricaoServico que está na TblSubBanho
    ValorServico é um campo formato moeda que também preciso inserir na mesma TblSubBanho .


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]CAmpo não é inserido dentro da tabela. Empty Re: [Resolvido]CAmpo não é inserido dentro da tabela.

    Mensagem  Marcelo David 1/6/2021, 14:13

    No insert into, tem algo a se observar:

    CurrentDb.Execute "INSERT INTO TblSubBanho ( Idbanho, DescricaoServico, ValorServico ) values idbanho, '& Pgto Vale BT em C.Débito &', ValorPago FROM Tblbanho WHERE Idbanho=" & Me!Idbanho & ";", dbFailOnError

    Faltou os parênteses. Deverá ficar assim:

    CurrentDb.Execute "INSERT INTO TblSubBanho ( Idbanho, DescricaoServico, ValorServico ) values (idbanho, '& Pgto Vale BT em C.Débito &', ValorPago) FROM Tblbanho WHERE Idbanho=" & Me!Idbanho & ";", dbFailOnError

    Veja se vai assim. Se não, poste seu banco para darmos uma investigada.


    .................................................................................
    Marcelo David | [Resolvido]CAmpo não é inserido dentro da tabela. LinkedIn_Icon.jpg.original LinkedIn
    https://www.freetool.dev
    Silvio
    Silvio
    Developer
    Developer

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4747
    Registrado : 20/04/2011

    [Resolvido]CAmpo não é inserido dentro da tabela. Empty Re: [Resolvido]CAmpo não é inserido dentro da tabela.

    Mensagem  Silvio 1/6/2021, 14:49

    Boas Marcelo....sem jeito.

    Posto uma parte do sistema.

    Ele vai abrir no formulário " problemático".   Basta apenas selecionar o nome que está na Listbox, mudar a data, colocando uma qualquer....depois selecionar a opção débito.

    Dei uma boa limpada para deixar as rotinas mais simples e menos complicado de se achar.

    Desde j, meu muito obrigado.
    Anexos
    [Resolvido]CAmpo não é inserido dentro da tabela. Attachmentforum.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (74 Kb) Baixado 7 vez(es)


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]CAmpo não é inserido dentro da tabela. Empty Re: [Resolvido]CAmpo não é inserido dentro da tabela.

    Mensagem  Marcelo David 1/6/2021, 16:33

    Silvio, não havia percebido, mas o insert into está errado. Como se trata de uma inserção, não há FROM e nem a cláusula where.

    CurrentDb.Execute "INSERT INTO TblSubBanho ( Idbanho, DescricaoServico, ValorServico ) values idbanho, '& Pgto Vale BT em C.Débito &', ValorPago FROM Tblbanho WHERE Idbanho=" & Me!Idbanho & ";", dbFailOnError

    O Correto deve ser:
    CurrentDb.Execute "INSERT INTO TblSubBanho (Idbanho, DescricaoServico, ValorServico) values ("& me.idbanho & ", 'Pgto Vale BT em C.Débito','" & Me.ValorPago & "');", dbFailOnError

    Um outro detalhe também é o seguinte: Há uma relação de um para muitos entre as tabelas TblBanho e TblSubBanho.
    A TblSubBanho deve receber o IDBanho da TblBanho.

    Mas no seu formulário, o campo idbanho não corresponde a nenhum registro da tabela TblBanho (campo IDBanho) e pelo seu relacionamento tem que ter um idbanho correspondente.

    Eu vi que você está obtendo o IDbanho de outra tabela, da origem da listbox ListPendencias. Porém, a coluna 2 dessa listbox não tem os IDbanhos da TblBanho, que é a do relacionamento.

    Reveja essa parte de relacionamento para poder obter a solução.

    Outra dica é executar o código acima no evento Após atualizar da caixa de seleção. Dessa forma será garantido que evento seja efetivado. (mas aí vai das suas regras. Pode ser que não se aplique)


    .................................................................................
    Marcelo David | [Resolvido]CAmpo não é inserido dentro da tabela. LinkedIn_Icon.jpg.original LinkedIn
    https://www.freetool.dev
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1446
    Registrado : 13/12/2016

    [Resolvido]CAmpo não é inserido dentro da tabela. Empty Re: [Resolvido]CAmpo não é inserido dentro da tabela.

    Mensagem  Alexandre Fim 1/6/2021, 19:52

    Silvio,

    Aproveitando aqui para minha observação.

    O botão "Salvar" do formulário não faz nenhuma verificação e grava dados em branco na tabela
    [Resolvido]CAmpo não é inserido dentro da tabela. Banho_10


    []'s

    FIM


    .................................................................................
    - Procure sempre anexar seu projeto para análise do problema/dúvida.
    - Ao copiar/colar um código VBA, procure entender seu funcionamento.
    - Se o problema foi resolvido, não se esqueça de marcar o tópico como RESOLVIDO.
    Silvio
    Silvio
    Developer
    Developer

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4747
    Registrado : 20/04/2011

    [Resolvido]CAmpo não é inserido dentro da tabela. Empty Re: [Resolvido]CAmpo não é inserido dentro da tabela.

    Mensagem  Silvio 1/6/2021, 21:56

    Boa tarde Marcelo e Alexandre.

    Resolvi o problema da seguinte forma:

    Coloquei a rotina de exportação como sendo a primeira a ser feita, no evento On Click, ficando dessa forma.
    On Error Resume Next
    Dim db3 As Database, rs3 As DAO.Recordset
    Set db3 = CurrentDb
    Set rs3 = db3.OpenRecordset("tblbanho")
    With rs3
    .AddNew
    ![Idbanho] = Me.Idbanho
    ![proprietario] = Me.proprietario & "/ " & "Pgto Vale BT"
    ![Animal] = Me.Animal
    ![DataBanho] = Me.DataPagamento
    ![Recebido] = Me.ValorPago
    ![CDebito] = -1
    ![ValorDebito] = Me.ValorPago
    ![pagou] = -1
    rs3.Update
    End With
    rs3.Close
    Set rs3 = Nothing
    Set db3 = Nothing

    '---------------------------------------------------------------------------------------------------------------------------
    'aqui faço a inserção do descritivo na tblSubBanho
    Dim db5 As Database
    Dim rs5 As DAO.Recordset
    Set db5 = CurrentDb
    Set rs5 = db5.OpenRecordset("tblSubBanho")

    With rs5
    .AddNew
    ![Idbanho] = Me!Idbanho
    ![DescricaoServico] = "Pgto Vale BT em C.Débito"
    ![ValorServico] = Me!ValorPago
    .Update
    End With
    rs5.Close
    Set rs5 = Nothing
    Set db5 = Nothing

    Alexandre, tenho uma função no botão Salvar que apaga qualquer registro em branco.
    Para enviar ao fórum, eu apaguei um monte de rotinas desnecessárias ( não pertinentes a minha duvida ) nesse formulário para deixar leve o envio.

    Que O Eterno abençoe a todos que me ajudaram.

    []'s


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."

    Marcelo David gosta desta mensagem

    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1446
    Registrado : 13/12/2016

    [Resolvido]CAmpo não é inserido dentro da tabela. Empty Re: [Resolvido]CAmpo não é inserido dentro da tabela.

    Mensagem  Alexandre Fim 1/6/2021, 22:43

    Silvio,



    Alexandre, tenho uma função no botão Salvar que apaga qualquer registro em branco.
    Para enviar ao fórum, eu apaguei um monte de rotinas desnecessárias ( não pertinentes a minha duvida ) nesse formulário para deixar leve o envio.


    Por gentileza, desconsidere meu comentário.

    Boa sorte e sucesso no teu projeto.

    []'s

    FIM



    .................................................................................
    - Procure sempre anexar seu projeto para análise do problema/dúvida.
    - Ao copiar/colar um código VBA, procure entender seu funcionamento.
    - Se o problema foi resolvido, não se esqueça de marcar o tópico como RESOLVIDO.
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]CAmpo não é inserido dentro da tabela. Empty Re: [Resolvido]CAmpo não é inserido dentro da tabela.

    Mensagem  Marcelo David 2/6/2021, 12:19

    Gratos pelo retorno.


    .................................................................................
    Marcelo David | [Resolvido]CAmpo não é inserido dentro da tabela. LinkedIn_Icon.jpg.original LinkedIn
    https://www.freetool.dev

      Data/hora atual: 13/6/2021, 01:07