Bom dia. Estou com esse código para inserir fotos que funciona bem mas não está salvando na pasta que deveria. Sempre salva no diretório do banco de dados mesmo com a pasta "CopiaFotos" definida (linha destacada em vermelho).
Tem como alterar isso salvando na pasta definida?
Seguem os dados da tabela de estoque:
NOME DO CAMPO => TIPO DE DADOS / DESCRIÇÃO
CodEstoque => Numeração automática / Código automático do material.
dataentrada => Data/Hora / A data que o material deu entrada no estoque.
nome_material => Texto / O nome do material disponível.
categoria => Texto / Nome do tipo de material (para caixa de combinação).
qtde => Texto / Quantidade do material. Medidas variadas (gramas, quilos, mililitros, litros, metros, centímetros).
LocalFotos => Texto / O local da foto do material.
Segue o código com o destaque em vermelho:
Private Sub btInsere_Click()
'By ToPBr 2010
'Adicionar foto a registro e copiar arquivo de foto para pasta do bd
Dim strCaminho As String, strPastaInicial As String
Dim CopiaSegura As Object
Dim Caminho As String
Dim fso As Object
Dim cam As String
On Error GoTo TrataErro
If IsNull(Me.nome_material) = True Then
MsgBox "Para inserir a foto será necessário informar o nome do material.", vbInformation, "Aviso"
DoCmd.CancelEvent
Me.nome_material.SetFocus
Else
strPastaInicial = "C:\Documents and Settings\Juliano\Meus documentos\Condominio\EstoqueFotos\LocalFotos"
strCaminho = Buscar(Me.hwnd, "Inserir foto", strPastaInicial, _
"Arquivos gráficos (*.bmp; *.gif; *.jpg)" & vbNullChar & "*.bmp; *.gif; *.jpg")
If Len(strCaminho) > 0 Then
cam = CurrentProject.Path & "\CopiaFotos" ' Caminho do bd mais a pasta Copiafotos
' Faz a cópia do arquivo para a pasta do bd e sub pasta CopiaFotos renomeando para jpg
Set CopiaSegura = CreateObject("Scripting.FileSystemObject")
CopiaSegura.CopyFile strCaminho, cam & Me.CodEstoque.Value & Me.nome_material.Value & ".jpg"
Me.LocalFotos = cam & Me.CodEstoque.Value & Me.nome_material.Value & ".jpg"
Me.img.Picture = Me.LocalFotos
End If
End If ' fim do if que verifica campos Material e CodEstoque.
TrataErro:
If Err.Number = 76 Then
MsgBox "Reveja o material. Nome de arquivo inválido!", vbInformation, "Atenção"
End If
End Sub
Obrigado!
Tem como alterar isso salvando na pasta definida?
Seguem os dados da tabela de estoque:
NOME DO CAMPO => TIPO DE DADOS / DESCRIÇÃO
CodEstoque => Numeração automática / Código automático do material.
dataentrada => Data/Hora / A data que o material deu entrada no estoque.
nome_material => Texto / O nome do material disponível.
categoria => Texto / Nome do tipo de material (para caixa de combinação).
qtde => Texto / Quantidade do material. Medidas variadas (gramas, quilos, mililitros, litros, metros, centímetros).
LocalFotos => Texto / O local da foto do material.
Segue o código com o destaque em vermelho:
Private Sub btInsere_Click()
'By ToPBr 2010
'Adicionar foto a registro e copiar arquivo de foto para pasta do bd
Dim strCaminho As String, strPastaInicial As String
Dim CopiaSegura As Object
Dim Caminho As String
Dim fso As Object
Dim cam As String
On Error GoTo TrataErro
If IsNull(Me.nome_material) = True Then
MsgBox "Para inserir a foto será necessário informar o nome do material.", vbInformation, "Aviso"
DoCmd.CancelEvent
Me.nome_material.SetFocus
Else
strPastaInicial = "C:\Documents and Settings\Juliano\Meus documentos\Condominio\EstoqueFotos\LocalFotos"
strCaminho = Buscar(Me.hwnd, "Inserir foto", strPastaInicial, _
"Arquivos gráficos (*.bmp; *.gif; *.jpg)" & vbNullChar & "*.bmp; *.gif; *.jpg")
If Len(strCaminho) > 0 Then
cam = CurrentProject.Path & "\CopiaFotos" ' Caminho do bd mais a pasta Copiafotos
' Faz a cópia do arquivo para a pasta do bd e sub pasta CopiaFotos renomeando para jpg
Set CopiaSegura = CreateObject("Scripting.FileSystemObject")
CopiaSegura.CopyFile strCaminho, cam & Me.CodEstoque.Value & Me.nome_material.Value & ".jpg"
Me.LocalFotos = cam & Me.CodEstoque.Value & Me.nome_material.Value & ".jpg"
Me.img.Picture = Me.LocalFotos
End If
End If ' fim do if que verifica campos Material e CodEstoque.
TrataErro:
If Err.Number = 76 Then
MsgBox "Reveja o material. Nome de arquivo inválido!", vbInformation, "Atenção"
End If
End Sub
Obrigado!