Hola a todos
Aparentemente mi problema puede parecer una tonteria pero yo llevo un par de dias estancao sin saber lo que hacer. Consiste en reemplazar la palabra OBRAS por la palabra PROMOTOR en una sql que genero mediante codigo. De esta forma los datos me los cojerá de la tabla PROMOTOR en vez de la tabla OBRAS.
El problema es que estoy programando en Visual Access 97 y las funciones "Replace" y "Substr" no me las reconoce, creo que esto es debido a que son funciones incluidas en versiones de Visual Basic posteriores al Access 97, es decir, que todavia no existian.
Otro detalle importante es que la palabra OBRAS aparece de media unas 3 veces en cada sql generada
¿Alguien podria ayudarme a modificar esta sql? Estoy desesperado.....
GRACIAS DE ANTEMANO
DAVID
Reemplazar contenido en una cadena
Moderador: Moderadores
Es que no entiendo muy bien lo que quieres hacer.
¿No puedes coger tu código fuente de visual basic y reemplazar obras por constructores usando el meú edición del editor de código y a partir de ahí todas las instrucciónses sql que se generen ya saldrán con constructores en vex de obras?
Explica un poco mejor lo que te pasa
Saludos
¿No puedes coger tu código fuente de visual basic y reemplazar obras por constructores usando el meú edición del editor de código y a partir de ahí todas las instrucciónses sql que se generen ya saldrán con constructores en vex de obras?
Explica un poco mejor lo que te pasa
Saludos
Si dispones de la función INSTR, utilizándola conjuntamente con LEFT, RIGHT y LEN, puedes crearte la función REPLACE con relativa facilidad. También lo puedes hacer con SPLIT y JOIN si están disponibles, utilizando el texto buscado como separador.
INSTR te devuelve la primera posición donde se encuentra una cadena dentro de otra, cero si no figura. Hay que utilizar un bucle por si figurase varias veces. Sería algo tipo:
Puede que haya que hacer algún ajuste agregando o quitando un carácter al definir strTextoInicial y strTextoFinal.
Otro modo, con SPLIT y JOIN sería:
Saludos.
INSTR te devuelve la primera posición donde se encuentra una cadena dentro de otra, cero si no figura. Hay que utilizar un bucle por si figurase varias veces. Sería algo tipo:
Código: Seleccionar todo
Public Function Replace (Byval Cadena as String, Byval Original as String, Byval Actual as String) as String
Dim strTextoInicial as String
Dim strTextoFinal as String
Replace = Cadena
While Instr (Cadena,Original) <> 0
strTextoInicial = Left(Cadena,Instr (Cadena,Original))
strTextoFinal = Right(Cadena,len(Cadena)-Instr (Cadena,Original)-len(Original))
Replace = strTextoInicial & Actual & strTextoFinal
Wend
End Function
Otro modo, con SPLIT y JOIN sería:
Código: Seleccionar todo
Public Function Replace (Byval Cadena as String, Byval Original as String, Byval Actual as String) as String
Dim strCadena() as String
strCadena = Split (Cadena,Original)
Replace = Join(Cadena,Actual)
End Function
Equipo ABCdatos.
http://www.abcdatos.com/
http://www.abcdatos.com/