FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Aplicación MDI con base de datos
Hola a todos.
Estoy pensando en hacer un aplicación MDI en la que cada vez que abramos una ventana hija tengamos a una base de datos diferente, intento explicarme mejor: Abro una ventana hija a la que lleve ligada una base de datos, si quiero abrir otra ventana hija iría ligada a otra BD. La idea es una gestión comercial multiempresa, cada ventana hija sería una empresa distinta, no se si esto es posible, nunca he trabajado con aplicaciones MDI, lo mismo lo que tengo que hacer es abrir varias veces la aplicación, una por cada empresa que quiera tener abierta y olvidarme de MDI. No se si me he liado explicándolo, he mirado en varios temas abiertos pero no veo ninguno que se refiera a mi duda, por lo menos no lo encuentro. Gracias anticipadas. |
#2
|
||||
|
||||
Hola
Se puede incluso abriendo forms sencillos, no le veo el problema. Saludos
__________________
Siempre Novato |
#3
|
||||
|
||||
Técnicamente, como dice Caral, puedes colocar una conexión en cada ventana, otra cosa es si es un diseño correcto o no, pero eso ya es otro tema.
Basta con que cada formulario tenga su componente de conexión propio.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#4
|
|||
|
|||
En primer lugar gracias por responder
No me he explicado bien, yo quiero que cada ventana hija sea como una aplicación distinta: Supongamos en una contabilidad tengo activa una empresa, estoy grabando una asiento o una factura complicado y en medio de la grabación me llega el jefe y me pregunta otra cosa de otra empresa distinta, tengo que abandonar lo grabado hasta ahora o dejarlo sin terminar, no se lo que es peor. Yo lo que quiero es abrir la nueva empresa como si fuera otra aplicación distinta, y que me deje la otra como estaba. Mas o menos como si fuera un libro de Excel, solo que el libro de Excel es un documento que queda bloqueado a los cambios de otros usuarios y yo lo quiero hacer con una base de datos donde otros usuarios pueden seguir grabando y consultado al mismo tiempo. No se si lo he aclarado o lo he complicado todavía mas. Gracias |
#5
|
||||
|
||||
La respuesta sigue siendo la misma de antes. Si cada venta MDI que abres posee su propia conexión no hay problema. Cada ventana tendrá sus datos y podrás dejar una a medias y continuar con la otra.
Lo normal sería tener una única conexión a Base de datos en la aplicación (en el formulario principal o en el DataModule principal). En ese caso al abrir un formulario, este usa la conexión principal. por lo tanto todos los formularios comparten la conexión y no se puede hacer lo que tú necesitas. Al colocar la conexión en el formulario MDI, al crear ese formulario deberás preguntar los datos necesarios para esa conexión (Base de Datos, path,... dependiendo de lo que necesites). De esa forma cada formulario MDI que creas tendrá su propia conexión (con sus parámetros distintos), por lo tanto cada formulario MDI trabajará con una Base de datos distinta. Para esto no necesitas que "cada ventana sea una aplicación distinta", dentro de la misma aplicación puedes trabajar con 2 instancias del mismo formulario (de altas, de asientos,... de lo que sea) pero cada instancia apuntando a una Base de Datos distinta.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#6
|
|||
|
|||
Esto es precisamente lo que necesito, mi pregunta era si sería mas facil hacerlo con una aplicación MDI o simplemente cargar el programa tantas veces como necesite, con una sola conexión en este caso.
|
#7
|
||||
|
||||
Cada programa tiene una conexión y cada formulario tiene una conexión.
Pero yo creo que es mejor una única aplicación con diferentes formularios, que diferentes aplicaciones. Mejor gestión de recursos, mejor integración, más facilidad de interacción, más rapidez, menos memoria,... En realidad no le veo ninguna ventaja a realizar aplicaciones distintas.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#8
|
|||
|
|||
Efectivamente Neftalí.
Por esto quiero hacerlo en una aplicación que 'lance' a cada formulario hijo como si fuera otra aplicación, tengo que estudiar como hacerlo, ya digo que de MDI no tengo ni idea, entiendo que tengo que hacer un formulario padre que se encarge de lanzar a los hijos y estos sean donde se desarrolle realmente la aplicación, cada uno con una conexion distinta. Según he visto por los foros las conexiones en lugar de hacerlas en un modulo de datos tendrían que ir el el formulario hijo, para que se vayan creando a mismo tiempo, esto es lo que me confunde mas, iré haciendo pruebas a ver que pasa. Gracias por vuestra atención. |
#9
|
||||
|
||||
El formulario principal debe ser un MDIForm (propiedad FormStyle) y los otros deben ser MDIChild.
Aquí tienes un ejemplo en el FTP del Club, aunque seguro que hay más, que trabaja con forms MDI. Es para otro tema, pero puedes ver cómo funciona y cómo se crean los formularios. Espero que te sirva. Sobre ese, puedes hacer pruebas de crear la conexión en los formularios hijos y ver qué tal...
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#10
|
|||
|
|||
Vale, le echaré un vistazo a ver si me aclaro.
Gracias una vez mas |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
aplicacion multi-base de datos | erickperez6 | Conexión con bases de datos | 2 | 15-03-2011 23:29:14 |
estructura de aplicación/base de datos | Galahad | Firebird e Interbase | 5 | 08-08-2008 11:07:10 |
Aplicacion con base de datos | luxus | Conexión con bases de datos | 1 | 04-06-2006 06:43:43 |
Base de Datos en un PC y Aplicacion en otro PC | sierraja | Conexión con bases de datos | 8 | 18-06-2005 15:39:50 |
Instalar aplicación con base de datos de InterBase | Tomás | Firebird e Interbase | 5 | 27-05-2003 17:29:18 |
|