MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Comando com CurrentDb.Execute "Insert Into... eu um dos casos não funciona,.

    Compartilhe

    HARYSOHN
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12246
    Registrado : 01/03/2011

    [Resolvido]Comando com CurrentDb.Execute "Insert Into... eu um dos casos não funciona,.

    Mensagem  HARYSOHN em Qui 14 Nov 2013, 13:31

    Boa tarde colegas.. Realmente não consigo exergar o erro neste problema.. Talvez possam me ajudar.


    Tenho  Um case para executar uma insercão na tabela.
    As intruções são identicas.


    As duas primeiras quando executadas não estão inserindo os valores (Em azul)


        MSG = MsgBox("Este lançamento será efetuado total no caixa," _
                    & vbNewLine & "Deseja prosseguir?", vbYesNo + vbQuestion, "LANÇAMENTO NO CAIXA")
        Select Case MSG
            Case vbYes
                Select Case Me.ContaID
                    'ENTRADAS
                    Case 1
                        CurrentDb.Execute "INSERT INTO tblMovimento(IdCaixa, DataMovimento, NumDoc,Historico, ValorCredito, ValorDebito, Fechado,TipoDoc," _
                                        & "NumSeqParcela, ContasPagarRec_ID, cpContaID, CpTipoID)" _
                                        & "Values ('24',""" & Me.Data_Emissão.Value & """,""" & lngNumDoc & """," _
                                        & """" & StrTMP & """,""" & Me.Vl_Bruto.Value & """,""" & intNum & """," _
                                        & "'','1','',""" & Me.Num_OR & """,""" & Me.ContaID & """,""" & Me.TipoID & """)"
                    'SAÍDAS
                    Case 2
                        CurrentDb.Execute "INSERT INTO tblMovimento(IdCaixa, DataMovimento, NumDoc,Historico, ValorCredito, ValorDebito, Fechado,TipoDoc," _
                                        & "NumSeqParcela, ContasPagarRec_ID,cpContaID, CpTipoID)" _
                                        & "Values ('24',""" & Me.Data_Emissão.Value & """,""" & lngNumDoc & """," _
                                        & """" & StrTMP & """,""" & intNum & """,""" & Me.Vl_Bruto.Value & """," _
                                        & "'','2','',""" & Me.Num_OR & """,""" & Me.ContaID & """,""" & Me.TipoID & """)"

                End Select
                DoCmd.Close acForm, "Cadastro_Parcelas"
            Case vbNo
                Exit Sub
        End Select
    Else
        If Me.Vl_Entrada <> 0 Then
                Select Case Me.ContaID
                    'ENTRADAS
                    Case 1
                        CurrentDb.Execute "INSERT INTO tblMovimento(IdCaixa, DataMovimento, NumDoc,Historico, ValorCredito, ValorDebito, Fechado,TipoDoc," _
                                        & "NumSeqParcela, ContasPagarRec_ID, cpContaID, CpTipoID)" _
                                        & "Values ('24',""" & Me.Data_Emissão.Value & """,""" & lngNumDoc & """," _
                                        & """" & StrTMP & """,""" & Me.Vl_Entrada.Value & """,""" & intNum & """," _
                                        & "'','1','',""" & Me.Num_OR & """,""" & Me.ContaID & """,""" & Me.TipoID & """)"
                    'SAÍDAS
                    Case 2
                        CurrentDb.Execute "INSERT INTO tblMovimento(IdCaixa, DataMovimento, NumDoc,Historico, ValorCredito, ValorDebito, Fechado,TipoDoc," _
                                        & "NumSeqParcela, ContasPagarRec_ID,cpContaID, CpTipoID)" _
                                        & "Values ('24',""" & Me.Data_Emissão.Value & """,""" & lngNumDoc & """," _
                                        & """" & StrTMP & """,""" & intNum & """,""" & Me.Vl_Entrada.Value & """," _
                                        & "'','2','',""" & Me.Num_OR & """,""" & Me.ContaID & """,""" & Me.TipoID & """)"
                End Select
                DoCmd.Close acForm, "Cadastro_Parcelas"
        End If
    End If


    O interessante é que são idêticas às duas logo abaixo... não depura para erro algum..

    Se puderem observar fico grato.

    Cumprimentos.


    .................................................................................
    PILOTO
    الله أكبر Paz, Justiça e Liberdade! الله أكبر
    CLIQUE AQUI E VEJA O VÍDEO >>> BIOMETRIA EM ACCESS

    Iniciando no Access? Então veja esse tópico e também esse


    BUSCA NO FÓRUM - CLIQUE AQUI!!!

    Quando tua dúvida for RESOLVIDA, dê retorno com AGRADECIMENTO a aqueles que gastaram seu tempo em te ajudar.
    Clique no botão Resolvido logo acima do botão Enviar, do lado direito. Todos nós agradecemos.  
    [Você precisa estar registrado e conectado para ver esta imagem.]

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: [Resolvido]Comando com CurrentDb.Execute "Insert Into... eu um dos casos não funciona,.

    Mensagem  JPaulo em Qui 14 Nov 2013, 14:39

    Penso que a sequencia não está igual ao primeiro Case

    Tem intNum e só depois o Me.Vl_Bruto.Value

    Porque não copia o de cima e altera apenas para '2' ?


    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Re: [Resolvido]Comando com CurrentDb.Execute "Insert Into... eu um dos casos não funciona,.

    Mensagem  criquio em Qui 14 Nov 2013, 14:42

    Ué velhinho, se são idênticas, porque repeti-las? E se a questão está apenas nas duas primeiras, talvez tenha que verificar se o problema não está na passagem da primeira condição If. Pode ser por aí talvez né? HEHEHE.


    .................................................................................
    Meu novo site: [Você precisa estar registrado e conectado para ver este link.]

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Re: [Resolvido]Comando com CurrentDb.Execute "Insert Into... eu um dos casos não funciona,.

    Mensagem  criquio em Qui 14 Nov 2013, 14:43

    Desculpe JP, respondemos quase ao mesmo tempo, hehehe.


    .................................................................................
    Meu novo site: [Você precisa estar registrado e conectado para ver este link.]

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    HARYSOHN
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12246
    Registrado : 01/03/2011

    Re: [Resolvido]Comando com CurrentDb.Execute "Insert Into... eu um dos casos não funciona,.

    Mensagem  HARYSOHN em Qui 14 Nov 2013, 15:00

    Vamos la...

    JP lembra-se do seu exemplo de parcelas? Pois bem é nele que estou utilizando..
    Criquio, apesar de serem identicas.. Necessito do case Msg para avisar ao usuário se está lançando o valor total ou apenas a entrada.


    Neste formulário eu cadastro contas a pagar ou receber (Entrada e Saida) por isso intNum = 0 de acordo com o lançamento e fica invertido

    Se Saída:
    CpEntrada - CpSaida (""" & intNum & """,""" & Me.Vl_Bruto.Value & """)
    Se Entrada:
    CpEntrada - CpSaida (""" & Me.Vl_Bruto.Value & """,""" & intNum & """)

    Mesmo se copiar as instruções de baixo e as colar encima.. mesmo assim o código passa por elas porém não insere..


    .................................................................................
    PILOTO
    الله أكبر Paz, Justiça e Liberdade! الله أكبر
    CLIQUE AQUI E VEJA O VÍDEO >>> BIOMETRIA EM ACCESS

    Iniciando no Access? Então veja esse tópico e também esse


    BUSCA NO FÓRUM - CLIQUE AQUI!!!

    Quando tua dúvida for RESOLVIDA, dê retorno com AGRADECIMENTO a aqueles que gastaram seu tempo em te ajudar.
    Clique no botão Resolvido logo acima do botão Enviar, do lado direito. Todos nós agradecemos.  
    [Você precisa estar registrado e conectado para ver esta imagem.]

    HARYSOHN
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12246
    Registrado : 01/03/2011

    Re: [Resolvido]Comando com CurrentDb.Execute "Insert Into... eu um dos casos não funciona,.

    Mensagem  HARYSOHN em Qui 14 Nov 2013, 15:17

    Não seria por estar um case dentro de outro?

    cumprimentos.


    .................................................................................
    PILOTO
    الله أكبر Paz, Justiça e Liberdade! الله أكبر
    CLIQUE AQUI E VEJA O VÍDEO >>> BIOMETRIA EM ACCESS

    Iniciando no Access? Então veja esse tópico e também esse


    BUSCA NO FÓRUM - CLIQUE AQUI!!!

    Quando tua dúvida for RESOLVIDA, dê retorno com AGRADECIMENTO a aqueles que gastaram seu tempo em te ajudar.
    Clique no botão Resolvido logo acima do botão Enviar, do lado direito. Todos nós agradecemos.  
    [Você precisa estar registrado e conectado para ver esta imagem.]

    HARYSOHN
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12246
    Registrado : 01/03/2011

    Re: [Resolvido]Comando com CurrentDb.Execute "Insert Into... eu um dos casos não funciona,.

    Mensagem  HARYSOHN em Qui 14 Nov 2013, 15:25

    Não tem haver com um case contendo outro.

    Olha que interessante. Isolei toda a parte de cima..

    E agora mesmo na de baixo, não inseriu.


    '----------------------------------------------------------------------------------
    'Verifica se não foram lançada parcelas para emitir aviso de entrada total no caixa
    'Caso contrário lança a entrada/saída se houver
    '----------------------------------------------------------------------------------
    'If DCount("*", "tblParcelas", "ID_Conta = " & Me.Num_OR & "") = 0 Then
        Dim MSG As String
    '    MSG = MsgBox("Este lançamento será efetuado total no caixa," _
                    & vbNewLine & "Deseja prosseguir?", vbYesNo + vbQuestion, "LANÇAMENTO NO CAIXA")
    '    Select Case MSG
    '        Case vbYes
    '            If Me.ContaID = 1 Then
                    'ENTRADAS
    '                    CurrentDb.Execute "INSERT INTO tblMovimento(IdCaixa, DataMovimento, NumDoc,Historico, ValorCredito, ValorDebito, Fechado,TipoDoc," _
                                        & "NumSeqParcela, ContasPagarRec_ID, cpContaID, CpTipoID)" _
                                        & "Values ('24',""" & Me.Data_Emissão.Value & """,""" & lngNumDoc & """," _
                                        & """" & StrTMP & """,""" & Me.Vl_Bruto.Value & """,""" & intNum & """," _
                                        & "'','1','',""" & Me.Num_OR & """,""" & Me.ContaID & """,""" & Me.TipoID & """)"
                    'SAÍDAS
    '             ElseIf Me.ContaID = 2 Then
    '                    CurrentDb.Execute "INSERT INTO tblMovimento(IdCaixa, DataMovimento, NumDoc,Historico, ValorCredito, ValorDebito, Fechado,TipoDoc," _
                                        & "NumSeqParcela, ContasPagarRec_ID,cpContaID, CpTipoID)" _
                                        & "Values ('24',""" & Me.Data_Emissão.Value & """,""" & lngNumDoc & """," _
                                        & """" & StrTMP & """,""" & intNum & """,""" & Me.Vl_Bruto.Value & """," _
                                        & "'','2','',""" & Me.Num_OR & """,""" & Me.ContaID & """,""" & Me.TipoID & """)"
    '            End If
    '            DoCmd.Close acForm, "Cadastro_Parcelas"
    '        Case vbNo
    '            Exit Sub
    '    End Select
    'Else
        'If Me.Vl_Entrada <> 0 Then
                Select Case Me.ContaID
                    'ENTRADAS
                    Case 1
                        CurrentDb.Execute "INSERT INTO tblMovimento(IdCaixa, DataMovimento, NumDoc,Historico, ValorCredito, ValorDebito, Fechado,TipoDoc," _
                                        & "NumSeqParcela, ContasPagarRec_ID, cpContaID, CpTipoID)" _
                                        & "Values ('24',""" & Me.Data_Emissão.Value & """,""" & lngNumDoc & """," _
                                        & """" & StrTMP & """,""" & Me.Vl_Entrada.Value & """,""" & intNum & """," _
                                        & "'','1','',""" & Me.Num_OR & """,""" & Me.ContaID & """,""" & Me.TipoID & """)"
                    'SAÍDAS
                    Case 2
                        CurrentDb.Execute "INSERT INTO tblMovimento(IdCaixa, DataMovimento, NumDoc,Historico, ValorCredito, ValorDebito, Fechado,TipoDoc," _
                                        & "NumSeqParcela, ContasPagarRec_ID,cpContaID, CpTipoID)" _
                                        & "Values ('24',""" & Me.Data_Emissão.Value & """,""" & lngNumDoc & """," _
                                        & """" & StrTMP & """,""" & intNum & """,""" & Me.Vl_Entrada.Value & """," _
                                        & "'','2','',""" & Me.Num_OR & """,""" & Me.ContaID & """,""" & Me.TipoID & """)"
                End Select
                DoCmd.Close acForm, "Cadastro_Parcelas"
        'End If
    'End If



    Uma observação JP:

    A parte de cima é executada quando não há parcelamentos feitos..


    .................................................................................
    PILOTO
    الله أكبر Paz, Justiça e Liberdade! الله أكبر
    CLIQUE AQUI E VEJA O VÍDEO >>> BIOMETRIA EM ACCESS

    Iniciando no Access? Então veja esse tópico e também esse


    BUSCA NO FÓRUM - CLIQUE AQUI!!!

    Quando tua dúvida for RESOLVIDA, dê retorno com AGRADECIMENTO a aqueles que gastaram seu tempo em te ajudar.
    Clique no botão Resolvido logo acima do botão Enviar, do lado direito. Todos nós agradecemos.  
    [Você precisa estar registrado e conectado para ver esta imagem.]

    HARYSOHN
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12246
    Registrado : 01/03/2011

    Re: [Resolvido]Comando com CurrentDb.Execute "Insert Into... eu um dos casos não funciona,.

    Mensagem  HARYSOHN em Qui 14 Nov 2013, 15:30

    Bem...Olha que interessante...

    Ao ser executada a instrução.. todos os objetos levam os valores para a instrução.. ou seja. se pousar o mouse sobre a instrução Insert Into nos respectivos campos.. exibe que a caixa texto ou variável está carregada com o valor..Mesmo assim não os insere.

    Quando faço parcelamentos, os valores são inseridos... Ai estava a origem do problema.
    No botão de efetua o parcelamento tem comando para salvar o registro.

    Adicionei o comando antes da instrução  e resolveu:  DoCmd.RunCommand acCmdSaveRecord

    Agora sinceramente não sei porque ao não salvar o registro a instrução não executa a inserção posto que as variáveis e objetos estão carregados.

    Obrigado pela atenção.


    .................................................................................
    PILOTO
    الله أكبر Paz, Justiça e Liberdade! الله أكبر
    CLIQUE AQUI E VEJA O VÍDEO >>> BIOMETRIA EM ACCESS

    Iniciando no Access? Então veja esse tópico e também esse


    BUSCA NO FÓRUM - CLIQUE AQUI!!!

    Quando tua dúvida for RESOLVIDA, dê retorno com AGRADECIMENTO a aqueles que gastaram seu tempo em te ajudar.
    Clique no botão Resolvido logo acima do botão Enviar, do lado direito. Todos nós agradecemos.  
    [Você precisa estar registrado e conectado para ver esta imagem.]

      Data/hora atual: Seg 05 Dez 2016, 13:30