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]Se '[' for uma nova macro ou um novo grupo de macros, certifique-se de que o guardou e escreveu o nome dele corretamente.

    avatar
    onfire
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 41
    Registrado : 18/09/2016

    [Resolvido]Se '[' for uma nova macro ou um novo grupo de macros, certifique-se de que o guardou e escreveu o nome dele corretamente. Empty [Resolvido]Se '[' for uma nova macro ou um novo grupo de macros, certifique-se de que o guardou e escreveu o nome dele corretamente.

    Mensagem  onfire 11/9/2023, 16:29

    Exmos
    Ao clicar no botão Integrador (que vai injetar noutra base de dados), surge este erro.
    Embora a transação corra normalmente a verdade é que aparecer sempre este erro é muito chato.

    [Resolvido]Se '[' for uma nova macro ou um novo grupo de macros, certifique-se de que o guardou e escreveu o nome dele corretamente. Erro_a10

    Em termos de código que corre é este. Devo ter de colocar alguma linha de código que desative o alerta.
    Como o código corre e cumpre o seu objetivo, julgo que será um mero alerta.
    Se eu não apontar para a base de dados externa, já não surge o alerta.


    Código:


    Private Sub Integrador()
     
     ' Declarando as variáveis necessárias
        Dim db As DAO.Database
        Dim strSQL As String
        Dim Cliente As Integer
        Dim Data As Date
        Dim Quantia As Currency
        Dim Mont As Currency
        Dim Cliente_Gestao As String
        Dim Validar As String
        
        ' Obtendo o valor do campo de formulário
        Cliente = Me.CaixaCombinação14.Value
        Data = Me.DataMov.Value
        Mont = Me.Montante.Value
        Quantia = Mont * -1
        'Observacoes = Me.CaixaCombinação17.Value
        
        ' Abrindo a conexão com o banco de dados
        Set db = DAO.OpenDatabase("C:\Users\Portatil-Nelio\Desktop\Code\Private\Maestro_v5_be.accdb")
        
        ' Criando a consulta SQL para a inserção de dados
        
        'On Error GoTo Avançar_erro
            
      
       'Se não estiver na tabela dá erro.
      
        
        Cliente_Gestao = Nz(DLookup("Nome_Gestao", "Tab_Equiv_Clientes", "ID=" & Cliente), "não está na Lista")
        
          
        
        If MsgBox("O Cliente " & Cliente_Gestao & " é para Integrar?", vbYesNo, Me.Caption) = vbNo Then
    MsgBox "Cancelaste o processo de Integração", vbInformation, Me.Caption
    Exit Sub
    Else

        strSQL = "INSERT INTO Movimentos (Data, Montante, Cliente, Descrição, Tipo, Forma) " & _
                 "VALUES (#" & Format(Data, "yyyy-mm-dd") & "#, " & Quantia & ", " & Cliente_Gestao & ", 'Recibo', 'Recebimentos', 'Caixa Agricola Jorge')"
        
        
           ' Executando a consulta SQL
        
        db.Execute strSQL
        
        ' Fechando a conexão com o banco de dados
        db.Close
        
        ' Limpando a memória
        Set db = Nothing
        
                  
        ' Exibindo uma mensagem de sucesso
        MsgBox "Dados integrados com sucesso na contabilidade de gestão!"
          

    End If
    End Sub



    Conseguem ajudar-me?

    Outro elemento curioso é o facto de se a quantia for superior a 999 (três dígitos), por exemplo 1001, dá erro a integrar na outra base dados, mas ambas as bases de dados têm o campo definido como moeda. É estranho, mas no caso como são montantes raros não me incomoda e insiro manualmente na outra base de dados.

    Abraço
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Se '[' for uma nova macro ou um novo grupo de macros, certifique-se de que o guardou e escreveu o nome dele corretamente. Empty Re: [Resolvido]Se '[' for uma nova macro ou um novo grupo de macros, certifique-se de que o guardou e escreveu o nome dele corretamente.

    Mensagem  Marcelo David 11/9/2023, 19:49

    Olá!
    Pode ter relação com palavras reservadas em nomes de campos na tabela Movimentos.
    Os campos Data e Tipo são palavras reservas. Mude para outro nome, como algo: MovData e MovTipo.

    Veja se resulta.


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]Se '[' for uma nova macro ou um novo grupo de macros, certifique-se de que o guardou e escreveu o nome dele corretamente. Marcel11
    avatar
    onfire
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 41
    Registrado : 18/09/2016

    [Resolvido]Se '[' for uma nova macro ou um novo grupo de macros, certifique-se de que o guardou e escreveu o nome dele corretamente. Empty Re: [Resolvido]Se '[' for uma nova macro ou um novo grupo de macros, certifique-se de que o guardou e escreveu o nome dele corretamente.

    Mensagem  onfire 11/9/2023, 23:56

    Faz todo o sentido aquilo que refere.
    Mas para limpar a mensagem, significa renomear os campos nas tabelas e re-escrever o código no outro fron-end (consultas, relatórios e afins...) Crying or Very sad Crying or Very sad .
    Ou seja, apenas poderei corrigir a situação daqui a uns meses quando tiver tempo.
    Mas certamente que será esse o problema.
    Na próxima tenho de ter atenção a esse pormenor, porque depois dá chatice... e da grande....
    Obrigado.
    Very Happy Very Happy

    Marcelo David gosta desta mensagem

    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Se '[' for uma nova macro ou um novo grupo de macros, certifique-se de que o guardou e escreveu o nome dele corretamente. Empty Re: [Resolvido]Se '[' for uma nova macro ou um novo grupo de macros, certifique-se de que o guardou e escreveu o nome dele corretamente.

    Mensagem  Marcelo David 16/9/2023, 18:28

    Grato pele retorno!


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Conheça meu canal no Youtube e se inscreva.
    [Resolvido]Se '[' for uma nova macro ou um novo grupo de macros, certifique-se de que o guardou e escreveu o nome dele corretamente. Marcel11

    Conteúdo patrocinado


    [Resolvido]Se '[' for uma nova macro ou um novo grupo de macros, certifique-se de que o guardou e escreveu o nome dele corretamente. Empty Re: [Resolvido]Se '[' for uma nova macro ou um novo grupo de macros, certifique-se de que o guardou e escreveu o nome dele corretamente.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 23/7/2024, 03:33