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

algo basico de Combobox

Estas en el tema de algo basico de Combobox en el foro de Visual Basic clásico en Foros del Web. Quiero que cuando se pocicionen en el combo box solo puedan seleccionar lo que se llena mediante una constula sql. Que no escriban en el ...
  #1 (permalink)  
Antiguo 05/04/2005, 20:29
Avatar de netorres  
Fecha de Ingreso: marzo-2004
Ubicación: 32 kms de Santiago a la costa
Mensajes: 132
Antigüedad: 20 años, 1 mes
Puntos: 0
algo basico de Combobox

Quiero que cuando se pocicionen en el combo box solo puedan seleccionar lo que se llena mediante una constula sql.

Que no escriban en el combobox...

Lo bloquie (locked=true) pero si lo dejo haci para que no escriban no me deja seleccionar...

En realidad no se mucho de esto... me podrian dar una manito....


Gracias por ller esta pregunta!!!
__________________
Contento Señor contento :-) (Sto. Padre Alberto Hurtado)
  #2 (permalink)  
Antiguo 06/04/2005, 01:11
 
Fecha de Ingreso: abril-2002
Mensajes: 1.014
Antigüedad: 22 años
Puntos: 8
Para evitar que se escriba en un combo lo único que tienes que hacer es establecer la propiedad Style del combo, como "DropDown List".

Un saludo.
  #3 (permalink)  
Antiguo 06/04/2005, 05:09
Avatar de lucasiramos  
Fecha de Ingreso: agosto-2004
Ubicación: Santa Rosa, La Pampa, Argentina
Mensajes: 1.484
Antigüedad: 19 años, 8 meses
Puntos: 13
Hola. Esta bien lo que te postea MikiBroki, pero en ese caso no va a poder escribir. Si es un combo que tiene muchos elementos, o que almacena nombres (como clientes, artículos, etc) es útil para el usuario poder escribir las primeras letras, luego presionar la flecha abajo del cursor y que seleccione el primer item coincidente. De ahi la importancia de que pueda escribir. Te paso una función que te puede servir. Va en el Lostfocus del combo.

Código:
Dim X As Integer
Dim Str As String
Dim Encontrado As Boolean
If Trim(Combo1.Text) <> "" Then
X = 0
Do While X <= Combo1.ListCount - 1
	If UCase(Trim(Combo1.List(X))) = UCase(Trim(Combo1.Text)) Then
	 Combo1.ListIndex = X
	 Encontrado = True
	 Exit Do
	End If
	X = X + 1
Loop
 
If Encontrado = False Then
	Combo1.SetFocus
End If
Else
Combo1.ListIndex = -1
End If
Este código recorre todos los items del combo y si no coincide con ninguno le pasa el foco al mismo combo, es decir, no lo deja salir hasta que ingrese un item que exista en la lista.

Espero que te sirva. Saludos. Lucas
  #4 (permalink)  
Antiguo 06/04/2005, 13:21
Avatar de netorres  
Fecha de Ingreso: marzo-2004
Ubicación: 32 kms de Santiago a la costa
Mensajes: 132
Antigüedad: 20 años, 1 mes
Puntos: 0
Lo probare cuando llegue a casa... gracias...
__________________
Contento Señor contento :-) (Sto. Padre Alberto Hurtado)
  #5 (permalink)  
Antiguo 06/04/2005, 15:55
Avatar de netorres  
Fecha de Ingreso: marzo-2004
Ubicación: 32 kms de Santiago a la costa
Mensajes: 132
Antigüedad: 20 años, 1 mes
Puntos: 0
Me Equivoque No Era Un "cobmobox" Es Un Datacombo...?????? No Me Sirve La Funcion Anteror Como La Tendria Que Plicar???



:(
__________________
Contento Señor contento :-) (Sto. Padre Alberto Hurtado)
  #6 (permalink)  
Antiguo 07/04/2005, 04:47
Avatar de lucasiramos  
Fecha de Ingreso: agosto-2004
Ubicación: Santa Rosa, La Pampa, Argentina
Mensajes: 1.484
Antigüedad: 19 años, 8 meses
Puntos: 13
Datacombo no uso, pero ¿No te sirve? ¿Te tira error? ¿Que tipo de error?

Saludos. Lucas
  #7 (permalink)  
Antiguo 07/04/2005, 09:29
Avatar de vbx3m  
Fecha de Ingreso: febrero-2005
Ubicación: Venezuela
Mensajes: 524
Antigüedad: 19 años, 3 meses
Puntos: 1
Si lo que quieres es que no escriban puedes poner esto:

Private Sub DataCombo1_Click(Area As Integer)
DataCombo1.Locked = False
End Sub

Private Sub DataCombo1_KeyPress(KeyAscii As Integer)
DataCombo1.Locked = True
End Sub

Lo que logras es que cunado quiera escribir se bloquea pero si vas a seleccionar haciendo click se desbloquea y perfectamente lo puedes utilizar...

Espero te sirva...
__________________
ホルヘ・ラファエル・マルティネス・レオン
  #8 (permalink)  
Antiguo 09/04/2005, 16:53
Avatar de netorres  
Fecha de Ingreso: marzo-2004
Ubicación: 32 kms de Santiago a la costa
Mensajes: 132
Antigüedad: 20 años, 1 mes
Puntos: 0
Gracias!!!!!!!!!
__________________
Contento Señor contento :-) (Sto. Padre Alberto Hurtado)
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 14:22.