Ir ao conteúdo
  • Cadastre-se

Excel Histórico de dados do Excel salvos no Access


Posts recomendados

Bom dia a todos!

Meu senario atual é o seguinte!

 

Tenho uma planilha em excel, onde a equipe de qualidade da empresa faz analise das ferramentas de produção e analisam e informam a condição de uso da ferramenta, data que foi avaliada e onde esta.

 

porém eles utilizam a mesma planilha somente atualizando as informações da ferramenta, assim não consigo ter um historico do numero de vezes que essa ferramenta foi para reparo ou o tempo em que ela ficou em reparo.

Gostaria de enviar essas informações para o access de uma forma que ele armazene sempre as novas informações ou informações alteradas, sem nunca mudar o histórico. Por mais que eu mude o campo condição data... na hora de importar gostaria que ele importasse como uma nova informação, sem sobrepor a informação anterior. Desta forma eu teria um histórico.

 

 

image.png.4cf5b4e925e480f4d3b9f9950ac8a060.png

image.png

Link para o comentário
Compartilhar em outros sites

Eu preciso que sempre que um dado novo seja inserido na planilha anexada, esse dado seja enviado para o Access sem e deletado do Excel, assim a base de dados fica no Access completa e o Excel só para o tratamento dos dados. @Basole  

adicionado 5 minutos depois

 

Em 16/10/2019 às 15:59, Basole disse:

@Noullan anexe um exemplo do Excel, com alguns dados ficticios para que o pessoal entenda melhor, e possa lhe ajudar nesta demanda.

Atualmente essas informações da imagem, é o banco de dados, em outra area de trabalho eu tenho alguns graficos analisando essas informações. Gostaria que as informações da imagem ficassem no access, e o excel atusse somente com o input de dados para o access e analise dos dados que ja estão no access.

 

Link para o comentário
Compartilhar em outros sites

Bom realmente fica difícil ajudar sem mais informações e somente imagem de uma tabela com dados.

Mas para nao disser que ano quero ajudar, segue um exemplo genérico de envio de dados no Access,

Altere as informações no codigo de acordo com seus dados.

 

* Em um modulo padrão:

Const s_Tabela As String = "NOME DA SUA TABELA"
Const s_bd As String = "NOME DO BANCO DE DADOS.mdb"

Sub INSERIR_DADOS_ACCESS(shName As String)

Dim strConnectString        As String
Dim objConnection           As Object
Dim strDbPath               As String
Dim strTblName              As String
Dim strSQL                  As String
Dim ws                      As Worksheet
Dim ErrorMessage
Dim i                       As Integer
Dim lastRow                 As Long

Set objConnection = CreateObject("ADODB.Connection")

strDbPath = ThisWorkbook.Path & "\" & s_bd
'==================================================
strConnectString = "Provider = Microsoft.ACE.OLEDB.12.0;" & _
                    "Data Source=" & strDbPath & ";"


On Error GoTo ErrorMessage
With objConnection
    .Open strConnectString
            
       Set ws = ThisWorkbook.Worksheets(shName)
       
         lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
              
   For i = 2 To lastRow
    
    .Execute "INSERT INTO " & s_Tabela & _
            " (MONTH_, WEEK_, DAY_, TURNO, BANCADA, FERT, MODEL, BASIC, IMEI, INSPECAO, RESULT, ETC, ETC1, ETC2, ABA)" & _
            " VALUES (" & ws.Cells(i, "A").Value & ", '" & ws.Cells(i, "B").Value & "', '" & VBA.Format(ws.Cells(i, "C").Value2, "dd/mm/yyyy") & _
                           "', " & ws.Cells(i, "D").Value & ", '" & ws.Cells(i, "E").Value & "', '" & ws.Cells(i, "F").Value & "', '" & _
                            ws.Cells(i, "G").Value & "', '" & ws.Cells(i, "H").Value & "', " & ws.Cells(i, "I").Text & ", '" & _
                                 ws.Cells(i, "J").Value & "', '" & ws.Cells(i, "K").Value & "', '" & ws.Cells(i, "L").Value & "', '" & _
                                 ws.Cells(i, "M").Value & "', '" & ws.Cells(i, "N").Value & "', '" & ws.Name & "')"
        Next i
      
  
End With

Set objConnection = Nothing

Exit Sub

ErrorMessage:
MsgBox "OPIS: " & Err.Description & Chr(10) & _
    "NUMER: " & Err.Number
    
Set objConnection = Nothing

End Sub

 * No modulo de EstaPasta_de_trabalho:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim sh As Integer
Dim ws As Worksheet

  For sh = 1 To ThisWorkbook.Worksheets.Count

    Set ws = ThisWorkbook.Worksheets(sh)
       '   AQUI ACRESCENTE OS SEUS CRITERIOS DE ACORDO COM A NECESSIDADE: _
           EXCEMPLO:
      If ws.Name Like "Nome da Aba" Or ws.Name Like "Nome da aba 2" Then
            INSERIR_DADOS_ACCESS (ws.Name)
      End If
  Next sh
  
End Sub

Quando fechar a pasta de trabalho a macro envia automaticamente, os dados novos caso as condicoes sejam verdadeiras

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...