Ir ao conteúdo
  • Cadastre-se

Echeverria

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

posts postados por Echeverria

  1.  

    voce precisa fazer um loop atualizando as linhas das celulas referenciadas.

    tente alguma coisa assim:

    Sub Atualiza()Dim rs As Recordsetway = "" & (Plan2.Cells(1, 2)) & ""caminho = "" & (way) & "" & (Plan2.Range("b2")) & "" 'Caminho do banco'VariáveisDim i As Long: i = 11Do While Plan61.Range("A" & i) <> ""Ticket1 = Plan61.Range("A" & i)Status1 = Plan61.Range("H" & 1)HI1 = Plan61.Range("E" & i)HF1 = Plan61.Range("F" & i)Dta1 = Plan61.Range("B" & i)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.Editrs.Fields("Status") = Status1rs.Fields("Hora Inicial") = HI1rs.Fields("Hora Final") = HF1rs.Fields("Data") = Dta1rs.Fields("Data Atualização") = Format(Now, "dd/mm/yy")rs.Fields("Hora Atualização") = Format(Now, "hh:mm:ss")i = i + 1rs.UpdateDb.CloseLoopEnd Sub
    * nao testado

     

     

    Eu havia tentado algo parecido com isso mas apresentava erro, com o seu código não apresentou nenhum erro, mas as informações não estão sendo atualizadas no ACCESS. Tentei alterar o .Range, por .Cells, mas não atualiza igual. difícil de achar algo parecido com isso em outros fóruns.

     

    Eu consigo fazer o loop para o inverso, no momento de trazer as informações do ACCESS para o EXCEL, agora na hora de retornar ao ACCESS estou quebrando a cabeça.

  2. 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")
    Status1 = 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") = Status1
    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

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!