none
cargar los nombres de los campos de una tabla en visual basic 6.0 RRS feed

  • Pregunta

  • Tengo el siguiente codigo, quiero que los nombres de los campos aparezcan en el combo para manejar mejor mis filtros en vb 6.0

    Haber si alguien me da la solucion

     Private Sub Form_Load()      
        ' ConnectionString
        Adodc1.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=server”
        With Adodc1
            .CommandType = adCmdText
            .RecordSource = "Select * From oficina"
            .Refresh
            Set DataGrid1.DataSource = Adodc1.Recordset                
            .Visible = False
        End With
        With Combo1
            Combo1.Text = "Oficina"
        End With
        Text1 = ""


    maculdes
    jueves, 20 de octubre de 2011 20:20

Todas las respuestas

  • Hola, puedes utilizar algo como esto:

    Private Sub CargaCampos

    Dim Field As ADODB.Field
    Dim Cnn as New ADODB.Connection
    Dim rst As New ADODB.Recordset

    Cnn.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Data    Suource=server”
    Cnn.Open

    rst.CursorLocation = adUseServer
    rst.Open "Oficina", Cnn, adOpenStatic, adLockReadOnly


    Combo1.Clear

    For Each Field In rst.Fields
      
       Combo1.addItem Field.Name
      
    Next

    rst.Close
    Cnn.Close
    Set rst = Nothing
    Set Cnn = Nothing

    End Sub

     

    Saludos, 

    Javier J

    miércoles, 26 de octubre de 2011 9:50
  • Hola, intenta con funcion openschema del objeto conecion(ADO) que devuelve un RecordSet; lo que hace es obtener informacion de la BD como por ejemplo las tablas,campos,indices entre otros.

    usa esta rutina:

     

    Set rs=conecion.openschema(adSchemaColumns,array("TuBD","TuUser","TuTabla"))

    while not rs.eof

    combo.additem rs(0)

    rs.movenext

    end while

    PD:Los parametros del openschema varian entre motores de BD.

    Suerte...

     

    • Propuesto como respuesta Jymmy J. Torres lunes, 7 de noviembre de 2011 6:37
    lunes, 7 de noviembre de 2011 6:36
  • consulta adicional

    tengo un datagrid que muestra la informacion de una tabla, como puedo exportarlo por segmento: ejemplo. el datagrid muestra la informacion de clientes de un pais. (nombre, apellido,telefono,compra,distrito,ciudad)y yo quiero exportarlo segun campo. si pondo distrito que exporte todos los datos pero en libros distintos es decir por cada distrito un libro.


    maculdes
    martes, 15 de noviembre de 2011 17:27
  • Cuando dices exportar te refieres a excel no?

    Bueno tienes que referenciar las librerias de excel a tu proyecto (Microsoft Excel 12.0 Object Library) dependiendo de que version de office tengas la version varia.

    luego creas la aplicacion excel y añades las hojas asi:

    Public Function CrearExcel() As Boolean
    Dim I As Integer
    Dim J As Integer
    Set objExcel = New EXCEL.Application
    objExcel.Visible = False 'lo hacemos invisible
    objExcel.SheetsInNewWorkbook = 1 'decimos cuantas hojas queremos en el nuevo documento
    objExcel.Workbooks.Add ' añadimos el objeto al workbook
    End Function
    

    luego solo usas un bucle con las consultas.

    y asignas valores creando variables para tus filas y columnas lo  mismo como si trabajases con matrices asi :

    objExcel.ActiveSheet.Cells(fila, columna) = rs!NombreCampo
    


    al final para mostrar el libro de excel solo asignas el valor de true a  la propiedad visible asi:

    objExcel.Visible = True
    objExcel.ActiveSheet.PrintPreview
    

    Suerte...

     


    JymmyT
    miércoles, 16 de noviembre de 2011 5:52
  • exacto, pero como hago el bucle con la consulta, ya que quiero que me exporte por libros, es decir si tengo en mi consulta clientes en 10 distritos que me exporte 10 archivos de excel lo cual seria 1 archivo por distrito con sus respectivos clientes.

    este es mi codigo, no se donde hacer el bucle.

    Private Sub exportar_Datagrid(Datagrid As Datagrid, n_Filas As Long)

     

        On Error GoTo Error_Handler

         Dim ObjExcel   As Object

         Dim i           As Integer

         Dim j           As Integer

      

              

        Me.MousePointer = vbHourglass

          

        If n_Filas = 0 Then

            MsgBox "No hay datos para exportar a excel. Se ha indicado 0 en el parámetro Filas ":

            Exit Sub

        Else

              

            ' -- Crear nueva instancia de Excel

            Set ObjExcel = CreateObject("Excel.Application")

            ' -- Agregar nuevo libro

              ObjExcel.Workbooks.Add

            ' -- Referencia a la Hoja activa ( la que añade por defecto Excel )

          ObjExcel.Sheets("Hoja1").Name = "Reporte Cartera"

    ' titulo

    ObjExcel.ActiveSheet.Cells(1, 3) = "REPORTE DE CREDITOS: Según los Días de Atraso Disgregados por Negocios / Línea Base"

        With ObjExcel.ActiveSheet.Cells(1, 3).Font

        .Color = vbBlack

        .Name = "arial"

        .Size = 11

        .Bold = True

    End With

           iCol = 0

            ' --  Recorrer el Datagrid ( Las columnas )

            For i = 0 To DataGrid1.Columns.Count - 1

                If DataGrid1.Columns(i).Visible Then

                    ' -- Incrementar índice de columna

                    iCol = iCol + 1

                    ' -- Obtener el caption de la columna

                    ObjExcel.ActiveSheet.Cells(4, iCol) = DataGrid1.Columns(i).Caption

                    ' -- Recorrer las filas

                    For j = 3 To n_Filas - 1

                        ' -- Asignar el valor a la celda del Excel

                       

                            ObjExcel.ActiveSheet.Cells(j + 2, iCol) = _

                        DataGrid1.Columns(i).CellValue(DataGrid1.GetBookmark(j))

                    Next

              End If

               Next

         

            ' -- Hacer excel visible

            ObjExcel.Visible = True

            ObjExcel.SheetsInNewWorkbook = 1

     

               End If

          

        ' -- Eliminar las variables de objeto excel

        Set ObjExcel = Nothing

          

        ' -- Restaurar cursor

        Me.MousePointer = vbDefault

            

    Exit Sub

     

    ' -- Error

    Error_Handler:

     

        MsgBox Err.Description, vbCritical

        On Error Resume Next

    End Sub

     


    maculdes
    miércoles, 16 de noviembre de 2011 15:23