none
Ejecutar la instrucción grabada en sql server RRS feed

  • Pregunta

  • Buena tarde.

    Tengo un problema y espero puedan orientarme, tengo un tabla en sql server con la que le he ingresado algunas reglas y en visual basic 6.0 tengo un programa, el caso es que quiero que en visual se lean los datos y al mandar a buscar el registro de la base de datos se ejecute lo que tengo en el campo de Condición y que me devuelva en visual basic un "si" o "NO"  yo con eso el si o el no mandare a a ejecutar el campo Acción, del mismo campo, osea que en una consulta de SQL server me traerá un registro con todas las acciones a cumplir, espero puedan ayudarme.

    Gracias!!

    lunes, 7 de agosto de 2017 21:50

Todas las respuestas

  • Hola

    Debes mostrar el código que has intentado para ayudarte en los problemas que encuentres en el camino, para que podamos guiarte o ayudarte a resolver algún error pero no resolvemos tareas de escuelas o universidad.

    Saludos


    Pedro Ávila
    "El hombre sabio querrá estar siempre con quien sea mejor que él."
    Lima - Perú

    martes, 8 de agosto de 2017 3:33
  • si, disculpa, no es trabajo de escuela, solo que esta parte es algo que nunca he visto y no se como resolverlo tengo esta idea y he tratado de traer los datos así pero no resulta, tendrás alguna ayuda??

    Private Function fntRegla(Nombre As String)
        'esta busqueda traera de la tabla de sql server la regla son los campos nombre es la cadena que se asigna cuando se manda a llamar la accion dentro de codigo
        sSql = "SELECT * FROM Reglaneg WHERE Reg_Cia=" & iEmpresa & _
            " AND Reg_Sta=" & 1 & _
            " AND Reg_Mod='" & "MODULO" & "'" & _
            " AND Reg_Nom='" & Nombre & "'"
        Set rs_Regla = mData.RsSql(sSql)

        If rsNm_Reglaneg.RecordCount > 0 Then
            'aqui trae lo que quiero hacer que accion corresponde a este modulo si es que se cumple la regla
            rs_Regla!Reg_Accion
        End If
    End Function

    martes, 8 de agosto de 2017 18:41
  • Hola

    Lo que logro entender en tu contexto es que deseas consultar en la tabla Reglaneg filtrando por los parámetros que le envías en la condición si que existe una regla.

    Lo que hice fue recrear un escenario lo mas parecido utilizando la base de datos Northwind utilizando la tabla Employees. 

    Lo que hago es ver si existe un registro si existe me da como valor 1 y si no existe me da como valor 0, para eso he creado una Function Existe en el cual le paso el id de Employees como parámetro, la Function me devuelve verdadero o falso por que es de tipo boolean

    Public Function Existe(id As Integer) As Boolean
      On Error GoTo tratarError
      Dim cmd As New Command
      Conectar
      With cmd
        .ActiveConnection = cn
        .CommandText = "SELECT COUNT(*) FROM Employees WHERE EmployeeID=?"
        .CommandType = adCmdText
        .NamedParameters = True
        .Parameters.Append .CreateParameter("@id", adInteger, adParamInput, , id)
        Set rs = .Execute
        Existe = IIf(rs.Fields(0) > 0, True, False)
      End With
      On Error GoTo 0
      Desconectar
      Exit Function
    
    tratarError:
      MsgBox Err.Description
    End Function
    


    En consecuencia lo utilizo de la siguiente manera con una condición, a la function le estoy pasando un parámetro que es el id de un Empleado. 

    If (Existe(1)) Then
        'Resto de código
        'Si es verdadero entrara a esta condición
    Else
        'Resto de código
      End If

    Espero sea lo que necesitas, el ejemplo adaptalo a tus necesidades

    Saludos


    Pedro Ávila
    "El hombre sabio querrá estar siempre con quien sea mejor que él."
    Lima - Perú

    • Propuesto como respuesta Marcelo PF jueves, 10 de agosto de 2017 7:45
    jueves, 10 de agosto de 2017 3:52