Exmos
Tenho um programa de controlo bancário.
Não fazia sentido posteriormente ir ao programa de gestão fazer novamente os registos. É uma duplicação de trabalho e uma perca de tempo que já se arrasta à algum tempo.
No entanto na base de dados de controlo bancário, o cliente está com chave primária ID numéricos, e na base de dados do programa de gestão está a usar descrições completas como ID.
Então surge a necessidade de criar uma tabela de equivalências entre as duas bases de dados, para que possa integrar na segunda (com localização diferente) de forma dinâmica sem estar a criar select case em código vba.
Deixo abaixo o código que está ser utilizado.
A ajuda que necessito é para criar uma tabela na base de dados bancária (esta parte sei), utilizando algo idêntico ao procv do Excel, faça essa alteração no insert.
Tenho um programa de controlo bancário.
Não fazia sentido posteriormente ir ao programa de gestão fazer novamente os registos. É uma duplicação de trabalho e uma perca de tempo que já se arrasta à algum tempo.
No entanto na base de dados de controlo bancário, o cliente está com chave primária ID numéricos, e na base de dados do programa de gestão está a usar descrições completas como ID.
Então surge a necessidade de criar uma tabela de equivalências entre as duas bases de dados, para que possa integrar na segunda (com localização diferente) de forma dinâmica sem estar a criar select case em código vba.
Deixo abaixo o código que está ser utilizado.
A ajuda que necessito é para criar uma tabela na base de dados bancária (esta parte sei), utilizando algo idêntico ao procv do Excel, faça essa alteração no insert.
- 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
' 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 à base de dados da gestão
Set db = DAO.OpenDatabase("C:\nuvem\OneDrive\Documentos\....\v5_be.accdb")
' Criando a consulta SQL para a inserção de dados no programa de gestão
Select Case Cliente
Case 648 'Nesta base de dados o indice 648 vai integrar na outra base de dados
strSQL = "INSERT INTO Movimentos (Data, Montante, Cliente, Descrição, Tipo, Forma) " & _
"VALUES (#" & Format(Data, "yyyy-mm-dd") & "#, " & Quantia & ", 'Miguel Afonso', 'Recibo', 'Recebimentos', 'Caixa Agricola 798521')"
Case 57 'Nesta base de dados o indice 57 vai integrar na outra base de dados
strSQL = "INSERT INTO Movimentos (Data, Montante, Cliente, Descrição, Tipo, Forma) " & _
"VALUES (#" & Format(Data, "yyyy-mm-dd") & "#, " & Quantia & ", 'João Pedro', 'Recibo', 'Recebimentos', 'Caixa Agricola 798521')"
'Se tiver 50 indivíduos isto deixa de fazer sentido porque não está dinâmico. Deveria aplicar algo como um procv numa tabela que faça a equivalência entre as duas bases de dados.
Case Else
MsgBox "Este cliente não está definido no integrador!"
Exit Sub
End Select
' 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 Sub