Notifications
Clear all

Editar células de uma tabela do access pelo VBA

3 Posts
2 Usuários
0 Reactions
590 Visualizações
(@echeverria)
Posts: 0
New Member
Topic starter
 

Olá pessoal, estou criando um gerenciamento de rotinas, sou iniciante na parte de VBA, mas estou me virando do jeito que dá.

Seguinte, tenho informações em uma tabela de access que é "carregada" no excel após o usuário realizar o login.
Agora preciso que estas informações voltem a tabela original com as alterações realizadas no excel.

Consegui realizar utilizando o RS.EDIT, mas sei criar apenas POR LINHA, ou seja vou ter q criar uma conexão com cada linha do excel e um RS.EDIT para cada linha, não sei como fazer o VBA entender a primeira e fazer as demais linhas abaixo da 11 irem automaticamente, alguém pode me ajudar ?

Segue código:

Sub Atualiza()

way = "" & (Plan2.Cells(1, 2)) & ""
caminho = "" & (way) & "" & (Plan2.Range("b2")) & "" 'Caminho do banco

'Variáveis

Ticket1 = Plan61.Range("A11")
News1 = Plan61.Range("H11")
HI1 = Plan61.Range("E11")
HF1 = Plan61.Range("F11")
Dta1 = Plan61.Range("B11")

Set wks = DBEngine(0)
Set Db = wks.OpenDatabase(caminho)
Set RS = Db.OpenRecordset("SELECT * FROM [" & (Plan2.Range("B3")) & "] WHERE [Ticket] LIKE '" & (Ticket1) & "';") 'Referência, é o ticket com numeração automática que consta tanto no excel quanto no access.

RS.Edit
RS.Fields("Status") = News1
RS.Fields("Hora Inicial") = HI1
RS.Fields("Hora Final") = HF1
RS.Fields("Data") = Dta1
RS.Fields("Data Atualização") = Format(Now, "dd/mm/yy")
RS.Fields("Hora Atualização") = Format(Now, "hh:mm:ss")

RS.Update

Db.Close

End Sub

 
Postado : 11/05/2015 4:42 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Nao entendi

 
Postado : 11/05/2015 5:19 pm
(@echeverria)
Posts: 0
New Member
Topic starter
 

Seria assim Reinaldo.

Tenho a Coluna A com a informação de Ticket, e a Coluna B com a informação de status.
A partir da linha 11 começam a carregar as informações contidas no ACCESS, o Ticket é a referência entre ACCESS e EXCEL.

Ou seja na Célula A11 encontra-se o Ticket "1" na célula A12 o Ticket "2" e assim por diante, na célula B11 encontra-se o Status do Ticket 1, ou seja, "Concluído" ou "Não Concluído", e na B12 o status do Ticket 2...

Após realizar esta alteração de status de cada ticket tenho que salvar as novas informações dentro do ACCESS, o código que encaminhei faz essa alteração apenas no Ticket 1, preciso saber como fazer algum tipo de "LOOP" que entenda que deve salvar também os demais tickets que tiveram alterações, caso contrário terei que criar o mesmo código para cada linha em que carregar alguma informação.

 
Postado : 12/05/2015 10:35 am