
[RESUELTO] Uso combobox
#1
Escrito 10 noviembre 2010 - 09:37
#2
Escrito 10 noviembre 2010 - 09:39
Bienvenido a la comunidad DelphiAccess

Amigo una pregunta, tu componente es un ComboBox o un DBComboBox ???

Saludox !

#3
Escrito 10 noviembre 2010 - 09:40

Con qué BD estás trabajando y con qué componentes te conectas a ella ?

Saludox de nuevo !

#4
Escrito 10 noviembre 2010 - 09:47
#5
Escrito 10 noviembre 2010 - 09:55


Mira, puedes grabar el valor seleccionado de tu ComboBox de esta manera: suponiendo que tienes algún botón de Guardar:
Tabla.FieldByName('CAMPO').AsString := Combobox1.Text;
Claro, ésto después de que has puesto tu Tabla en modo de edición o inserción y antes de hacer el Post de la misma...
Otra recomendación es que uses un DBComboBox de tal manera que puedas asociarlo automáticamente a tu BD y a tu campo y que al momento de hacer el Post de la tabla, automáticamente guarde el valor que tiene....
Para eso tendrías que utilizar un componente DataSource en cuya propiedad DataSet colocarías el nombre del componente ADOTable con el que controlas la tabla. Después ligarías el DataSource con el DBComboBox mediante su propiedad DataSource y en la propiedad DataField el nombre del campo que quieras almacenar....
Espero haber sido clara... si no, no dudes en seguir preguntando


Saludox !

#6
Escrito 10 noviembre 2010 - 10:10
#7
Escrito 10 noviembre 2010 - 10:35
#8
Escrito 10 noviembre 2010 - 10:45
Fenareth, utilizo el componente dbnavigator, donde coloco el codigo que me dices?
Utilizas un AdoTable amigo ?... si es así, contiene un avento BeforePost... ahí sería una buena idea

Saludox !

#9
Escrito 10 noviembre 2010 - 10:46
Insisto en el uso del DBComboBox

Saludox !

#10
Escrito 10 noviembre 2010 - 11:03
#11
Escrito 10 noviembre 2010 - 11:07
Gracias Fenareth, funciono!!!!!!!!!!!!!!!!. Solo que al recorrer los registros con el DBNavigator, el campo del combobox queda fijo, con la ultima opcion guardada.
Eso se arregla como te lo ha dicho varias veces cambiandolo por un DbComboBox
#12
Escrito 10 noviembre 2010 - 11:21
Aquí lo que necesitas es un poco más de código (ya que veo que te rehusas a utilizar el DBComboBox



En el evento AfterScroll de tu Tabla manda llamar el valor almacenado para que lo muestre correctamente... Haremos exactamente lo contrario que la vez pasada, leeremos de la Tabla hacia el Combobox
ComboBox1.Text := Tabla.FieldByName('CAMPO').AsString;
Saludox !

P.D. Este es un ejemplo excelente de cuando no se usan los componentes adecuados y sin razón amigo, jejeje, por último, te recomiendo que le des un vistazo al DBComboBox y verás todos los problemas que te evitas

#13
Escrito 10 noviembre 2010 - 11:31
Aparte de este empleo mayor de codigo, que otra desventaja tendria el uso en condiciones similares del combobox ante el dbcombobox?
#14
Escrito 10 noviembre 2010 - 11:41
Pero qué sucedería si necesitas otras condiciones, mmm, por ejemplo que debas mostrar los datos de tu Tabla pero sin permitir que sean editables ???... en ese caso tienes que manejar tu Tabla para hacerla de sólo lectura y aparte el manejo del ComboBox independientemente....
Ahora, tú sólo usas un ComboBox, pero todo el trabajo se multiplica por cada uno que manejes...
Y pues, todo eso se evita utilizando el componente de control de datos correspondiente....
Imagina que en vez de DBEdits, que supongo estás usando, utilizaras Edits


Otro punto... tal vez tu código no tenga muchas líneas por ahora, pero mientras se vaya incrementando, el evitarte la escritura de código innecesario, no suena tan mal

Saludox amigo !

#15
Escrito 10 noviembre 2010 - 11:46
#16
Escrito 10 noviembre 2010 - 11:48

Qué opinas de que establezcamos este hilo como [RESUELTO] ???... para ello puedes ir a tu primer mensaje y editándolo, colocarle el prefijo de [RESUELTO]...
Sólo si tu lo consideras oportuno


Saludox !

#17
Escrito 10 noviembre 2010 - 11:57
#18
Escrito 10 noviembre 2010 - 12:08
Excelente, luego vuelvo con otras inquietudes.
Excelente !!!

Saludox !
