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


2 participantes

    [Resolvido]Como gravar arquivo.zip no BD?

    Eloirp
    Eloirp
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 229
    Registrado : 15/06/2013

    [Resolvido]Como gravar arquivo.zip no BD? Empty [Resolvido]Como gravar arquivo.zip no BD?

    Mensagem  Eloirp 30/7/2014, 15:39

    Como tenho vários locais de uso do FE (front-end) e o BD é MySQL on-line eu gostaria de salvar o FE em uma tabela do BD para que depois o sistema verifique se está desatualizado e possa fazer a atualização do FE baixando do BD...
    No BD já está resolvido, criei a tbl e fiz um teste pelo browser do MySQL e deu certo, porém preciso de ajudar para fazer a parte de enviar o arquivo...

    Atualmente faço isso com imagem com os códigos abaixo, mas como adaptar para que ao invés de imagem seja um arquivo zip?

    Anexar Imagem:
       Dim strTemp As String
       strfName = fncLocalizarArquivo

       If Len(strfName & vbNullString) = 0 Then Exit Sub

       Me.img.Picture = strfName
       Me.Anexo_Name = Dir(strfName, vbArchive)


    Salvar no BD:
       strRS = "select * from tbl_Produto_Img where Codigo=" & Me.CodigoImg
       Call Cnn_Open
       Set rs = New ADODB.Recordset
       With rs
           Set .ActiveConnection = Cnn
           .Source = strRS
           .LockType = adLockOptimistic
           .CursorType = adOpenKeyset
           .Open
       End With

       If Len(strfName) > 0 Then
           Dim ImgExt As String
           ImgExt = Right(Me.Anexo_Name, 4)
       
           mstream.Type = adTypeBinary
           mstream.Open
           mstream.LoadFromFile strfName
           rs("anexo").Value = mstream.Read
           mstream.Close
           rs("anexo_name").Value = Me.Produto & "" & ImgExt
           strfName = Empty
           rs("Data") = Now()
           rs("User") = getUsuarioAtual
       End If

       rs.Update
       
       Set rs = Nothing: Close
       Set Cnn = Nothing: Close
       
       MsgBox ("         Imagem Salva com sucesso!        "), vbOKOnly, "Sistema Interno ELPER"
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Como gravar arquivo.zip no BD? Empty Re: [Resolvido]Como gravar arquivo.zip no BD?

    Mensagem  Noobezinho 31/7/2014, 01:35

    Olá Eloir

    Como teu BD SQL está em um servidor web, não precisa colocar o arquivo.zip dentro dele e sim numa pasta para fazer o download.

    Encontrei um exemplo neste SITE

    Dê uma olhadinha, talvez o ajude.


    Abraços

    Noob


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    Eloirp
    Eloirp
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 229
    Registrado : 15/06/2013

    [Resolvido]Como gravar arquivo.zip no BD? Empty Re: [Resolvido]Como gravar arquivo.zip no BD?

    Mensagem  Eloirp 31/7/2014, 15:11

    Valeu pela ajuda Noobezinho!
    Eu até baixei o modelo, mas aí dá pau na hora de abrir porque meu Access é 2010 e o arquivo deve ser muito antigo, até tentei copiar cada form e módulo, mas ao usar o teste com o meu ftp ele simplesmente não faz nada, nem envia e nem dá erro... então por hora eu consegui fazer assim:

    UPLOAD:
       strRS = "select * from tbl_ReleaseDownload where Status='Ativo'"
       Call Cnn_Open
       Set rs = New ADODB.Recordset
       With rs
           Set .ActiveConnection = Cnn
           .Source = strRS
           .LockType = adLockOptimistic
           .CursorType = adOpenKeyset
           .Open
       End With
       
           strfName = Me.Origem
           mstream.Type = adTypeBinary
           mstream.Open
           mstream.LoadFromFile strfName
           rs("SistemaZip").Value = mstream.Read
           mstream.Close
           rs("anexo_name").Value = Me.Arquivo
           strfName = Empty
           rs("NumRelease") = Me.Numrelease
           rs("Tipo") = Me.Tipo
           rs("OBS") = Me.Info
           rs("Data") = Now()
           rs("User") = getUsuarioAtual

       rs.Update

       Set rs = Nothing: Close
       Set Cnn = Nothing: Close


    DOWNLOAD:
       strRS = "SELECT * FROM tbl_ReleaseDownload WHERE Status='ATIVO'"
       Call Cnn_Open
       Set rs = New ADODB.Recordset
       With rs
           Set .ActiveConnection = Cnn
           .Source = strRS
           .LockType = adLockOptimistic
           .CursorType = adOpenKeyset
           .Open
       End With
       
       If Not IsNull(rs.Fields("SistemaZip").Value) Then
           Dim MyFile
           MyFile = "C:\ElperWeb\temp\" & rs.Fields("Anexo_Name").Value

           mstream.Type = adTypeBinary
           mstream.Open
           mstream.Write rs.Fields("SistemaZip").Value
           mstream.SaveToFile MyFile, adSaveCreateOverWrite
           mstream.Close

           MsgBox "Download do arquivo  " & rs.Fields("Anexo_Name").Value & " em C:\ElperWeb\temp\ realizado com sucesso! ", vbOKOnly, "Sistema Interno ELPER"
       Else
           MsgBox "Download do arquivo NÃO realizado, verifique com administrador do sistema! ", vbOKOnly, "Sistema Interno ELPER"

       End If

       Set rs = Nothing: Close
       Set Cnn = Nothing: Close


    Agora só preciso conseguir descompactar o arquivo.ZIP via VBA...
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Como gravar arquivo.zip no BD? Empty Re: [Resolvido]Como gravar arquivo.zip no BD?

    Mensagem  Noobezinho 31/7/2014, 15:25

    Eloir

    Assim que puder. ou uma olhada naquele exemplo

    Adiantando, como usa o A2010 e tiver API , lembre-se de
    usar o PtrSafe antes delas na declaração.

    Experimente também converter para o A2003 antes de converter diretamente para o A2010.

    Noob


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    Eloirp
    Eloirp
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 229
    Registrado : 15/06/2013

    [Resolvido]Como gravar arquivo.zip no BD? Empty Re: [Resolvido]Como gravar arquivo.zip no BD?

    Mensagem  Eloirp 18/8/2014, 22:10

    Fechando tópico por item resolvido!
    Optei por gravar o front-end dentro da base e quando o usuário abre o FE é verificado se está com o release atual, caso não é abre um utilitário em Access (e fecha FE para poder substituir o arquivo) que faz um bkp do FE atual, baixa o arquivo zip e atualiza o FE, deleta o zip baixado, abre novamente o FE e fecha o utilitário! Acho que ficou muito bom, assim sempre o usuário vai estar com o FE atualizado, embora ele tenha a opção de fazer a atualização mais tarde....
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Como gravar arquivo.zip no BD? Empty Re: [Resolvido]Como gravar arquivo.zip no BD?

    Mensagem  Noobezinho 18/8/2014, 23:03

    Ótimo que conseguiu

    Valeu o retorno

    Boa sorte


    Nb


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.

    Conteúdo patrocinado


    [Resolvido]Como gravar arquivo.zip no BD? Empty Re: [Resolvido]Como gravar arquivo.zip no BD?

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 15:03