SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: Jessuss en Viernes 23 de Mayo de 2003, 14:58
-
Hola, estoy haciendo un Buscar-Reemplazar y quiero que cuando encuentra la 1ª ocurrencia se me pare la aplicacion en ese formulario y hasta que no de otra vez a BuscarSiguiente no continue. ¿Cómo lo puedo hacer eso?
Saludos y gracias de antemano.
:question:
-
Hola Jesuss, ¿Podrías dar más datos de cómo lo estas llevando a cabo?
Dependiendo del método podríamos encontrar diferentes soluciones
Gracias
-
Posiblemente la fórmula más sencilla sea:
Dim x as Variant
x = msgbox("Pulse una tecla para continuar")
(Puedes limitar a que sea [Intro] la tecla que haya de pulsarse; entonces harías un bucle del que sólo se saliera cuando KeyAscii = 13)
Saludos y suerte
-
El tema es el siguiente, yo lo que hago es buscar en una BD, la manera es la siguiente:
A través de un formulario yo recojo los datos qe quiero buscar, de manera que cuando se comienza la búsqueda a través de sentencias SQL me localiza varios emplazamientos, con el rdoResultset los voy viendo los registros q llevo, si en uno de ellos necesito reemplazar lo ejecuto y sale del bucle que me he creado pero luego no se como retomar el bucle.
Gracias de antemano.
:question:
-
Yo creo que lo mejor es crear un recordset temporal
Ejemplo:
Dim Rec as New ADODB.Recordset
Dim Sql as String
Sql = "SELECT ..."
' Aquí miras la select para que te devulva todos aquellos registros que contienen en el campo/s deseados la palabra a buscar, haz que te devuelva una clave de la tabla (un campo que identifique univocamente a cada registro)
Rec = Open Sql ' O similar
rec.movefirst
For n=1 to rec.recordcount
Reemplazar (CampoUnico, PalabraBuscada, PalabraReemplazar)
rec.movenext
next n
Ahora te hace falata una rutina de reemplazar
Sub Reemplazar (ID as string, PalabraBuscada as string, PalabraReemplazar as string)
y aquí lanzaría otra Sql contra la base de datos cambiando ese registro
Es una idea, si ves que no manda el código a ver que podemos hacer:suerte: