MaximoAccess

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

Obrigado

Administração do MaximoAccess

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


    Decifrando um código para abrir caixa de localizar arquivo

    julianovv
    julianovv
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 599
    Registrado : 14/12/2010

    Decifrando um código para abrir caixa de localizar arquivo Empty Decifrando um código para abrir caixa de localizar arquivo

    Mensagem  julianovv em 13/2/2014, 13:07

    Bom dia! Tenho um formulário com um campo para foto e estou tentando inserir um botão com um código para abrir a caixa de diálogo Inserir Arquivo mas dá erro de compilação na palavra em negrito abaixo.

    Dim strCaminho As String, strPastaInicial As String
       strPastaInicial = "C:\Meus Documentos"
       strCaminho = Buscar(Me.hwnd, "Inserir foto", strPastaInicial, _
       "Arquivos gráficos (*.bmp; *.gif; *.jpg)" & vbNullChar & "*.bmp; *.gif; *.jpg")
       If Len(strCaminho) > 0 Then
           Me.LocalFoto = strCaminho
           Me.foto.Picture = Me.LocalFoto
       End If

    End Sub

    O erro é "Erro de compilação. 'Sub' ou 'Function' não definida.

    Obrigado!
     Rolling Eyes


    .................................................................................
    Juliano

    Uso o Access 2007 no XP Professional SP3
    Pentil 4 Duo Core 2 - 3.2 ghz - HD 250 GB ATA II - Placa Asus P5QPL-AM - 2 GB de memória DDR2 667 mhz Kingston - GForce GT220 - LG Led LCD 20M35PD - Impressora Epson T33 - Scanner Bright.
    Smile
    avatar
    Pina
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 354
    Registrado : 19/02/2011

    Decifrando um código para abrir caixa de localizar arquivo Empty Re: Decifrando um código para abrir caixa de localizar arquivo

    Mensagem  Pina em 13/2/2014, 13:21

    Bom dia juluano
    Eu faço assim:
    Dim strCaminho As String, strPastaInicial As String
    strPastaInicial = "C:\"
    strCaminho = Buscar(Me.hwnd, "Inserir foto", strPastaInicial, _
    "Fotos dos Alunos (*.bmp; *.gif; *.jpg)" & vbNullChar & "*.bmp; *.gif; *.jpg")
    If Len(strCaminho) > 0 Then
    Me.LocalFoto = strCaminho
    Me.Foto.Picture = Me.LocalFoto
    Me.Foto.Visible = True

    End If
    End Sub
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10558
    Registrado : 04/11/2009

    Decifrando um código para abrir caixa de localizar arquivo Empty Re: Decifrando um código para abrir caixa de localizar arquivo

    Mensagem  JPaulo em 13/2/2014, 13:45

    "Buscar" é uma função, onde está o seu código dessa função ?

    Tudo isto tem de estar dentro de um modulo.


    Código:
    Public Type OPENFILENAME
    lStructSize As Long
    hwndOwner As Long
    hInstance As Long
    lpstrFilter As String
    lpstrCustomFilter As String
    nMaxCustomFilter As Long
    nFilterIndex As Long
    lpstrFile As String
    nMaxFile As Long
    lpstrFileTitle As String
    nMaxFileTitle As Long
    lpstrInitialDir As String
    lpstrTitle As String
    flags As Long
    nFileOffset As Integer
    nFileExtension As Integer
    lpstrDefExt As String
    lCustData As Long
    lpfnHook As Long
    lpTemplateName As String
    End Type

    Public Const OFN_FILEMUSTEXIST = &H1000
    Public Const OFN_HIDEREADONLY = &H4
    Public Const OFN_PATHMUSTEXIST = &H800
    Const cTAMANHO = 11
    Public Declare Function GetOpenFileName Lib "comdlg32.dll" _
        Alias "GetOpenFileNameA" (lpofn As OPENFILENAME) As Long
    Public Declare Function GetPrivateProfileString Lib "kernel32" Alias _
        "GetPrivateProfileStringA" (ByVal lpApplicationName As String, _
        ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, _
        ByVal nSize As Long, ByVal lpFileName As String) As Long
    Public Declare Function WritePrivateProfileString Lib "kernel32" Alias _
        "WritePrivateProfileStringA" (ByVal lpApplicationName As String, _
        ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
    Public Declare Function FindWindow Lib "User32" Alias _
        "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As Long) As Long
    Public Declare Function SendMessage Lib "User32" Alias _
        "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, _
        ByVal wParam As Long, ByVal lParam As Long) As Long

    Public Function Buscar(lngHwnd As Long, strTítulo As String, strPastaInicial As String, strFiltro As String) As String
        
        Dim filebox As OPENFILENAME
        Dim result As Long
        With filebox
            .lStructSize = Len(filebox)
            .hwndOwner = lngHwnd
            .hInstance = 0
            .lpstrFilter = strFiltro & vbNullChar & _
                "Todos os Arquivos (*.*)" & vbNullChar & "*.*" & vbNullChar & vbNullChar
            .nMaxCustomFilter = 0
            .nFilterIndex = 1
            .lpstrFile = Space(256) & vbNullChar
            .nMaxFile = Len(.lpstrFile)
            .lpstrFileTitle = Space(256) & vbNullChar
            .nMaxFileTitle = Len(.lpstrFileTitle)
            .lpstrInitialDir = strPastaInicial & vbNullChar
            .lpstrTitle = strTítulo & vbNullChar
            .flags = OFN_PATHMUSTEXIST Or OFN_FILEMUSTEXIST Or OFN_HIDEREADONLY
            .nFileOffset = 0
            .nFileExtension = 0
            .lCustData = 0
            .lpfnHook = 0
        End With

        result = GetOpenFileName(filebox)
        If result <> 0 Then
            Buscar = Left(filebox.lpstrFile, InStr(filebox.lpstrFile, vbNullChar) - 1)
        Else
            Buscar = ""
        End If

    End Function


    Veja este meu exemplo;

    http://dl.dropboxusercontent.com/u/771097/6_fotos.rar


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    Decifrando um código para abrir caixa de localizar arquivo Folder_announce_new Utilize o Sistema de Busca do Fórum...
    Decifrando um código para abrir caixa de localizar arquivo Folder_announce_new 102 Códigos VBA Gratuitos...
    Decifrando um código para abrir caixa de localizar arquivo Folder_announce_new Instruções SQL como utilizar...
    julianovv
    julianovv
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 599
    Registrado : 14/12/2010

    Decifrando um código para abrir caixa de localizar arquivo Empty Res: Decifrando um código para abrir caixa de localizar arquivo

    Mensagem  julianovv em 17/2/2014, 12:38

    Obrigado JPaulo, a caixa de diálogo agora abriu e pude localizar a foto mas deu um novo erro no botão, no evento ao clicar.

    Private Sub Comando132_Click()
    Dim strCaminho As String, strPastaInicial As String
      strPastaInicial = "C:\Meus Documentos"
      strCaminho = Buscar(Me.hwnd, "Inserir foto", strPastaInicial, _
      "Arquivos gráficos (*.bmp; *.gif; *.jpg)" & vbNullChar & "*.bmp; *.gif; *.jpg")
      If Len(strCaminho) > 0 Then
          Me.foto = strCaminho
          Me.foto.Picture = Me.foto
      End If

    End Sub

    Essa linha em negrito indica uma função ou o nome do campo da foto?
    Mensagem: "Erro em tempo de execução '438'. O objeto não aceita esta propriedade ou método".


    Obrigado!


    Última edição por julianovv em 17/2/2014, 12:43, editado 1 vez(es)


    .................................................................................
    Juliano

    Uso o Access 2007 no XP Professional SP3
    Pentil 4 Duo Core 2 - 3.2 ghz - HD 250 GB ATA II - Placa Asus P5QPL-AM - 2 GB de memória DDR2 667 mhz Kingston - GForce GT220 - LG Led LCD 20M35PD - Impressora Epson T33 - Scanner Bright.
    Smile
    julianovv
    julianovv
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 599
    Registrado : 14/12/2010

    Decifrando um código para abrir caixa de localizar arquivo Empty Res: Decifrando um código para abrir caixa de localizar arquivo

    Mensagem  julianovv em 17/2/2014, 12:42

    Obrigado Pina, fiz um teste e deu o mesmo erro no código como mostrei ao JPaulo.



    .................................................................................
    Juliano

    Uso o Access 2007 no XP Professional SP3
    Pentil 4 Duo Core 2 - 3.2 ghz - HD 250 GB ATA II - Placa Asus P5QPL-AM - 2 GB de memória DDR2 667 mhz Kingston - GForce GT220 - LG Led LCD 20M35PD - Impressora Epson T33 - Scanner Bright.
    Smile
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10558
    Registrado : 04/11/2009

    Decifrando um código para abrir caixa de localizar arquivo Empty Re: Decifrando um código para abrir caixa de localizar arquivo

    Mensagem  JPaulo em 17/2/2014, 13:38

    Vamos lá que é o simples;

    Me.foto é um campo texto, que deve estar na tabela para receber o caminho da foto.
    Me.xxxx.Picture é um controle de imagem para receber a foto.

    Veja este exemplo e vai entender o que falo.

    https://dl.dropboxusercontent.com/u/771097/6_fotos.rar


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    Decifrando um código para abrir caixa de localizar arquivo Folder_announce_new Utilize o Sistema de Busca do Fórum...
    Decifrando um código para abrir caixa de localizar arquivo Folder_announce_new 102 Códigos VBA Gratuitos...
    Decifrando um código para abrir caixa de localizar arquivo Folder_announce_new Instruções SQL como utilizar...
    julianovv
    julianovv
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 599
    Registrado : 14/12/2010

    Decifrando um código para abrir caixa de localizar arquivo Empty Res: Decifrando um código para abrir caixa de localizar arquivo

    Mensagem  julianovv em 17/2/2014, 14:27

    Obrigado! Não consegui abrir o exemplo; deu erro na abertura do link. Tento em casa a noite.
    A princípio ainda não deu certo. Ele continua dando a mensagem de erro em tempo de execução.
    O campo 'foto' tem que ser formato texto?
    Fiz essa alteração, era objeto OLE e mudei para texto. Mesmo asim não deu.

     Wink 



    .................................................................................
    Juliano

    Uso o Access 2007 no XP Professional SP3
    Pentil 4 Duo Core 2 - 3.2 ghz - HD 250 GB ATA II - Placa Asus P5QPL-AM - 2 GB de memória DDR2 667 mhz Kingston - GForce GT220 - LG Led LCD 20M35PD - Impressora Epson T33 - Scanner Bright.
    Smile
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10558
    Registrado : 04/11/2009

    Decifrando um código para abrir caixa de localizar arquivo Empty Re: Decifrando um código para abrir caixa de localizar arquivo

    Mensagem  JPaulo em 17/2/2014, 14:37

    O amigo está a meter as mãos pelos pés, rsrsrsrsrs

    Quer ou pode anexar aqui parte do seu banco com esse suposto problema ?


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    Decifrando um código para abrir caixa de localizar arquivo Folder_announce_new Utilize o Sistema de Busca do Fórum...
    Decifrando um código para abrir caixa de localizar arquivo Folder_announce_new 102 Códigos VBA Gratuitos...
    Decifrando um código para abrir caixa de localizar arquivo Folder_announce_new Instruções SQL como utilizar...
    avatar
    Pina
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 354
    Registrado : 19/02/2011

    Decifrando um código para abrir caixa de localizar arquivo Empty Decifrando um código para abrir caixa de localizar arquivo.

    Mensagem  Pina em 17/2/2014, 16:39

    Bom dia juliano
    Envio um ex de como eu faço.
    Anexos
    Decifrando um código para abrir caixa de localizar arquivo AttachmentFoto.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (24 Kb) Baixado 18 vez(es)
    julianovv
    julianovv
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 599
    Registrado : 14/12/2010

    Decifrando um código para abrir caixa de localizar arquivo Empty Res: Decifrando um código para abrir caixa de localizar arquivo

    Mensagem  julianovv em 19/2/2014, 12:24

    Bom dia JPaulo, na verdade minha experiência com vba é muito pequena; então quando me deparo com algum código maior que minha experiência tenho que pedir ajuda aos colegas. Rolling Eyes 
    Tenho um sisteminha de controle de vendas de bolsas e sapatos e nele constam as fotos. Essa caixa de diálogo seria necessária para inserir a foto.
    O exemplo ainda não peguei mas logo mando um retorno.
    Obrigado!
     Smile


    .................................................................................
    Juliano

    Uso o Access 2007 no XP Professional SP3
    Pentil 4 Duo Core 2 - 3.2 ghz - HD 250 GB ATA II - Placa Asus P5QPL-AM - 2 GB de memória DDR2 667 mhz Kingston - GForce GT220 - LG Led LCD 20M35PD - Impressora Epson T33 - Scanner Bright.
    Smile
    julianovv
    julianovv
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 599
    Registrado : 14/12/2010

    Decifrando um código para abrir caixa de localizar arquivo Empty Res: Decifrando um código para abrir caixa de localizar arquivo

    Mensagem  julianovv em 19/2/2014, 19:28

    Prezado JPaulo, tentei baixar seu exemplo pelo link que enviou mas veio um arquivo exe com um bocado de vírus junto...rsrs Meu Avast acusou ameaça de vírus e conseguiu desconfigurar meu Google Chrome. É possível enviar somente o arquivo rar por aqui?

     Wink 


    .................................................................................
    Juliano

    Uso o Access 2007 no XP Professional SP3
    Pentil 4 Duo Core 2 - 3.2 ghz - HD 250 GB ATA II - Placa Asus P5QPL-AM - 2 GB de memória DDR2 667 mhz Kingston - GForce GT220 - LG Led LCD 20M35PD - Impressora Epson T33 - Scanner Bright.
    Smile
    avatar
    Pina
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 354
    Registrado : 19/02/2011

    Decifrando um código para abrir caixa de localizar arquivo Empty Decifrando um código para abrir caixa de localizar arquivo.

    Mensagem  Pina em 19/2/2014, 19:41

    Boas juliano
    Não consegue resolver com o ex. que lhe enviei?
    Pina
    julianovv
    julianovv
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 599
    Registrado : 14/12/2010

    Decifrando um código para abrir caixa de localizar arquivo Empty Res: Decifrando um código para abrir caixa de localizar arquivo

    Mensagem  julianovv em 19/2/2014, 20:04

    Sim, estou testando ele. Logo logo mando um retorno!
    Obrigado!

     Wink 


    .................................................................................
    Juliano

    Uso o Access 2007 no XP Professional SP3
    Pentil 4 Duo Core 2 - 3.2 ghz - HD 250 GB ATA II - Placa Asus P5QPL-AM - 2 GB de memória DDR2 667 mhz Kingston - GForce GT220 - LG Led LCD 20M35PD - Impressora Epson T33 - Scanner Bright.
    Smile
    julianovv
    julianovv
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 599
    Registrado : 14/12/2010

    Decifrando um código para abrir caixa de localizar arquivo Empty Res: Decifrando um código para abrir caixa de localizar arquivo

    Mensagem  julianovv em 19/2/2014, 21:46

    Pina, está dando certo. Fiz uma adaptação para o meu sistema e está tudo ok.
    Só mais uma dúvida:
    Preciso criar relatórios que incluem essas fotos. Como insiro elas?
    Obrigado!

     Wink 


    .................................................................................
    Juliano

    Uso o Access 2007 no XP Professional SP3
    Pentil 4 Duo Core 2 - 3.2 ghz - HD 250 GB ATA II - Placa Asus P5QPL-AM - 2 GB de memória DDR2 667 mhz Kingston - GForce GT220 - LG Led LCD 20M35PD - Impressora Epson T33 - Scanner Bright.
    Smile
    avatar
    Pina
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 354
    Registrado : 19/02/2011

    Decifrando um código para abrir caixa de localizar arquivo Empty Decifrando um código para abrir caixa de localizar arquivo.

    Mensagem  Pina em 19/2/2014, 22:15

    Boas juliano
    No ex: que enviei já ia um relatório
    Pina
    Dilson
    Dilson
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    Decifrando um código para abrir caixa de localizar arquivo Empty Re: Decifrando um código para abrir caixa de localizar arquivo

    Mensagem  Dilson em 19/2/2014, 22:21

    Olá,

    Para promover a qualidade no conteúdo do fórum, aconselho abrir outro tópico na sala relatórios para tratar dessa nova dúvida.

    Editado:
    Se no exemplo postado pelo Pina tem a solução, então permaneça aqui a discussão.

    Marque o resolvido ao final.
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10558
    Registrado : 04/11/2009

    Decifrando um código para abrir caixa de localizar arquivo Empty Re: Decifrando um código para abrir caixa de localizar arquivo

    Mensagem  JPaulo em 20/2/2014, 09:28

    Ola;

    Juliano, por vezes temos de saír da sombra da bananeira e ir à descoberta... Laughing 

    Na mensagem Nº6, o exemplo que lhe passei tem relatorio com fotos.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    Decifrando um código para abrir caixa de localizar arquivo Folder_announce_new Utilize o Sistema de Busca do Fórum...
    Decifrando um código para abrir caixa de localizar arquivo Folder_announce_new 102 Códigos VBA Gratuitos...
    Decifrando um código para abrir caixa de localizar arquivo Folder_announce_new Instruções SQL como utilizar...
    julianovv
    julianovv
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 599
    Registrado : 14/12/2010

    Decifrando um código para abrir caixa de localizar arquivo Empty Res: Decifrando um código para abrir caixa de localizar arquivo

    Mensagem  julianovv em 20/2/2014, 13:15

    Bom dia JPaulo, sair da sombra da bananeira até que é fácil; o problema é quando não encontramos as respostas na hora que precisamos e temos de recorrer à ela para resolver mais rápido..rsrs.
    Da minha parte pesquiso muito. Todas as idéias são analisadas e algumas adaptadas mas cada caso é um caso e é preciso recorrer ao fórum para tentar resolver.

     Wink 


    .................................................................................
    Juliano

    Uso o Access 2007 no XP Professional SP3
    Pentil 4 Duo Core 2 - 3.2 ghz - HD 250 GB ATA II - Placa Asus P5QPL-AM - 2 GB de memória DDR2 667 mhz Kingston - GForce GT220 - LG Led LCD 20M35PD - Impressora Epson T33 - Scanner Bright.
    Smile

    Conteúdo patrocinado

    Decifrando um código para abrir caixa de localizar arquivo Empty Re: Decifrando um código para abrir caixa de localizar arquivo

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 18/6/2019, 14:06