Jump to content
Sign in to follow this  
Guest miguelfreitas

[RESOLVIDO] Esconder tabela Access 2007

Recommended Posts

Guest miguelfreitas

Boas tardes, tenho aqui código VBA para fazer uma importação através de click.

Private Sub Imagem14_Click()
Dim Xl As Excel.Application
    Dim FileName As String
    Dim wb As Workbook
    Dim rng As Range
    Dim LastRow As Long
    Dim ws As Worksheet
    If MsgBox("Pretende importar o ficheiro 'Produtos.xlsx' para a base de dados?", vbYesNo, "Aviso") = vbYes Then
    Set Xl = New Excel.Application
    FileName = Xl.GetOpenFileName
    If FileName = "False" Then Exit Sub
    Set wb = Xl.Workbooks.Open("Produtos.xlsx")
    Set ws = wb.Worksheets("Produtos")         
    LastRow = ws.Range("A100").End(xlUp).Row
    ws.Range("A2:H" & LastRow).Copy     

    DoCmd.OpenTable ("add_produtos")
    DoCmd.Minimize
    DoCmd.RunCommand acCmdPasteAppend
    DoCmd.Close acTable, "add_produtos"
    
    wb.Saved = True
    wb.Close
    Set Xl = Nothing
End If
End Sub

É mesmo esta parte que interessa :

    DoCmd.OpenTable ("add_produtos")
    DoCmd.Minimize
    DoCmd.RunCommand acCmdPasteAppend
    DoCmd.Close acTable, "add_produtos"

Ou seja, depois de escolher o ficheiro,  abre a tabela "add_produtos", cola os dados e depois fecha, mas tem um "mas".

Queria saber se dava para continuar com este processo mas não mostra-se a tabela, que estivesse tipo Hide ou algo do género. ou se existe outra maneira, mas que cole os dados do ficheiro excel nessa tabela.

:wallbash:

Resumindo :

 PasteAppend.TableName  

Pode ficar alguma coisa assim do género ???  🤔 

Espero umas respostas a ajudar porque não consigo  :dontgetit:

Desde já agradeço,

Miguel Freitas  ;)

Share this post


Link to post
Share on other sites
KeepItSimple

Em vez dessas instruções de criares um objecto excel, de abrires a tabela e "colares" o range, podes tentar fazer tudo com uma única instrução: docmd.TransferSpreadsheet

Sintaxe:

DoCmd.TransferSpreadsheet(TransferType, SpreadsheetType, TableName, FileName, HasFieldNames, Range, UseOA)

Share this post


Link to post
Share on other sites
Guest miguelfreitas

DoCmd.TransferSpreadsheet(TransferType, SpreadsheetType, TableName, FileName, HasFieldNames, Range, UseOA)

Obrigado KeepItSimple por me ajudares a resolver mais um problema  ;)

Será que podes ler o meu novo problema ?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.