Access - Borrar 2 caracteres

 
Vista:

Borrar 2 caracteres

Publicado por Isaac (5 intervenciones) el 30/04/2007 20:05:31
Buenas, resulta que tengo un campo de texto en el que hay nombres, estos no tienen una longitud fija. La cuestión es que en algunos quiero borrarles los dos últimos caracteres, uno es un espacio que por defecto el access me coloca al final del nombre y el otro es siempre o una "C" o una "T". Alguien sabe como hacerlo¿?

Pongo un ejemplo:

Antes Despues

"Juan T " ----> "Juan "

saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Borrar 2 caracteres

Publicado por antperlop (72 intervenciones) el 30/04/2007 22:50:56
Salvo error u omision (la acabo de hacer) creo que con esta función solucionas el problema.

Function ModificarNombre()
Dim GPDB As Database
Dim MIBD As Recordset
Dim AREATRAB As String
Dim I As Integer
Set GPDB = DBEngine.Workspaces(0).Databases(0)
Set MIBD = GesperDB.OpenRecordset("NOMBRE DE LA TABLA")

MIBD.MoveFirst
Do While Not MIBD.EOF
For I = 1 To XX ' XX ES LA LONGITUD DEL CAMPO
If I = XX Then
Exit For
End If
If Mid(MIBD("NOMBRE DEL CAMPO"), I, 2) = " C" Or Mid(MIBD("NOMBRE DEL CAMPO"), I, 2) = " T" Then
AREATRAB = Mid(MIBD("NOMBRE DEL CAMPO"), 1, I - 1)
MIBD.Edit
MIBD("NOMBRE DEL CAMPO") = AREATRAB
MIBD.Update
Exit For
End If
Next I

MIBD.MoveNext
Loop

MIBD.Close
End Function
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Borrar 2 caracteres

Publicado por Isaac (5 intervenciones) el 01/05/2007 00:09:14
Muchisimas gracias Antperlop es un algoritmo cojonudo. Lo he estado mirando detenidamente y esta claro que funcionará a las mil maravillas.

Voy a probarlo, si me da algún problema ya te lo comento.

saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Borrar 2 caracteres

Publicado por Isaac (5 intervenciones) el 01/05/2007 17:32:06
Wenas, pues acabo de probar el codigo que me diste y me dio un error al ejecutarlo. El error es el siguiente:

"Se ha producido el error '424' en tiempo de ejecución:

Se requiere un objeto"

Al dar a depurar me vuelve al codigo y me señala en amarillo una linea, te adjunto el codigo:

Function ModificarNombre()
Dim GPDB As Database
Dim MIBD As Recordset
Dim AREATRAB As String
Dim I As Integer
Set GPDB = DBEngine.Workspaces(0).Databases(0)
Set MIBD = GesperDB.OpenRecordset("Transferibles") <-----Linea en amarillo

MIBD.MoveFirst
Do While Not MIBD.EOF
For I = 1 To 40
If I = 40 Then
Exit For
End If
If Mid(MIBD("F2"), I, 2) = " C" Or Mid(MIBD("F2"), I, 2) = " T" Then
AREATRAB = Mid(MIBD("F2"), 1, I - 1)
MIBD.Edit
MIBD("F2") = AREATRAB
MIBD.Update
Exit For
End If
Next I

MIBD.MoveNext
Loop

MIBD.Close
End Function

Transferibles es el nombre de la tabla donde hay que modificar los nombres, y F2 es el campo donde esta el nombre. Según dice el error parece que no encuentra la tabla, pero la tabla existe y tiene ese nombre e incluso esta llena de datos. Lo único que se me ocurre es que tal vez me falte alguna librería.

Bueno espero tu consejo.

saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Borrar 2 caracteres

Publicado por antperlop (72 intervenciones) el 01/05/2007 19:37:06
Perdón, se me olvido cambiarte esta linea
Set MIBD = GesperDB.OpenRecordset("Transferibles") <-----Linea en amarillo
Set MIBD = GPDB.OpenRecordset("Transferibles")

La segunda es la valida
Saludos desde Cádiz
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar