MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


3 participantes

    [Resolvido]Importar dados no access através do excel vba

    avatar
    fmcpc
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3
    Registrado : 26/09/2011

    [Resolvido]Importar dados no access através do excel vba Empty [Resolvido]Importar dados no access através do excel vba

    Mensagem  fmcpc 26/9/2011, 18:44

    Sad


    Olá. Estou aqui com um problema já há alguns dias que não comsigo resolver.

    Criei um UserForm no excel com 4 textboxs(ID,Style,Fromstore,ToStore). E criei uma base de dados no access com os mesmos dados(ID,Style,Fromstore,ToStore).

    Até agora consigo gravar os dados introduzidos no Userform do Excel na Base de Dados do Access. Very Happy

    Mas agora queria fazer o contrário, imprimir os dados da base de dados do Access numa folha de cálculo do excel ou na Userform criada!

    Estou a tentar utilizar o exemplo do livro "Excel2010-VBA&Macros":

    Sub GetUnsentTransfers()
    Dim cnn As ADODB.Connection
    Dim rst As ADODB.Recordset
    Dim WSOrig As Worksheet
    Dim WSTemp As Worksheet
    Dim sSQL as String
    Dim FinalRow as Long
    Set WSOrig = ActiveSheet
    ‘Build a SQL String to get all fields for unsent transfers
    sSQL = “SELECT ID, Style, FromStore, ToStore, Qty, FROM tblTransfer”
    sSQL = sSQL & “ WHERE Sent=FALSE”
    ‘ Path to Transfers.mdb
    MyConn = Set cnn = New ADODB.Connection
    With cnn
    .Provider = “Microsoft.Jet.OLEDB.4.0”
    .Open MyConn
    End With
    Set rst = New ADODB.Recordset
    rst.CursorLocation = adUseServer
    rst.Open Source:=sSQL, ActiveConnection:=cnn, _
    CursorType:=AdForwardOnly, LockType:=adLockOptimistic, _
    Options:=adCmdText
    ‘ Create the report in a new worksheet
    Set WSTemp = Worksheets.Add
    ‘ Add Headings
    Range(“A1:F1”).Value = Array(“ID”, “Style”, “From”, “To”, “Qty”)
    ‘ Copy from the recordset to row 2
    Range(“A2”).CopyFromRecordset rst
    ‘ Close the connection
    rst.Close
    cnn.Close
    ‘ Format the report
    FinalRow = Range(“A65536”).End(xlUp).Row
    ‘ If there were no records, then stop
    If FinalRow = 1 Then
    Application.DisplayAlerts = False
    WSTemp.Delete
    Application.DisplayAlerts = True
    WSOrig.Activate
    MsgBox “There are no transfers to confirm”
    Exit Sub
    End If
    ‘ Format column F as a date
    Range(“F2:F” & FinalRow).NumberFormat = “m/d/y”
    ‘ Show the userform – used in next section
    frmTransConf.Show
    ‘ Delete the temporary sheet
    Application.DisplayAlerts = False
    WSTemp.Delete
    Application.DisplayAlerts = True
    End Sub

    Já modifiquei parte do código, como a localização do ficheiro do access e do nome da tabela na BD.
    Agora está a dar um erro na linha "rst.Open Source:=sSQL, ActiveConnection:=cnn, _
    CursorType:=AdForwardOnly, LockType:=adLockOptimistic, _
    Options:=adCmdText" - Não foi fornecido um valor para um ou mais parâmetros necessários. Verifiquei e o AdForwardOnly=Empty

    Estou aberto a sugestões!


    PS:Estou a utilizar o Office2010. No entanto o formato do ficheiro do access é 2002-2003. O do excel acho que é 2010.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Importar dados no access através do excel vba Empty Re: [Resolvido]Importar dados no access através do excel vba

    Mensagem  criquio 26/9/2011, 21:28

    Tente usando o DAO. Pode tambem tentar colocar a rotina no Access ao invés do Excel.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    fmcpc
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3
    Registrado : 26/09/2011

    [Resolvido]Importar dados no access através do excel vba Empty Re: [Resolvido]Importar dados no access através do excel vba

    Mensagem  fmcpc 28/9/2011, 16:14

    Obrigado pela resposta, mas eu quero a rotina no excel! Espero por mais sugestões:)
    avatar
    fmcpc
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3
    Registrado : 26/09/2011

    [Resolvido]Importar dados no access através do excel vba Empty Re: [Resolvido]Importar dados no access através do excel vba

    Mensagem  fmcpc 28/9/2011, 17:39

    Bom Pessoal, depois de uma pesquisa encontrei uma maneira simples de fazer o que eu queria:)

    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim strSQL As String

    Set cn = New ADODB.Connection
    Set rs = New ADODB.Recordset

    Application.EnableEvents = False
    Application.ScreenUpdating = False

    ' connect to the Access database
    cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin; " _
    & "Data Source=C:\Users/a40596\teste\teste.mdb;"

    strSQL = "SELECT ID,desc,valor FROM tabela1"

    ' open the recordset
    rs.Open strSQL, cn, adOpenForwardOnly, adLockReadOnly, adCmdText
    'Add headings
    Range("A1:C1").Value = Array("ID", "Descricao", "Valor")

    'Copy from the recordset to row 2
    Range("A2").CopyFromRecordset rs

    rs.Close
    Set rs = Nothing
    cn.Close
    Set cn = Nothing

    Agora queria arranjar uma maneira de copiar os valores na Base de Dados do Access para diferentes arrays, por exemplo: ID();Descricao();Valor()?? Aceito sugestões!
    vieirasoft
    vieirasoft
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7304
    Registrado : 11/05/2010

    [Resolvido]Importar dados no access através do excel vba Empty Re: [Resolvido]Importar dados no access através do excel vba

    Mensagem  vieirasoft 13/10/2011, 23:38

    Como não houve retorno, o tópico passa a resolvido. Qualquer coisa reabra, por favor.

    Conteúdo patrocinado


    [Resolvido]Importar dados no access através do excel vba Empty Re: [Resolvido]Importar dados no access através do excel vba

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 21/11/2024, 19:06