![]() |
Agregar múltiples Campo de una tabla a múltiples TEdit y TdbEdit
Hola chicos como están?
Tal vez mi titulo no concuerde con lo que realmente me he trabado: Lo que quiero es simple: Tengo una Tabla llamada proveedores, lo que quiero es poder seleccionar proveedores en diferentes Tedit y dbEdit. Quien lea se preguntara cual es el sentido de usar Edit y DBEdit bueno en el Edit muestro el nombre del proveedor y en dbEdit muestro y guardo el ID_PROVEEDOR(si alguien sabe como hacerlo mejor me lo dice porfa). Este es mi codigo actual en el Evento DblClick del DBGrid:
Bueno hasta ahí genial hace lo que quiero... Bueno ahora quiero es agregar un segundo y Tercer proveedor en los Otros TEdit y TDBEdit. lo he intentado pero lo que hago es al darle el doble click me envía a los otros edit y dbedit el primer proveedor seleccionado. Podrían orientarme como hacerlo? Saludos; novato_erick |
Hola novato_erick.
Bueno, en principio los campos identificadores (ID_PROVEEDOR) se utilizan internamente para identificar unívocamente un registro, lo normal es que sea un campo autoincremental. El como se lleva a cabo este incremento, depende de la base de datos con que estés trabajando. Imaginate que un usuario tuviera que ingresar a mano los identificadores... tendría que tener en la cabeza cual sería el próximo sino: Key Violation. En cuanto a lo que queres hacer, para que te muestre un segundo y tercer proveedor tendrías que desplazarte en los registros hasta sus posiciónes, lo que lógicamente haría que pierdas la visualización del anterior. Quizá sea mas adecuado usar DBEdits para realizar los ingresos y para mostrar los registros aledaños un TDBGrid con su propiedad ReadOnly igual a True. Un saludo. |
Hola
No entiendo, cuales otros edits y dbedits ?. Saludos |
ecfisa
Veo que no me explique. Ya tengo en la Tabla proveedores registros ingresados verdad? en un formulario (frmArticulo) quiero agregar sus atributos, dentro de ellos ese producto tiene mas de un proveedor para ser exacto hasta 3 proveedores. lo que quiero es guardar el el ID_PROVEEDOR en mi tabla de Artículos por eso uso de DBEdit en dicho formulario y el Edit solamente es para mostrar al usuario en nombre del Proveedor. es por eso mi código anterior llamando al frmBuscaProveedor me muestra mis proveedores y al darle dobleclick en la celda me coloca los datos de ese proveedor. Pero no he logrado escojer proveedores diferentes. usando los Edit y DBEdit restantes. Espero haberme explicado. Saludos; |
Hola.
Creo que ese caso, lo indicado para agregar los proveedores es usar tres TDBlookupComboBox . Donde en la propiedad ListSource iría el DataSource del proveedor, en ListField el nombre y en KeyField el ID. En las propiedades DataSource y DataField, el DataSource y el campo receptor de la tabla artículo respectivamente. Un saludo. |
Gracias ecfisa por prestar atención a mi problema;
sucede que esa opción la ya he implementado lo extraño es que si llamo al formulario de articulo en modo de edición me aparece en blanco los TDBlookupComboBox y no puedo apreciar que proveedores que tenia. eso ocurre nada mas al utilizar el componente PageControl y poner dentro ese componente TDBlookupComboBox. Caral poder agregar tres Edit para mostrar el nombre de los tres diferentes proveedores y los dbEdit (Ocultos) era para poder guardar ahi el el id del proveedor. Saludos; |
Hola
Sigo sin entender. Veo que se busca el proveedor y el nombre, me imagino que de una tabla, pero no veo que se recorra. No creo que se pueda llenar mas de un dato si solo se pide uno. No entiendo. Saludos |
Caral
Cita:
Esta es la forma que yo estoy haciendo... y esta forma no me sirve :( porque me pone el mismo proveedor en los restantes edit y dbedit... Saludos |
Cita:
Eso no ocurre si previamente haces algo como:
Saludos. |
ecfisa
Cita:
Saludos |
Hola.
Puede ser, si mostrás un solo artículo en cada ingreso al form. No sé como lo tenés implementado. Pero si queres que al ir desplazándote por los artículos, los DBLookupComboBox se vayan actualizando quizá debas ponerlo en el evento AfterScroll de la tabla artículos. Saludos. |
Hola
Sigo pensado igual, no se recorre la tabla. El codigo que muestras nunca mostrara mas que un dato. Asi lo veo yo. Hay que recorrer la tabla. Me gustaria ver el programa, pero lastima que no pueda ver la BD. Saludos |
ecfisa
yo utilizo TSQLQuery, no tablas; nunca he tenido la oportunidad de usar tablas... Caral Por mi no hay ningún problema que veas mi base de datos, mucho menos que veas mi programa pero la pregunta es como? Saludos |
Hola
Creo que puedes colocar todo en un zip. Quitale el exe para que no pese y lo subes aqui mismo. Si no, enviame un mensaje privado y te doy mi correo. Saludos |
Cita:
No conozco el componente TSQLQuery, pero seguro que tiene el evento AfterScroll. Por lo tanto sería allí donde deberías ubicar la actualización de los TDBLookupComboBox. Excepto que sólo muestres un artículo por pantalla y salgas. En este último caso el evento OnShow del form sería un lugar adecuado para la actualización. Un saludo. |
Estoy Choleando jajajajaja...
Si se que estoy usando tablas sin embargo no he usado el Componente TTAble jajaja a eso me referia... y si solo muestro un proveedor por pantalla y salgo... lo intente haciendo esto pero mi formulario se comporta extraño porque aun así no los muestra...
Saludos |
Hola
No entiendo que componentes usas?. Tampoco se que BD ?. Saludos |
Caral
Utilizo Firebird 2.5 como BD y componente DBExpress como TSQLQuery, TClientDataSet y TDataSetProvider en un modulo de datos y TDataSource en los formularios. Saludos |
Hola
Ah, lastima, yo no tengo esos componentes. Yo uso los IBX de la paleta interbase. No voy a poder ver el programa, no me va a dejar cargarlo. Saludos |
Tengo el Embarcadero® Delphi® XE Version 15.0.3953.35171
Copyright © 2010 Embarcadero Technologies, Inc. All Rights Reserved Enterprise Bueno eso es lo que dice mi Equipo... De todas manera gracias Caral... Saludos |
La franja horaria es GMT +2. Ahora son las 21:01:58. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi