Bem Amigos... tenho o seguinte código que altera a Letra do Drive contido em uma tabela...
Ele funciona no Front End com tabelas vinculadas....
1 - Criei um BD com o nome de Manutenção.. para que através deste eu possa fazer essas alteracões remotamente, sem precisar abrir o Front ou o Back End...
2 - Apliquei o código e estou tentando adaptar o arquivo de parametros... mas quando fiz a alteração.. ele da qua a variável do bloco ou obejetoo With não Foi definida...
*** vou postar primeiramente o código original depois o que estou modificando...
************ORIGINAL***************
Option Compare Database
Private Sub Comando0_Click()
Dim dbs As Database
Dim Rst As Recordset
Set dbs = CurrentDb
Set Rst = dbs.OpenRecordset("Fotos_Detentos")
Do While Not Rst.EOF
Rst.Edit
If EstaVazio(Rst!CaminhoFotoRosto) = False Then
Rst!CaminhoFotoRosto = "c" & Right(Rst!CaminhoFotoRosto, Len(Rst!CaminhoFotoRosto) - 1)
End If
If EstaVazio(Rst!CaminhoPerfil1) = False Then
Rst!CaminhoPerfil1 = "c" & Right(Rst!CaminhoPerfil1, Len(Rst!CaminhoPerfil1) - 1)
End If
If EstaVazio(Rst!CaminhoPerfil2) = False Then
Rst!CaminhoPerfil2 = "c" & Right(Rst!CaminhoPerfil2, Len(Rst!CaminhoPerfil2) - 1)
End If
If EstaVazio(Rst!CaminhoPerfil3) = False Then
Rst!CaminhoPerfil3 = "c" & Right(Rst!CaminhoPerfil3, Len(Rst!CaminhoPerfil3) - 1)
End If
If EstaVazio(Rst!CaminhoPerfil4) = False Then
Rst!CaminhoPerfil4 = "c" & Right(Rst!CaminhoPerfil4, Len(Rst!CaminhoPerfil4) - 1)
End If
Rst.Update
Rst.MoveNext
Loop
MsgBox "Terminei"
End Sub
Private Function EstaVazio(Texto) As Boolean
EstaVazio = IIf(Not IsNull(Texto) And Len(Trim(Texto)) <> 0 And Not IsEmpty(Texto), False, True)
End Function
*********COM A MODIFICAÇÃO********************
Private Sub Comando0_Click()
Parametros_de_Inicializacao "SysPen.par"
Dim dbs As DAO.Database
Dim Rst As DAO.Recordset
Dim ws As DAO.Workspace
Set dbs = ws.OpenDatabase(DirBancoDados & "\Syspen_Be.accdb", False, False, "MS Access;PWD=senha")
Set ws = DBEngine.Workspaces(0)
Set Rst = dbs.OpenRecordset("Fotos_Detentos")
Do While Not Rst.EOF
Rst.Edit
If EstaVazio(Rst!CaminhoFotoRosto) = False Then
Rst!CaminhoFotoRosto = "c" & Right(Rst!CaminhoFotoRosto, Len(Rst!CaminhoFotoRosto) - 1)
End If
If EstaVazio(Rst!CaminhoPerfil1) = False Then
Rst!CaminhoPerfil1 = "c" & Right(Rst!CaminhoPerfil1, Len(Rst!CaminhoPerfil1) - 1)
End If
If EstaVazio(Rst!CaminhoPerfil2) = False Then
Rst!CaminhoPerfil2 = "c" & Right(Rst!CaminhoPerfil2, Len(Rst!CaminhoPerfil2) - 1)
End If
If EstaVazio(Rst!CaminhoPerfil3) = False Then
Rst!CaminhoPerfil3 = "c" & Right(Rst!CaminhoPerfil3, Len(Rst!CaminhoPerfil3) - 1)
End If
If EstaVazio(Rst!CaminhoPerfil4) = False Then
Rst!CaminhoPerfil4 = "c" & Right(Rst!CaminhoPerfil4, Len(Rst!CaminhoPerfil4) - 1)
End If
Rst.Update
Rst.MoveNext
Loop
MsgBox "Terminei"
End Sub
Se puderem me ajudar fico Grato.
Saudações
Ele funciona no Front End com tabelas vinculadas....
1 - Criei um BD com o nome de Manutenção.. para que através deste eu possa fazer essas alteracões remotamente, sem precisar abrir o Front ou o Back End...
2 - Apliquei o código e estou tentando adaptar o arquivo de parametros... mas quando fiz a alteração.. ele da qua a variável do bloco ou obejetoo With não Foi definida...
*** vou postar primeiramente o código original depois o que estou modificando...
************ORIGINAL***************
Option Compare Database
Private Sub Comando0_Click()
Dim dbs As Database
Dim Rst As Recordset
Set dbs = CurrentDb
Set Rst = dbs.OpenRecordset("Fotos_Detentos")
Do While Not Rst.EOF
Rst.Edit
If EstaVazio(Rst!CaminhoFotoRosto) = False Then
Rst!CaminhoFotoRosto = "c" & Right(Rst!CaminhoFotoRosto, Len(Rst!CaminhoFotoRosto) - 1)
End If
If EstaVazio(Rst!CaminhoPerfil1) = False Then
Rst!CaminhoPerfil1 = "c" & Right(Rst!CaminhoPerfil1, Len(Rst!CaminhoPerfil1) - 1)
End If
If EstaVazio(Rst!CaminhoPerfil2) = False Then
Rst!CaminhoPerfil2 = "c" & Right(Rst!CaminhoPerfil2, Len(Rst!CaminhoPerfil2) - 1)
End If
If EstaVazio(Rst!CaminhoPerfil3) = False Then
Rst!CaminhoPerfil3 = "c" & Right(Rst!CaminhoPerfil3, Len(Rst!CaminhoPerfil3) - 1)
End If
If EstaVazio(Rst!CaminhoPerfil4) = False Then
Rst!CaminhoPerfil4 = "c" & Right(Rst!CaminhoPerfil4, Len(Rst!CaminhoPerfil4) - 1)
End If
Rst.Update
Rst.MoveNext
Loop
MsgBox "Terminei"
End Sub
Private Function EstaVazio(Texto) As Boolean
EstaVazio = IIf(Not IsNull(Texto) And Len(Trim(Texto)) <> 0 And Not IsEmpty(Texto), False, True)
End Function
*********COM A MODIFICAÇÃO********************
Private Sub Comando0_Click()
Parametros_de_Inicializacao "SysPen.par"
Dim dbs As DAO.Database
Dim Rst As DAO.Recordset
Dim ws As DAO.Workspace
Set dbs = ws.OpenDatabase(DirBancoDados & "\Syspen_Be.accdb", False, False, "MS Access;PWD=senha")
Set ws = DBEngine.Workspaces(0)
Set Rst = dbs.OpenRecordset("Fotos_Detentos")
Do While Not Rst.EOF
Rst.Edit
If EstaVazio(Rst!CaminhoFotoRosto) = False Then
Rst!CaminhoFotoRosto = "c" & Right(Rst!CaminhoFotoRosto, Len(Rst!CaminhoFotoRosto) - 1)
End If
If EstaVazio(Rst!CaminhoPerfil1) = False Then
Rst!CaminhoPerfil1 = "c" & Right(Rst!CaminhoPerfil1, Len(Rst!CaminhoPerfil1) - 1)
End If
If EstaVazio(Rst!CaminhoPerfil2) = False Then
Rst!CaminhoPerfil2 = "c" & Right(Rst!CaminhoPerfil2, Len(Rst!CaminhoPerfil2) - 1)
End If
If EstaVazio(Rst!CaminhoPerfil3) = False Then
Rst!CaminhoPerfil3 = "c" & Right(Rst!CaminhoPerfil3, Len(Rst!CaminhoPerfil3) - 1)
End If
If EstaVazio(Rst!CaminhoPerfil4) = False Then
Rst!CaminhoPerfil4 = "c" & Right(Rst!CaminhoPerfil4, Len(Rst!CaminhoPerfil4) - 1)
End If
Rst.Update
Rst.MoveNext
Loop
MsgBox "Terminei"
End Sub
Se puderem me ajudar fico Grato.
Saudações