Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

gil2007

VB+Access

Recommended Posts

Galera, boa noite.Estou chegando com mais uma dúvida. Estou fazendo um sistema para cadastro, cujo banco de dados é o Access e está em conjunto com VB. Consegui fazer as rotinas para inserir dados, gravar no banco e exibi-los navegando entre eles, mas não consigo fazer isso com fotos.Alguém pode me informar uma rotina que abra uma imagem, inclua-a no banco de dados quando clicar no "gravar" e a exiba junto com os dados quando navegar-mos pelo sistema??Abração a todos e desde já valeu!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites
'-------------Ilustrando a resposta do amigo ( Mamão com açucar )'................Carregando na telaOption ExplicitDim StrImagem, StrImagemBanco As StringSub carregaFunc()    Dim rsFunc As ADODB.Recordset    Dim sSQL As String, FileExiste As String    sSQL = "SELECT * FROM BaseFunc WHERE Matricula = " & iCodigoFunc                Set rsFunc = db.Execute(sSQL)                   If Not rsFunc.EOF Then                                         ImgCont.Picture = LoadPicture()                      If Trim(rsFunc!FotoFunc) <> "" Then                         StrImagem = rsFunc!FotoFunc                         FileExiste = Dir(StrImagem)                         If FileExiste <> "" Then  'arquivo da foto existe                            Set ImgCont.Picture = LoadPicture(StrImagem)   'Mostra a foto                         Else                            StrImagem = App.Path & "\Fotos\SemFoto.gif"                         End If                      Else                         StrImagem = App.Path & "\Fotos\SemFoto.gif"                         Set ImgCont.Picture = LoadPicture(StrImagem)   'Mostra a foto                      End IfSet rsFunc = Nothing'-Gravando no banco o caminhoPrivate Sub cmdIncluir_Click()Dim rsFunc As ADODB.RecordsetDim sSQL As StringOn Error GoTo ProcError                                       sSQL = "SELECT * FROM BaseFunc WHERE Matricula = " & iCodigoFunc       Set rsFunc = db.Execute(sSQL)                If Not rsFunc.EOF Then                    If MsgBox("Confirma Alteração ?", vbYesNo + vbQuestion, "Xpto") = vbNo Then                       Exit Sub                    End If                    db.BeginTrans                    sSQL = "UPDATE BaseFunc SET "                    sSQL = sSQL & " NomeFunc = '" & ConverteMaiuscula(txtFunc.Text) & "',"                    sSQL = sSQL & " FotoFunc = '" & StrImagem & "',"                    sSQL = sSQL & " WHERE Matricula = " & iCodigoFunc                Else                    If MsgBox("Confirma Inclusão ?", vbYesNo + vbQuestion, "Xpto") = vbNo Then                       Exit Sub                    End If                    db.BeginTrans                    sSQL = "INSERT INTO BaseFunc ( Matricula,"                                sSQL = sSQL & " NomeFunc,"                                sSQL = sSQL & " FotoFunc,"                                sSQL = sSQL & "VALUES ('"                                sSQL = sSQL & Val(txtMatricula.Text) & "','"                                sSQL = sSQL & ConverteMaiuscula(txtFunc.Text) & "','"                                sSQL = sSQL & StrImagem & "','"                End If                db.Execute (sSQL)                db.CommitTrans                Set rsFunc = NothingProcExit:    Exit Sub'Tratamento de erros............................................ProcError:Select Case Err.Number    Case -2147467259        MsgBox "ERRO: " & Err.Number & vbCrLf & "Descrição: " & Err.Description, vbCritical        Resume ProcExit    Case Else        MsgBox "ERRO: " & Err.Number & vbCrLf & "Descrição: " & Err.Description, vbCritical        Resume ProcExit    End SelectEnd Sub                   End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

'-------------Ilustrando a resposta do amigo ( Mamão com açucar )'................Carregando na telaOption ExplicitDim StrImagem, StrImagemBanco As StringSub carregaFunc()    Dim rsFunc As ADODB.Recordset    Dim sSQL As String, FileExiste As String    sSQL = "SELECT * FROM BaseFunc WHERE Matricula = " & iCodigoFunc                Set rsFunc = db.Execute(sSQL)                   If Not rsFunc.EOF Then                                         ImgCont.Picture = LoadPicture()                      If Trim(rsFunc!FotoFunc) <> "" Then                         StrImagem = rsFunc!FotoFunc                         FileExiste = Dir(StrImagem)                         If FileExiste <> "" Then  'arquivo da foto existe                            Set ImgCont.Picture = LoadPicture(StrImagem)   'Mostra a foto                         Else                            StrImagem = App.Path & "\Fotos\SemFoto.gif"                         End If                      Else                         StrImagem = App.Path & "\Fotos\SemFoto.gif"                         Set ImgCont.Picture = LoadPicture(StrImagem)   'Mostra a foto                      End IfSet rsFunc = Nothing'-Gravando no banco o caminhoPrivate Sub cmdIncluir_Click()Dim rsFunc As ADODB.RecordsetDim sSQL As StringOn Error GoTo ProcError                                       sSQL = "SELECT * FROM BaseFunc WHERE Matricula = " & iCodigoFunc       Set rsFunc = db.Execute(sSQL)                If Not rsFunc.EOF Then                    If MsgBox("Confirma Alteração ?", vbYesNo + vbQuestion, "Xpto") = vbNo Then                       Exit Sub                    End If                    db.BeginTrans                    sSQL = "UPDATE BaseFunc SET "                    sSQL = sSQL & " NomeFunc = '" & ConverteMaiuscula(txtFunc.Text) & "',"                    sSQL = sSQL & " FotoFunc = '" & StrImagem & "',"                    sSQL = sSQL & " WHERE Matricula = " & iCodigoFunc                Else                    If MsgBox("Confirma Inclusão ?", vbYesNo + vbQuestion, "Xpto") = vbNo Then                       Exit Sub                    End If                    db.BeginTrans                    sSQL = "INSERT INTO BaseFunc ( Matricula,"                                sSQL = sSQL & " NomeFunc,"                                sSQL = sSQL & " FotoFunc,"                                sSQL = sSQL & "VALUES ('"                                sSQL = sSQL & Val(txtMatricula.Text) & "','"                                sSQL = sSQL & ConverteMaiuscula(txtFunc.Text) & "','"                                sSQL = sSQL & StrImagem & "','"                End If                db.Execute (sSQL)                db.CommitTrans                Set rsFunc = NothingProcExit:    Exit Sub'Tratamento de erros............................................ProcError:Select Case Err.Number    Case -2147467259        MsgBox "ERRO: " & Err.Number & vbCrLf & "Descrição: " & Err.Description, vbCritical        Resume ProcExit    Case Else        MsgBox "ERRO: " & Err.Number & vbCrLf & "Descrição: " & Err.Description, vbCritical        Resume ProcExit    End SelectEnd Sub                   End Sub
Jatobbá, será que pode me dar uma ajuda quanto ao código que postou. Será que poderia detalhar a parta da inclusão da imagem?? Estou usando a conexão por ADO, então não tenho como simplesmente copiar seu código, preciso adaptá-lo. Na parte para carregar a imagem consegui entender, mas não na hora de incluir.Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.