• Viernes 5 de Julio de 2024, 06:55

Autor Tema:  Problemas Con Combo Y Ado  (Leído 1323 veces)

Fernando_P

  • Miembro activo
  • **
  • Mensajes: 88
    • Ver Perfil
Problemas Con Combo Y Ado
« en: Martes 18 de Enero de 2005, 21:02 »
0
hola a todos,
tengo un problema con lo siguiente. Existe un combo que lleno con sus campos o items mediante una conexion ADO a una BD con un recordset y un objeto tipo connection. establezco la propiedad conecctionstring con la ruta de la BD, luego abro el recordset con la connection y lleno el combo, se me desppliegan perfecto los items, pero resulta que por ejemplo si elijo un item del combo, me muestra unos parametros de ese item, pero si antes de apretar ok decidop cambiar de item en el combo, me manda el error 3705 que lo genera el recordset. La operacion no esta permitida sio el objeto esta abierto.

Bueno y ahi quedo..debo cerrar la concexion cada vez?, pero debo acceder a la BD en distintas oportunidades con distintas consultas...
Alguien me pouede decir que estoy haciendo mal?

Espero su siempre sabia ayuda.
Saludos.

Fernando

desarrollo

  • Miembro activo
  • **
  • Mensajes: 74
    • Ver Perfil
Re: Problemas Con Combo Y Ado
« Respuesta #1 en: Miércoles 19 de Enero de 2005, 02:25 »
0
hola FernAndo   :hola:

yo manejo tambien combo y datacombo que los lleno con datos de mis tablas de sql de esta maner:

Citar
Private Sub Form_Load()
Dim rsModelo As New ADODB.Recordset
'aqui lleno el combo con los datos de mi tabla modelo
Set rsModelo = New ADODB.Recordset
rsModelo.CursorLocation = adUseClient
SQL = "SELECT * FROM modelo"
rsModelo.Open SQL, CN, adOpenStatic, adLockReadOnly
Do While Not rsModelo.EOF
    Combo1.AddItem rsModelo!Nom_modelo
    rsModelo.MoveNext
Loop
End Sub

luego valido en el evento CLICK y CHANGE, siempre y cuando tu combo este en la propiedad Style con el valor 2-DropDownList de la sgte manera:

Citar
Private Sub Combo1_Click() ' y tambien el mismo codigo en el evento Change
Dim rsModelo As New ADODB.Recordset
Set rsModelo = New ADODB.Recordset
rsModelo.CursorLocation = adUseClient
SQL = "SELECT * FROM modelo"
rsModelo.Open SQL, CN, adOpenStatic, adLockReadOnly
If rsModelo.RecordCount <> 0 Then
    Label45.Caption = rsModelo!NOM_modelo    'aqui si quier mostrar algun dato que no veo el combo
Else
    Label45.Caption = "Seleccione Modelo"
End If
End Sub

de esa manera estoy validando tanto cuando abandono la seleccion y cuando pulso en algun boton aceptando los valores..  :D creo que con esto no tendras problema, al menos ami no me resulta ningun error...   :unsure:

suerte  :kicking:

desarrollo   :comp:

PD: me olvidada ese error del que hablas ("La operacion no esta permitida sino el objeto esta abierto") es referente a que los datos que consultas lo tienes abierto de algun modo dentro del control (combo) y no lo manjeas apropiadamente, lo mismo me paso amitambien, por eso manejalo con eventos el cual te dije alli arriba....  :hola: