Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   Como guardar datos con DBComboBox (https://www.clubdelphi.com/foros/showthread.php?t=47569)

Damian666 31-08-2007 16:11:39

Como guardar datos con DBComboBox
 
Hola a todos.
Comentarles que voy buscando hace dos dias como guardar de la mejor forma unos datos pero usando un DBComboBox

Tengo una tabla de la siguiente manera
Cita:


BEBIDAS nombre de la tabla
Fanta campos de la tabla
Sprite campos de la tabla

y los datos dentro de Fanta y Sprite seria solo el precio

Lo que deseo es visualizar Fanta y Sprite en un DBComboBox pero al seleccionar uno de ellos que me guarde el precio en otra tabla.:confused: Sería correcto llamar a la tabla BEBIDAS desde mi base de datos? o debería crear los mismos campos en las propiedades de ITEM del DBComboBox y asignarles un valor.

Desde ya muchas gracias por su tiempo.

Caral 31-08-2007 18:40:10

Hola
Perdon pero no entiendo que es lo que realmente quieres hacer.
Saludos

marcoszorrilla 31-08-2007 22:00:35

Según entiendo quieres seleccionar un producto y que el precio del mismo se grabe en otra tabla, supongo que ademas del propio precio. Sería el clásico mostrar producto y el pinchar sobre él guardar en la tabla lineas_Albaran su nombre y precio?

Tendrás que utilizar un DbLookUpComboBox y así te resultará mucho más fácil.
No tendrás más que rellenar las propiedades:
Datasource:Tabla_En_la_que_quieres guardar el dato.
DataField:Campo_En_El_que_se_guardara_El dato.

Si quieres guardar más datos que el apuntado en el DataField, tendrás que aprovechar por ejemeplo en el vento OnClick para guardar otros campos:

Código Delphi [-]
MiTablaMiCampo1.Value:=LaOtraTabla.MiCampo1.Value;
MiTablaMiCampo2.Value:=LaOtraTabla.MiCampo2.Value;
.....

Un Saludo.

Aunque como comenta Caral, sería mejor ampliar la información de lo que quieres.

Damian666 31-08-2007 22:06:29

Como guardar datos con DBComboBox
 
Bueno mis disculpas sino me deje entender.

Tengo una opcion en el siguiente hilo
http://www.clubdelphi.com/foros/member.php?u=2478

Cita:

Empezado por mamaro (Mensaje 224856)
1) En ListSource pones el DataSource de dónde listas.
2) En ListField el (o los) campo que listas.
3) En KeyField el campo que retornas.
4) En DataSource el DataSource dónde almacenarás el valor.
5) En DataField el campo dónde almacenas el valor retornado (en KeyField)

Saludos y espero te sirva. :)

Pero como almaceno segun el punto 4 del ejemplo de mamaro en una tabla adicional el valor Fanta en mi caso ('5' como constante) para poder determinar en un dia cuantas botellas consumieron y determinar el precio.

Ojala me haya dejado entender ya que si logro entender esta parte me sera mas facil continuar con mi sistemita y muchas gracias por responder.

PD: Nose si es mejor trabajar con las tablas en un DBComboBox o asignarle valores dentro de Items (TString)...

Damian666 31-08-2007 22:17:27

Como guardar datos con DBComboBox
 
Exactamente Marcos es eso lo que estoy buscando muchas gracias por responder, ya lo detalle mejor, en este momento estoy revisando mi codigo ojala alguien me pueda dar una manito con sus clasicas respuestas paso a paso.:o

Caral 31-08-2007 23:13:56

Hola
Sigo un poco desorientado en esto, pero tratare de entender.
Parece que tienes una tabla:
Bebidas
y sus compos son:
Fanta
Sprite
Y quieres que al seleccionar uno de ellos se grabe la informacion en otra tabla X con el datos Precio.
Pregunto:
Donde esta el precio?, de donde lo saco, de otra tabla, del usuario?
Saludos

Damian666 01-09-2007 03:45:11

Hola Caral gracias por darle tiempo a mi problema, Fanta y Sprite llegarian a ser las cabeceras o los 'Field Name' en MySQL Control Center de tipo numerico y el precio serían los 'Records' que quedaria mas o menos así.

Tabla BEBIDAS
Fanta | Sprite
....5.......6.....

El precio los llenare desde otro FORM con privilegios ya que no se podra modificar durante su uso
Ahora intente visualizar Fanta y Sprite pero no puedo hacerlo ya que me visualiza el precio y la idea no es esa sino mostrar en el DbLookUpComboBox Fanta y Sprite y al seleccionar uno de ellos que almacene 5 o 6 dependiendo cual sea la eleccion en otra tabla y asi sumar estas elecciones que pueden ser varias para poder determinar cuanto debera pagar el consumidor.

Nuevamente gracias por la colaboración

Caral 02-09-2007 04:53:53

Hola
Perdon por no darle seguimiento a tu asunto, estaba ayudando a alguien mas.
En cuanto tenga un ratito reviso todo.
saludos

Caral 02-09-2007 16:06:44

Hola
La verdad sigo un poco perdido en lo que quieres hacer.
Lo que entiendo:
Tienes un tabla, Bebidas y sus campos fanta y sprite
Tienes un combobox, en este visualizas los campos
Quieres que al seleccionar un campo del combobox, se guarde la informacion en otra tambla.
Fanta= 5
Con que base de datos trabajas?
Creo que es con ado, es asi?
empecemos con esto.
Saludos

Damian666 02-09-2007 17:48:17

Mis disculpas por no tedallar mi pregunta y la base de datos Caral como inicie el hilo en MySql crei que eso bastaba.
Bueno la Base de datos esta en MySql lo que pretendo mostrar es los "campos" y no los valores

Cita:

Tienes un tabla, Bebidas y sus campos fanta y sprite
Tienes un combobox, en este visualizas los campos
En realidad no puedo visualizar los campos creo que la confusión esta ahi, mostrar los valores de "fanta" y "sprite" en un combobox si puedo hacerlo que sería "5" y "6" pero esa no es la idea.

Cita:

Quieres que al seleccionar un campo del combobox, se guarde la informacion en otra tambla.
Fanta= 5
Al seleccionar en el combobox "fanta" o "sprite" con solo la seleccion podre enviar su valor que es "5" a otra tabla por ejemplo "pagos" pero como no puedo visualizar "fanta" o "sprite" en el combobox no podre almacenar su valor nunca.

Cita:

MiTablaMiCampo1.Value:=LaOtraTabla.MiCampo1.Value;
MiTablaMiCampo2.Value:=LaOtraTabla.MiCampo2.Value;
Marcos me dio este ejemplo y ya tengo claro como guardar los valores pero no desde un combobox.
Aprovechando este codigo diria que quiero mostrar en un Combobox "campo1" y "campo2" y no "value" ya que esos valores seran constantes y no necesito mostrarlos, cuando los seleccione desde el combobox su valor se ira directamenta a la tabla "pagos" ya sea por eleccion o con un boton guardar.

Gracias por tu tiempo ojala me haya dejado entender.

Caral 02-09-2007 18:52:43

Hola
Creo que tienes varias dudas, lo mejor es que veas este ejemplo, esta en access, pero se puede hacer en Mysql sin problemas.
Aqui, lo dejo, ya me comentaras.
Saludos

Damian666 02-09-2007 21:26:02

Ahora si te lo explicare con tu ejemplo maestro.

Lo que quiero es mostrar en un combobox "Zona", "Peso", "CostoP" de la tabla TARIFA, te preguntaras porque?

Usare varias tablas filtrando como en tu ejemplo pero los campos.
Talvez sea una mala idea pero tendre varias tablas con un unico item para cada campo, todo esto para que el usuario no introduzca nunca un valor y solo se limite a seleccionar e imprimir
En nuestro caso la tabla TARIFA quedaria con estos unicos datos.

Cita:

TABLA = TARIFA
Zona --> Madrid
Peso --> 5
Costo ---> 3,55

y nada mas
cuando seleccione el campo "peso" de la tabla TARIFA el item "5" deseo guardarlo en otra tabla llamada PAGOS. No te preocupes por el item "5" ya que lo cargara otro usuario desde otra ventana y no se modificara por un largo tiempo.

El ejemplo que me enviaste es una muestra de uso de filtros a mi entender, si no es asi me corriges por favor, se podra hacer lo que planteo?

Saludos y nuevamente gracias por dar curso a mi problema.

Caral 02-09-2007 22:53:27

Hola
Revisalo bien, carga los datos de una tabla en un combobox.
Saludos

Damian666 03-09-2007 21:11:03

Gracias lo estoy revisando, si logro solucionarlo lo mostrare cuando termine.


La franja horaria es GMT +2. Ahora son las 14:42:55.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi