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]Aceitar mais de uma foto por registro

    avatar
    emacsabino
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 190
    Registrado : 29/08/2011

    [Resolvido]Aceitar mais de uma foto por registro Empty Aceitar mais de uma foto por registro

    Mensagem  emacsabino 10/5/2013, 15:50

    Bom dia amigos do forum, eu estou utilizando um módulo que foi postado aqui no forum para utilização da webcam para capturar fotos, o que acontece é o sistema só tá aceitando uma foto, eu queria que aceitasse pelo menos três fotos, o código que trabalha essa parte, eu estou colocando aqui em baixo, se alguém puder me dá uma luz onde tenho que mexer, agradeço:

    Private Sub CmdCapturaImagem_Click()

    On Error GoTo Err_CmdCapturaImagen_Click
    capEditCopy lwndC
    On Error Resume Next
    Dim strCaminnhoPasta As String

    strCaminnhoPasta = DLookup("[LocalFoto]", "tblConfig")

    Me.OLEPic.SetFocus
    DoCmd.RunCommand acCmdPaste
    DoCmd.RunCommand acCmdSaveRecord

    Dim a() As Byte
    Dim b() As Byte
    Dim x As Long
    Dim lTemp As Long
    Dim sl As String
    Dim blRet As Boolean
    Dim sExt As String
    Dim sFileExist As String

    ' This is an optional param we pass to fGetContentsStream.
    ' It will contain the original file name of the
    ' object when embedded as a Package.
    Dim PackageFileName As String

    Dim iFileHandle As Integer

    ' Load our Structured Storage Library
    ' Let's see if the StrStorage.DLL is available.
    blRet = LoadLib()
    If blRet = False Then
    ' Cannot find StrStorage.dll file
    Exit Sub
    End If

    lTemp = LenB(Me.OLEPic.Value)
    ReDim a(0 To lTemp - 1)
    ReDim b(0 To lTemp - 1)

    ' Copy the contents of the OLE field to our byte array
    a = Me.OLEPic.Value

    ' Make a copy of the original data
    b = a

    blRet = fGetContentsStream(a(), sExt, PackageFileName)
    If blRet = True Then

    If sExt = "pak" Then
    ' If a file was dragged from the Explorer window
    ' it will have a Package object Filename of NULL
    ' inserted by Shell.DLL
    ' Catch and give a temp file name
    If Len(PackageFileName & vbNullString) < 3 Then
    PackageFileName = "OLE-ExtractDraggedFromExplorer" & "." & "bmp"
    End If

    iFileHandle = FreeFile
    sl = "C:\" & PackageFileName
    sFileExist = Dir(sl)
    If Len(sFileExist & vbNullString) > 0 Then
    Kill sl
    End If

    Open sl For Binary Access Write As iFileHandle
    Put iFileHandle, , a
    Close iFileHandle
    Else

    iFileHandle = FreeFile
    sl = "C:\" & sExt & UBound(a) & "." & sExt
    sFileExist = Dir(sl)
    If Len(sFileExist & vbNullString) > 0 Then
    Kill sl
    End If
    Open sl For Binary Access Write As iFileHandle
    Put iFileHandle, , a
    'Put iFileHandle, , Me.FotoMembro
    Close iFileHandle
    End If


    Dim StartRegisteredApp As Boolean

    'StartRegisteredApp = True
    ' Do we open the exported OLE object in the
    ' Application registered for this file type on this system?
    If StartRegisteredApp = True Then
    ' Some apps require vbNullString for the first parameter,
    ' other apps require "open" for the first parameter
    ShellExecuteA Application.hWndAccessApp, vbNullString, sl, vbNullString, vbNullString, 1
    End If ' "open"
    End If

    Dim strCaminho As String, strPastaInicial As String
    Dim CopiaSegura As Object


    ' Faz a cópia do arquivo para a pasta do bd e sub pasta Fotos renomeando para jpg
    Set CopiaSegura = CreateObject("Scripting.FileSystemObject")
    CopiaSegura.CopyFile sl, strCaminnhoPasta & Me.cxNumeroCadastral.Value & " - " & Me.Nome_Cliente.Value & ".jpg"

    Forms.FrmFoto.Foto_Detento = strCaminnhoPasta & Me.cxNumeroCadastral.Value & " - " & Me.Nome_Cliente.Value & ".jpg"
    Forms.FrmFoto.img.Picture = Forms.FrmFoto.Foto_Detento



    Exit_CmdCapturaImagen_Click:
    Exit Sub
    Err_CmdCapturaImagen_Click:
    MsgBox Err.Description
    Resume Exit_CmdCapturaImagen_Click
    End Sub
    avatar
    Convidado
    Convidado


    [Resolvido]Aceitar mais de uma foto por registro Empty Re: [Resolvido]Aceitar mais de uma foto por registro

    Mensagem  Convidado 10/5/2013, 16:39

    Essa questão em nada tem haver com o módulo em si... É uma questão de gravar caminho em uma tabela... O joão Paulo postou no fórum um sistema com mais de uma foto.. De uma olhadinha por la.

    Cumprimentos.
    avatar
    emacsabino
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 190
    Registrado : 29/08/2011

    [Resolvido]Aceitar mais de uma foto por registro Empty Re: [Resolvido]Aceitar mais de uma foto por registro

    Mensagem  emacsabino 10/5/2013, 17:18

    mas é o módulo que cria o caminho, e o que acontece é que o módulo é que faz com que o sistema verifique se já tem uma foto ou não nomeada do mesmo jeito, se existir ele apaga e cria outra. Nesse módulo mesmo tem um Kill, lá na condicional que é justamente o momento em que ele apaga o arquivo
    avatar
    Convidado
    Convidado


    [Resolvido]Aceitar mais de uma foto por registro Empty Re: [Resolvido]Aceitar mais de uma foto por registro

    Mensagem  Convidado 10/5/2013, 17:51

    Este exemplo utiliza modulo semelhante,,, porem antes de excluir o arquivo o copia para uma pasta..

    https://dl.dropboxusercontent.com/u/26441349/Foto.rar


    Cumprimentos.
    avatar
    emacsabino
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 190
    Registrado : 29/08/2011

    [Resolvido]Aceitar mais de uma foto por registro Empty Re: [Resolvido]Aceitar mais de uma foto por registro

    Mensagem  emacsabino 10/5/2013, 19:19

    Amigão, tem como mandar esse exemplo em Access 2003, eu não tenho o 2007 instalado na minha máquina e devido a isso não conseguindo abrir
    avatar
    emacsabino
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 190
    Registrado : 29/08/2011

    [Resolvido]Aceitar mais de uma foto por registro Empty Re: [Resolvido]Aceitar mais de uma foto por registro

    Mensagem  emacsabino 10/5/2013, 19:55

    seria interessante o seguinte, quando ele criasse o arquivo jpg, se já tivesse um lá com o mesmo nome,ele criasse outro colocando no final da renomeação "_01","_02" e ai sucessivamente se fossem tirados mais fotos da mesma pessoa
    avatar
    emacsabino
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 190
    Registrado : 29/08/2011

    [Resolvido]Aceitar mais de uma foto por registro Empty Re: [Resolvido]Aceitar mais de uma foto por registro

    Mensagem  emacsabino 10/5/2013, 21:22

    eu poderia colocar uma condicional na seguinte parte do código:

    Faz a cópia do arquivo para a pasta do bd e sub pasta Fotos renomeando para jpg
    Set CopiaSegura = CreateObject("Scripting.FileSystemObject")
    CopiaSegura.CopyFile sl, strCaminnhoPasta & Me.cxNumeroCadastral.Value & " - " & Me.Nome_Cliente.Value & ".jpg"

    Forms.FrmFoto.Foto_Detento = strCaminnhoPasta & Me.cxNumeroCadastral.Value & " - " & Me.Nome_Cliente.Value & ".jpg"
    Forms.FrmFoto.img.Picture = Forms.FrmFoto.Foto_Detento


    A condicional seria que se o arquivo já existir, ele criasse o arquivo colocando um número 01 no final assim:
    CopiaSegura.CopyFile sl, strCaminnhoPasta & Me.cxNumeroCadastral.Value & " - " & Me.Nome_Cliente.Value & "01.jpg"
    Então queria uma ajudinha de como eu poderia escrever na condicional para ele fazer a verificação lá na pasta se já existe o arquivo com a devida nomeação

    avatar
    Convidado
    Convidado


    [Resolvido]Aceitar mais de uma foto por registro Empty Re: [Resolvido]Aceitar mais de uma foto por registro

    Mensagem  Convidado 10/5/2013, 23:20

    Amigão, infelizmente não dá pra converter o exemplo pois o mesmo utiliza recursos disponiveis apenas no 2007..

    Eis aqui um outro exemplo de cam, ele e auto-instalável para que se instale as dll's
    avatar
    emacsabino
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 190
    Registrado : 29/08/2011

    [Resolvido]Aceitar mais de uma foto por registro Empty Re: [Resolvido]Aceitar mais de uma foto por registro

    Mensagem  emacsabino 10/5/2013, 23:37

    Ok amigo valeu pela ajuda, eu consegui resolver, dei uma estuda sobre a manipulação de arquivos e coloquei desta forma:

    Set CopiaSegura = CreateObject("Scripting.FileSystemObject")
    If Not CopiaSegura.FileExists(strCaminnhoPasta & Me.cxNumeroCadastral.Value & " - " & Me.Nome_Cliente.Value & ".jpg") Then
    CopiaSegura.CopyFile sl, strCaminnhoPasta & Me.cxNumeroCadastral.Value & " - " & Me.Nome_Cliente.Value & ".jpg"
    Forms.FrmFoto.Foto_Detento = strCaminnhoPasta & Me.cxNumeroCadastral.Value & " - " & Me.Nome_Cliente.Value & ".jpg"
    Else
    If Not CopiaSegura.FileExists(strCaminnhoPasta & Me.cxNumeroCadastral.Value & " - " & Me.Nome_Cliente.Value & "01.jpg") Then
    CopiaSegura.CopyFile sl, strCaminnhoPasta & Me.cxNumeroCadastral.Value & " - " & Me.Nome_Cliente.Value & "01.jpg"
    Forms.FrmFoto.Foto_Detento = strCaminnhoPasta & Me.cxNumeroCadastral.Value & " - " & Me.Nome_Cliente.Value & "01.jpg"
    Else
    CopiaSegura.CopyFile sl, strCaminnhoPasta & Me.cxNumeroCadastral.Value & " - " & Me.Nome_Cliente.Value & "02.jpg"
    Forms.FrmFoto.Foto_Detento = strCaminnhoPasta & Me.cxNumeroCadastral.Value & " - " & Me.Nome_Cliente.Value & "02.jpg"
    End If

    End If
    avatar
    Convidado
    Convidado


    [Resolvido]Aceitar mais de uma foto por registro Empty Re: [Resolvido]Aceitar mais de uma foto por registro

    Mensagem  Convidado 11/5/2013, 00:10

    Se resolveu, resolvido está.

    O Fórum agradece o Retorno.

    Conteúdo patrocinado


    [Resolvido]Aceitar mais de uma foto por registro Empty Re: [Resolvido]Aceitar mais de uma foto por registro

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 29/4/2024, 15:06