none
llamar a función de clase RRS feed

  • Pregunta

  • Buenas tardes, estoy intentando llamar a una función que pertenece a una clase desde el botón del form pero no doy con ello.

    Todo lo que pongo me da error.

    Pongo el código haber si me podéis orientar. Muchísimas gracias de antemano.

    Sub PonSaldoFin(ByVal horainicio As String)
            Dim oleCmd3 As OleDb.OleDbCommand
            Dim strUpdate As String

            Try
                'Actualiza el registro con el saldo final correspondiente a la HoraInicio
                'CAMBIOS
                conexion.Open()
                'FIN CAMBIOS
                strUpdate = "UPDATE Partidas SET CreditoFin=" & saldo & " WHERE Hora='" & horainicio & "'"

                oleCmd3 = New OleDb.OleDbCommand(strUpdate, conexion)
                oleCmd3.ExecuteNonQuery()
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
            'Se cierra la conexion
            conexion.Close()
        End Sub

    Esta es la función a la que quisiera llamar desde el botón.


    óscar marés

    jueves, 23 de marzo de 2017 20:36

Respuestas

  • Fíjate en que esa no es una función de clase, sino una función de instancia (no lleva la palabra Shared). Por lo tanto, no puedes llamarla a través de la clase, sino que tienes que llamarla a través de la instancia de la clase. Busca el sitio donde creaste la instancia de esa clase, es decir, donde hiciste

    Dim miVariable As New NombreDeLaClase().

    Y una vez que sepas cuál es la variable que contiene la instancia ("miVariable" en el ejemplo anterior), entonces llama a la función así:

    miVariable.PonSaldoFin("aqui la hora")

    • Propuesto como respuesta Sergio Parra viernes, 24 de marzo de 2017 12:07
    • Marcado como respuesta Joyce_ACModerator jueves, 30 de marzo de 2017 15:01
    jueves, 23 de marzo de 2017 21:26

Todas las respuestas

  • Fíjate en que esa no es una función de clase, sino una función de instancia (no lleva la palabra Shared). Por lo tanto, no puedes llamarla a través de la clase, sino que tienes que llamarla a través de la instancia de la clase. Busca el sitio donde creaste la instancia de esa clase, es decir, donde hiciste

    Dim miVariable As New NombreDeLaClase().

    Y una vez que sepas cuál es la variable que contiene la instancia ("miVariable" en el ejemplo anterior), entonces llama a la función así:

    miVariable.PonSaldoFin("aqui la hora")

    • Propuesto como respuesta Sergio Parra viernes, 24 de marzo de 2017 12:07
    • Marcado como respuesta Joyce_ACModerator jueves, 30 de marzo de 2017 15:01
    jueves, 23 de marzo de 2017 21:26
  • Muchas gracias por tu ayuda! Me pongo a ello.

    óscar marés

    viernes, 24 de marzo de 2017 12:39