Autor Tema: Volver a ejecutar una función si devuelve algo.  (Leído 3263 veces)

0 Usuarios y 1 Visitante están viendo este tema.

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Volver a ejecutar una función si devuelve algo.
« en: Noviembre 10, 2013, 09:48:42 pm »
Tengo 2 funciones que quiero volver a ejecutar

1. GenerarCodigo = esto lo que hace es generar 15 letras aleatorias.
2. BuscarRegistro = esto lo que hace es buscar en la tabla si ya existe ese codigo que se genero.

Esta es la función BUSCAR_REGISTRO.

Código: (VB) [Seleccionar]
Public Function BUSCAR_REGISTRO(ByVal strQuery As String, ByVal xCampo As String) As String
                       
    StrSQL = strQuery
    rsADO.Open StrSQL, cnADO, adOpenStatic, adLockOptimistic, adCmdText
   
    Do Until rsADO.EOF
        With rsADO
            BUSCAR_REGISTRO = .Fields(xCampo)
            rsADO.MoveNext
        End With
    Loop
   
End Function


y Acá es lo que quiero volver a ejecutar si BUSCAR_REGISTRO encuentra en la tabla lo que genero GenerarCodigo.

Código: (VB) [Seleccionar]
Private Sub cmdNuevo_Click()
   
    Dim xRegistro As String
    xRegistro = ""
   
    lblFoto.Caption = GenerarCodigo ' GENERA 15 LETRAS ALEATORIAS
   
    xRegistro = BUSCAR_REGISTRO("SELECT * FROM articulos WHERE foto LIKE '%" & lblFoto.Caption & "%'", "foto")
   
    If xRegistro = "" Then
        'Adelante
    Else
        'Volver a generar un nuevo codigo aleatorio y si el que se genero se vuelve a encontrar que vuelva a generar hasta que no se encuentre.
    End If
       
End Sub
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo

Albertomi

  • Gigabyte
  • ****
  • Mensajes: 281
  • Reputación: +153/-0
    • Ver Perfil
Re:Volver a ejecutar una función si devuelve algo.
« Respuesta #1 en: Noviembre 11, 2013, 12:04:10 pm »
Estimado E N T E R




Prueba de está forma




Private Sub cmdNuevo_Click()
    Dim xRegistro As String
   
    xRegistro = "NULL"
    Do While xRegistro <> vbNullString
        lblFoto.Caption = GenerarCodigo ' GENERA 15 LETRAS ALEATORIAS
        xRegistro = BUSCAR_REGISTRO("SELECT * FROM articulos WHERE foto LIKE '%" & lblFoto.Caption & "%'", "foto")
    Loop
End Sub




Saludos, desde algún lugar de Lima - Perú
Saludos, desde algún lugar de Lima-Perú

erbuson

  • Kilobyte
  • **
  • Mensajes: 75
  • Reputación: +11/-1
    • Ver Perfil
Re:Volver a ejecutar una función si devuelve algo.
« Respuesta #2 en: Noviembre 11, 2013, 12:11:39 pm »
¿ Es hoy día de inocentes o entiendo mal la pregunta o doy mal la respuesta ?

Código: (VB) [Seleccionar]
Do
  lblFoto.Caption = GenerarCodigo ' GENERA 15 LETRAS ALEATORIAS
  xRegistro = BUSCAR_REGISTRO("SELECT * FROM articulos WHERE foto LIKE '%" & lblFoto.Caption & "%'", "foto")
Loop While xRegistro <> ""   
« última modificación: Noviembre 11, 2013, 01:37:13 pm por erbuson »

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Re:Volver a ejecutar una función si devuelve algo.
« Respuesta #3 en: Noviembre 11, 2013, 04:37:39 pm »
Perfecto gracias a los 2 por el codigo.

Saludos...
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo