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


    [Resolvido]Adicinando valor a um campo na tabela através do Mis e InStr

    avatar
    Convidado
    Convidado


    [Resolvido]Adicinando valor a um campo na tabela através do Mis e InStr Empty Adicinando valor a um campo na tabela através do Mis e InStr

    Mensagem  Convidado 13/7/2011, 12:56

    Bem amigos tenho duas opções..
    a primeira funciona mas a segunda não....

    rst!DataCriacao = Format(Ficheiro.DateCreated, "dd-mm-yyyy") (Esta pega a data criaçõ do arquivo)

    rst!DataCriacao = Mid(Ficheiro, InStr(Ficheiro, "-") - 2, 7) (esta a data contida no nome do arquivo)



    Nome do Arquivo: Estatística_07-2011.pdf


    O há de errado com ela?

    Grato
    avatar
    Convidado
    Convidado


    [Resolvido]Adicinando valor a um campo na tabela através do Mis e InStr Empty Re: [Resolvido]Adicinando valor a um campo na tabela através do Mis e InStr

    Mensagem  Convidado 13/7/2011, 13:05

    Bem amigos descobri o erro.. Quando há um outro arquivo sem a data no nome.. a instrução não reconhece nem um nem o outro...

    InspecaoRelatorio.pdf
    Estatística_07-2011.pdf


    Ela só funciona se todos os arquivos contiverem a data no nome... como adicionar no código algo para que isto não aconteça?

    Código completo:


    Private Sub PreparaPDF()
    Parametros_de_Inicializacao "SysAlert.par"
    Dim fso, Directorio As String, Pasta, Ficheiro
    Dim rst As Recordset
    Dim NomeBD As String
    Dim StrPath As String
    Dim dbBanco As Database

    NomeBD = "SYSALERT_be.accdb"

    'String com path para conexão com a base de dados.
    StrPath = DirBancoDados & NomeBD ' Conecta ao banco de dados
    Set dbBanco = OpenDatabase(StrPath)

    Directorio = DirRelatorios

    Set fso = CreateObject("Scripting.FileSystemObject")
    dbBanco.Execute "delete from PDF IN '" & StrPath & "'"
    Set rst = dbBanco.OpenRecordset("PDF")
    Set Pasta = fso.GetFolder(Directorio)
    For Each Ficheiro In Pasta.Files
    If Ficheiro Like "*.pdf" Then
    rst.AddNew
    rst!IDPDF = Directorio & Ficheiro.Name
    rst!Datacriacao = Mid(Ficheiro, InStr(Ficheiro, "-") - 2, 7)
    'rst!Datacriacao = Format(Ficheiro.DateCreated, "dd-mm-yyyy")
    rst.Update
    End If
    Next
    Me!lstPDF.Requery
    If Me!lstPDF.ListCount = 0 Then
    End If

    Set fso = Nothing: Set Pasta = Nothing
    rst.Close
    Set rst = Nothing
    dbBanco.Close
    Set dbBanco = Nothing
    End Sub
    avatar
    Convidado
    Convidado


    [Resolvido]Adicinando valor a um campo na tabela através do Mis e InStr Empty Re: [Resolvido]Adicinando valor a um campo na tabela através do Mis e InStr

    Mensagem  Convidado 13/7/2011, 13:09

    Eu gostaria de adicionar no campo tanto a data do arquivo (quando estiver no nome)
    ou de criação, caso o mesmo não tenha a data em seu nome..

    Saudações
    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]Adicinando valor a um campo na tabela através do Mis e InStr Empty Re: [Resolvido]Adicinando valor a um campo na tabela através do Mis e InStr

    Mensagem  criquio 13/7/2011, 13:11

    Pode ser usado assim tambem:

    rst!DataCriacao = Mid(Ficheiro, Len(Ficheiro) - 11, 7)


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


    [Resolvido]Adicinando valor a um campo na tabela através do Mis e InStr Empty Re: [Resolvido]Adicinando valor a um campo na tabela através do Mis e InStr

    Mensagem  Convidado 13/7/2011, 13:18

    Entendi amigão e testei.. mas ocorre que poderei ter duas situações..
    1 - Arquivo sem a data no nome (para este pegarei a data de criação no HD)
    2 - Arquivo com a data no nome (para este pegarei a data no nome)


    Creio que isso não vai dar certo...

    Acho que deicharei a pasta apenas para receber os PDF gerados pelo sistema automaticamente,
    ** que é o com a data no nome

    Se o usuario decidir exportar em PDF via visualizador de impressão que o faça em outra pasta, pois ai o usuário tem a liberdade de colocar o nome que quer no arquivo, contanto que não o grave na pasta relatórios, que é onde ficarão os PDF's gerados automaticamente pelo sistema em uma determinada data...


    Entendeu...

    Creio que farei assim amigão..

    Saudações
    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]Adicinando valor a um campo na tabela através do Mis e InStr Empty Re: [Resolvido]Adicinando valor a um campo na tabela através do Mis e InStr

    Mensagem  criquio 13/7/2011, 13:29

    Não testei, mas acredito que possa dar certo se validar para ver se é data ou não, mais ou menos assim:

    If IsDate(Mid(Ficheiro, Len(Ficheiro) - 10, 7)) Then
    MsgBox "Isso é uma data", , ""
    Else
    MsgBox "Essa coisa está longe de ser uma data", , ""
    End If


    No lugar das msgbox, coloque os eventos a serem executados. As msgbox são para fins testais apenas Very Happy


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


    [Resolvido]Adicinando valor a um campo na tabela através do Mis e InStr Empty Re: [Resolvido]Adicinando valor a um campo na tabela através do Mis e InStr

    Mensagem  Convidado 13/7/2011, 14:33

    Entendi.. mas creio não ser necessário.. essa pastsa será so para receber aquivos gerados com a data no nome mesmo...

    Se o usuario quiser exportar um PDF com nome diferente.. ele que procure outro lugar... hehehe

    Grato
    avatar
    Convidado
    Convidado


    [Resolvido]Adicinando valor a um campo na tabela através do Mis e InStr Empty Re: [Resolvido]Adicinando valor a um campo na tabela através do Mis e InStr

    Mensagem  Convidado 13/7/2011, 14:34

    Ops...!! Resolvido

    Conteúdo patrocinado


    [Resolvido]Adicinando valor a um campo na tabela através do Mis e InStr Empty Re: [Resolvido]Adicinando valor a um campo na tabela através do Mis e InStr

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 23/11/2024, 00:23