¿Ayuda con programacion de Vba Excel?

Hola que tal gente de yahoo, tengo un problema de programacion en visual, el caso es el sgte. tengo una tabla que realizo un filtro automatico con una macro, la cual me lanza un resultado de X datos, el punto es que quisiera mostrar en MsgBox la primera celda hallada con ese filttro. gracias.

3 respuestas

Calificación
  • hace 5 años

    Aprende a programar MVVM, C#, WPF. completamente en español.

    https://youtu.be/Yaq95DTVZiY

    Youtube thumbnail

  • aem
    Lv 7
    hace 5 años

    Hola:

    Por lo general, lo que se hace es conectar mediante un objeto de conexion (ADO) VBasic con la base de datos, y la base de datos no hace nada mas que contestar a lo que requiere el programa, el que mediante una consulta SQL pregunta lo que quiere y filtra y el resultado se puede usar luego para cargar un combo, un texto, una grilla o lo que sea.

    Si esta usando VB6, la conexion necesita declararse asi

    En el menú proyecto , haga clic en Agregar referencia.

    En la ficha COM , haga clic en Microsoft ActiveX Data Objects 2.x Libraryy, a continuación, declaramos estas variables publicas y estas funciones...

    Public cn As New ADODB.Connection

    Public rsc1 As New ADODB.Recordset

    luego se abre la conexion con una base de datos, access 2003 en este caso

    Public Sub ini()

    If cn.State = 1 Then cn.Close

    cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Inmobiliaria.mdb;Persist Security Info=False"

    End Sub

    Public Sub fin()

    cn.Close

    End Sub

    luego, en el formulario abris con la consulta sql el recordset (que es commo un buffer ida y vuelta, lleva a la base la consulta y se carga con el resultado de la consulta

    ini '//abro la conexion

    rsc1.Open "Select IdCliente from Cliente order by IdCliente Where Nombre = " & textbox2, cn, adOpenStatic, adLockOptimistic

    y por ultimo, pones el resultado en tu caja de texto

    textbox1=rsc1.IdCliente

    rsc1.close '//cierro el recordset

    fin '//cierro la conexion

    En Visual Basic 2008 y posteriores

    Este artículo muestra diferentes maneras de crear objetos de conexión de ActiveX Data Objects (ADO) y el conjunto de registros en Visual Basic NET. Tenga en cuenta que estos objetos son objetos ADO, no objetos ADO.NET.

    volver al principio

    Crear objetos Recordset y Connection de ADO en Visual Basic. NET

    Cree un nuevo proyecto de aplicación para Windows de Visual Basic. NET. Se creará Form1 de forma predeterminada.

    En el menú proyecto , haga clic en Agregar referencia.

    En la ficha COM , haga clic en Microsoft ActiveX Data Objects 2.x Libraryy, a continuación, haga clic en Seleccionar.

    Agregue el código siguiente a la sección de declaraciones generales de Form1:

    Dim cn As New ADODB.Connection()

    Dim rs As New ADODB.Recordset()

    Dim cnStr As String

    Dim cmd As New ADODB.Command()

    El código siguiente muestra dos métodos diferentes para abrir un objeto Connection de ADO. Cada uno de estos métodos conectarse a una base de datos Pubs de Microsoft SQL Server y se pueden agregar al evento Load de Form1.

    Nota Id. de usuario < nombre de usuario > debe tener permisos para realizar estas operaciones en la base de datos.

    ' Modify this connection string to reflect your server and logon information.

    ' Store the connection to a variable to be used throughout this example.

    cnStr = "Provider=SQLOLEDB;Initial Catalog=Pubs;Data Source=servername;" & _

    "User ID=<username>;Password=<strong password>;"

    ' 1. Connect through the Connectionstring property.

    cn.ConnectionString = cnStr

    cn.Open()

    cn.Close()

    ' 2. Connect through the Connection object's Open method.

    cn.Open(cnStr)

    cn.Close()

    El código siguiente muestra tres formas diferentes para abrir un objeto Recordset de ADO. Cada uno de estos métodos conectarse a una base de datos Pubs de Microsoft SQL Server y se pueden agregar al evento Load de Form1:

    ' 1. Open Recordset through the Execute method of the Connection object.

    cn.Open(cnStr)

    rs = cn.Execute("Select * from Authors")

    rs.Close()

    cn.Close()

    ' 2. Open Recordset through the Command.Execute method.

    cn.Open(cnStr)

    cmd.ActiveConnection = cn

    cmd.CommandText = "Select * from Authors"

    rs = cmd.Execute

    rs.Close()

    cn.Close()

    ' 3. Open Recordset without a Connection object.

    rs.Open(""Select IdCliente from Cliente order by IdCliente Where Nombre = " & textbox2, cnStr)

    textbox1=rs.IdCliente

    rs.Close()

    ' Release the objects to free memory.

    rs = Nothing

    cn = Nothing

    Modifique la conexión de cadena donde sea necesario para conectarse correctamente a su SQL Server.

    Presione la tecla F11 para recorrer el código y observar las diferentes formas de crear un objeto Connection o Recordset .

    Si la consulta ya esta hecha en la base de datos, y se considera que no vá a tener que ser cambiada, se puede usar el nombre de la consulta de la base de datos y traer rsc1(0) ó rs(0) que es la columna inicial que trae el recorset para cargar el texto, como la consultas suelen depender de muchas variantes, y pueden cambiar con las necesidades, es preferible hacerla desde el formulario para no andar manoseando la base de datos.

    Saludos

    Antonio

  • Anónimo
    hace 5 años

    Ni idea dame mejor respuesta hoy por mi mañana por ti :v

    ........|¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨…...‡

    ........| .............Zeldars .....|||"|""\__

    ........|__________________|||_|___|)<

    ........!(@)'(@)""""**!(@)(@)****!(@)

¿Aún tienes preguntas? Pregunta ahora para obtener respuestas.