Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Agregar datos de una consulta a Combo

Estas en el tema de Agregar datos de una consulta a Combo en el foro de Visual Basic clásico en Foros del Web. Que tal como estan, bueno les deseo un buen comienzo de año, y de nuevo aqui con una consulta, miren tengo una consulta de una ...
  #1 (permalink)  
Antiguo 04/01/2009, 19:54
 
Fecha de Ingreso: abril-2008
Mensajes: 281
Antigüedad: 16 años
Puntos: 1
Sonrisa Agregar datos de una consulta a Combo

Que tal como estan, bueno les deseo un buen comienzo de año, y de nuevo aqui con una consulta, miren tengo una consulta de una tabla la cual tengo varios registros los cuales se identifican por medio de un numero q identifico como id1, asi q estoy realizando la siguiente consulta

Código:
Private Sub DatosPotencias()
    Dim potencias As ADODB.Recordset
    Dim sql As String, cadena As String, cadena1 As String
        cadena = id1.Text
    Call VisualizarPotencias
        sql = "SELECT * FROM tblpotencias WHERE id1 Like '" & cadena & "' ORDER BY id1"
    Set potencias = New ADODB.Recordset
        potencias.Open sql, BD, adOpenKeyset, adLockOptimistic
    If potencias.BOF = True Or potencias.EOF = True Then
    Exit Sub
    End If
End Sub
pero lo que trato de realizar es que si encuentr 3 registros o 10 registros, los q sean me los muestre en un combo........ de antemano muchas gracias por las respuestas

saludos
  #2 (permalink)  
Antiguo 04/01/2009, 21:04
Avatar de culd  
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 20 años, 5 meses
Puntos: 19
Respuesta: Agregar datos de una consulta a Combo

Código:
Private Sub DatosPotencias()
    Dim potencias As ADODB.Recordset
    Dim sql As String, cadena As String, cadena1 As String
        cadena = id1.Text
    Call VisualizarPotencias
        sql = "SELECT * FROM tblpotencias WHERE id1 Like '" & cadena & "' ORDER BY id1"
    Set potencias = New ADODB.Recordset
        potencias.Open sql, BD, adOpenKeyset, adLockOptimistic
    If potencias.BOF = False Or potencias.EOF = False Then
         potencias.MoveFirst         
         Do While potencias.EOF = False
               combo1.additem potencias("ELCAMPO")
               potencias.MoveNext
         Loop
    End If
End Sub
Lo que hace es si hay registros (osea si no es el fin del archivo) recorre con un mientras todos los registros y va abregando al combo... ahi donde dice ELCAMPO ingresas el campo que queres que cargue...
  #3 (permalink)  
Antiguo 04/01/2009, 21:05
 
Fecha de Ingreso: enero-2008
Ubicación: Lima - Perú
Mensajes: 1.127
Antigüedad: 16 años, 3 meses
Puntos: 10
Respuesta: Agregar datos de una consulta a Combo

Que tal tio me parece que tambien se puede hacer en un combo simple no lo he probado pero yo cargo los datos de una tabla en un Datacombo de esta manera

Código:
Dim rsCliente As Recordset

Public Function LlenarCliente()
 Set rsCliente = New Recordset
 rsCliente.Open "SELECT * FROM cliente", dbConex, adOpenStatic, adLockOptimistic
'********************
 dtcCliente.BoundColumn = "CodClie"
 dtcCliente.ListField = "NomClie"
 Set dtcCliente.RowSource = rsCliente
'*******************
End Function
El combo simple no tiene esas propiedades
El componente del datacombo es Micrisoft DataList control 6.0
  #4 (permalink)  
Antiguo 06/01/2009, 07:53
 
Fecha de Ingreso: abril-2008
Mensajes: 281
Antigüedad: 16 años
Puntos: 1
Respuesta: Agregar datos de una consulta a Combo

Cita:
Iniciado por franko1809 Ver Mensaje
Que tal tio me parece que tambien se puede hacer en un combo simple no lo he probado pero yo cargo los datos de una tabla en un Datacombo de esta manera

Código:
Dim rsCliente As Recordset

Public Function LlenarCliente()
 Set rsCliente = New Recordset
 rsCliente.Open "SELECT * FROM cliente", dbConex, adOpenStatic, adLockOptimistic
'********************
 dtcCliente.BoundColumn = "CodClie"
 dtcCliente.ListField = "NomClie"
 Set dtcCliente.RowSource = rsCliente
'*******************
End Function
El combo simple no tiene esas propiedades
El componente del datacombo es Micrisoft DataList control 6.0


Que tal gracias por la ayuda, ya configure el codigo de acuerdo a mis necesidades, solo que no me muestra ninguna informacion mi codigo quedo de la siguiente manera

Cita:
Public Function LlenarCliente()
Set rsCliente = New Recordset
rsCliente.Open "SELECT * FROM tblpotencia", BD, adOpenStatic, adLockOptimistic
DataCombo1.BoundColumn = "potencia"
DataCombo1.ListField = "id1"
Set DataCombo1.RowSource = rsCliente
End Function
Saludos y gracias por la ayuda

Última edición por spiderman78; 06/01/2009 a las 08:54
  #5 (permalink)  
Antiguo 06/01/2009, 09:00
 
Fecha de Ingreso: abril-2008
Mensajes: 281
Antigüedad: 16 años
Puntos: 1
Respuesta: Agregar datos de una consulta a Combo

Cita:
Iniciado por culd Ver Mensaje
Código:
Private Sub DatosPotencias()
    Dim potencias As ADODB.Recordset
    Dim sql As String, cadena As String, cadena1 As String
        cadena = id1.Text
    Call VisualizarPotencias
        sql = "SELECT * FROM tblpotencias WHERE id1 Like '" & cadena & "' ORDER BY id1"
    Set potencias = New ADODB.Recordset
        potencias.Open sql, BD, adOpenKeyset, adLockOptimistic
    If potencias.BOF = False Or potencias.EOF = False Then
         potencias.MoveFirst         
         Do While potencias.EOF = False
               combo1.additem potencias("ELCAMPO")
               potencias.MoveNext
         Loop
    End If
End Sub
Lo que hace es si hay registros (osea si no es el fin del archivo) recorre con un mientras todos los registros y va abregando al combo... ahi donde dice ELCAMPO ingresas el campo que queres que cargue...
Que tal gracias por la ayuda ya probe el codigo, pero me marca un error el cual me dice q el operador obdc no admites las propiedades solicitadas, y me lo marca en esta linea

Cita:
Private Sub DatosPotencias()
Dim potencias As ADODB.Recordset
Dim sql As String, cadena As String, cadena1 As String
cadena = id1.Text
Call VisualizarPotencias
sql = "SELECT * FROM tblpotencias WHERE id1 Like '" & cadena & "' ORDER BY id1"
Set potencias = New ADODB.Recordset
potencias.Open sql, BD, adOpenKeyset, adLockOptimistic--------------> error
If potencias.BOF = False Or potencias.EOF = False Then
potencias.MoveFirst
Do While potencias.EOF = False
Combo2.AddItem potencias("potencia")
potencias.MoveNext
Loop
End If
End Sub
Saludos
  #6 (permalink)  
Antiguo 06/01/2009, 10:18
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 2 meses
Puntos: 37
Respuesta: Agregar datos de una consulta a Combo

Hola,
si el campo id1 es de tipo texto:

sql = "SELECT * FROM tblpotencias WHERE id1 = '" & cadena & "' ORDER BY id1"

si es numérico:

sql = "SELECT * FROM tblpotencias WHERE id1 = " & cadena & " ORDER BY id1"

El operador Like se suele utilizar para búsquedas por aproximación, para búsquedas exactas es mas efectivo el signo igual.

  #7 (permalink)  
Antiguo 06/01/2009, 10:58
 
Fecha de Ingreso: enero-2008
Ubicación: Lima - Perú
Mensajes: 1.127
Antigüedad: 16 años, 3 meses
Puntos: 10
Respuesta: Agregar datos de una consulta a Combo

Cita:
Iniciado por spiderman78 Ver Mensaje
Que tal gracias por la ayuda, ya configure el codigo de acuerdo a mis necesidades, solo que no me muestra ninguna informacion
Llamaste a la funcion al momento de cargar el form

Código:
Private Sub Form_Load()
 LlenarCliente
End Sub
  #8 (permalink)  
Antiguo 06/01/2009, 15:27
 
Fecha de Ingreso: abril-2008
Mensajes: 281
Antigüedad: 16 años
Puntos: 1
Respuesta: Agregar datos de una consulta a Combo

Cita:
Iniciado por franko1809 Ver Mensaje
Llamaste a la funcion al momento de cargar el form

Código:
Private Sub Form_Load()
 LlenarCliente
End Sub
Claro si esta llamda la funcion no presisamente al abrir formulario pero si esta llamada....... gracias

saludos
  #9 (permalink)  
Antiguo 06/01/2009, 15:29
 
Fecha de Ingreso: abril-2008
Mensajes: 281
Antigüedad: 16 años
Puntos: 1
Respuesta: Agregar datos de una consulta a Combo

Cita:
Iniciado por Avellaneda Ver Mensaje
Hola,
si el campo id1 es de tipo texto:

sql = "SELECT * FROM tblpotencias WHERE id1 = '" & cadena & "' ORDER BY id1"

si es numérico:

sql = "SELECT * FROM tblpotencias WHERE id1 = " & cadena & " ORDER BY id1"

El operador Like se suele utilizar para búsquedas por aproximación, para búsquedas exactas es mas efectivo el signo igual.

Que tal gracias por la ayuda ya modifique la linea pero me sigue apareciendo el mismo error en la misma linea

saludos
  #10 (permalink)  
Antiguo 06/01/2009, 17:03
 
Fecha de Ingreso: enero-2008
Ubicación: Lima - Perú
Mensajes: 1.127
Antigüedad: 16 años, 3 meses
Puntos: 10
Respuesta: Agregar datos de una consulta a Combo

Que raro tio, primero prueba con esta consulta

sql = "SELECT * FROM tblpotencias"

Si te funciona quiere decir que el error esta en el WHERE id1 = '" & cadena & "' ORDER BY id1, es decir en la clausula where

Te sugiero revises tu base de datos y mires que tipo de dato tiene el campo id1, numerico, texto ú otro

Tambien puede probar asi directamente sin usar la variable cadena sino la caja de texto

Código:
sql = "SELECT * FROM tblpotencias WHERE id1 = '" & id1.Text & "' ORDER BY id1"
  #11 (permalink)  
Antiguo 06/01/2009, 19:24
 
Fecha de Ingreso: abril-2008
Mensajes: 281
Antigüedad: 16 años
Puntos: 1
Respuesta: Agregar datos de una consulta a Combo

Cita:
Iniciado por franko1809 Ver Mensaje
Que raro tio, primero prueba con esta consulta

sql = "SELECT * FROM tblpotencias"

Si te funciona quiere decir que el error esta en el WHERE id1 = '" & cadena & "' ORDER BY id1, es decir en la clausula where

Te sugiero revises tu base de datos y mires que tipo de dato tiene el campo id1, numerico, texto ú otro

Tambien puede probar asi directamente sin usar la variable cadena sino la caja de texto

Código:
sql = "SELECT * FROM tblpotencias WHERE id1 = '" & id1.Text & "' ORDER BY id1"


Que tal, si mira ya estuve revisando y mi problema hasta cierto punto es con la base de datos ya que tengo varios id1 con el mismo numero si solo dejo 1 me funciona la consulta, pero el problema es q efectivamente necesito que sean varios con el mismo id1 y todos los q encuentre me los ponga en un combo...

saludos
  #12 (permalink)  
Antiguo 07/01/2009, 10:03
 
Fecha de Ingreso: abril-2008
Mensajes: 281
Antigüedad: 16 años
Puntos: 1
Respuesta: Agregar datos de una consulta a Combo

Que tal solo para comentarles q ya me quedo el codigo es el siguiente por si a alguien le sirve

Cita:
Option Explicit
Dim potencias1 As ADODB.Recordset

Private Sub DatosPotencias()
Dim sql As String, cadena As String
cadena = id.Text
Call VisualizarPotencias
sql = "SELECT * FROM tblpotencia WHERE id1 Like '" & cadena & "' ORDER BY potencia"
Set potencias1 = New ADODB.Recordset
potencias1.Open sql, BD, adOpenKeyset, adLockOptimistic
If potencias.BOF = False Or potencias.EOF = False Then
potencias.MoveFirst
Do While potencias.EOF = False
Combo2.AddItem potencias("potencia")
potencias.MoveNext
Loop
End If
End Sub
Muchas gracias a todos por la ayuda

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:58.