Notifications
Clear all

Incluir um item em um campo

4 Posts
2 Usuários
0 Likes
1,516 Visualizações
(@drbeil)
Posts: 37
Eminent Member
Topic starter
 

Uso formulário no excel e as combobox usava os dados que estavam em uma planilha.

Coloquei os dados da planilha em uma tabela do acess. Não tem chave primaria ou numeração para cada linha. 

Como tenho que ficar alterando e incluindo dados criei um formulário para alterar/incluir dados. O alterar já consegui o @raygsson me ajudou no outro post.

Agora preciso o botao de INCLUIR um novo dado. Já tentei algumas opcões que até deu mas em vez de ir para uma linha abaixo do ultimo item já existente está criando uma nova linha.

Meio confunso, vou postar uma foto. Caso não conseguirem me ajudar subo o arquivo.

 

Exemplo: Quero incluir um novo banco, "BB", no "Campo BANCO". Em vez de ir para baixo do Caixa, cria uma nova linha por ultimo na tabela.

 

Esse script abaixo eu uso em outros formularios para incluir quando se tem chave primaria. Mas não da porque ele usa o codigo da chave primaria.

Call conecta_financas
Set rs = New ADODB.Recordset
rs.Open "select * from base_despesas", MiConexao, adopenkeyser, adLockOptimistic, adCmdText

While Not rs.EOF
id = rs(0)
rs.MoveNext
Wend

Me.c_despesasdb_num = id + 1
id = Me.c_despesasdb_num

With rs

.AddNew
.Fields("Cod_despesas") = id
.Fields("Mes") = Me.c_despesasdb_mes

End With
Call desconecta_financas


 

>>>>> Tentei esse, mas cria uma nova linha.

campo_bd = "Despesa_Fixa_Desp"

Call conecta_financas
Set rs = New ADODB.Recordset
rs.Open "select " & campo_bd & " from Dados_Source", MiConexao, 3, 3
Do Until rs.EOF

With rs
'AddNew
.Fields(campo_bd) = c_despesasdb_item_alterar

.Update
End With

rs.MoveNext
Loop

Call desconecta_financas
 

Editado pela Moderação. Motivo: Novamente pedimos que utilize o botão Código (< >) sempre que for inserir código VBA ou Fórmulas.

Daniel Rodrigo

 
Postado : 13/01/2021 10:52 am
(@drbeil)
Posts: 37
Eminent Member
Topic starter
 

Segue arquivo em excel e acess

Daniel Rodrigo

 
Postado : 13/01/2021 1:28 pm
(@drbeil)
Posts: 37
Eminent Member
Topic starter
 

@anderson obrigado pelo retorno.

Não procurei ainda, mas pensei agora. Na planilha no excel consigo achar a ultima linha preenchida e o retorno do numero da Linha. Teria algum comando que conseguiria achar a ultima linha preenchida do campo no Acess via vba.

Exemplo: No campo Banco o ultimo é Caixa - linha 2.

Poderia criar um campo com números automaticos. Assim alteraria a linha 3 do campo Banco.

 

Se vai da certo não sei.

É que tenho 4 arquivos com diversos formularios, e deixei padrão de todos os dados nessa tabela. Ao todos tenho 53 campos por isso queria algo em uma unica tabela. Mas entendi a logica que passou que tem que ter relacao entre os campos.

 

Daniel Rodrigo

 
Postado : 13/01/2021 8:06 pm
(@anderson)
Posts: 203
Reputable Member
 

Crie uma tabela chamada tbBancos no mesmo arquivo do Access que anexou e coloque nela o campo Bancos.

Deixe a tbBancos somente com o campo Bancos.

Quando for incluir um banco, inclua na tbBancos.

 

Este post foi modificado 3 anos atrás 5 vezes por Anderson

Em 90% dos casos em que não se anexa o arquivo, ocorrem mal-entendidos, gerando perda de tempo de ambos os lados.

 
Postado : 13/01/2021 8:07 pm