Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-10-2012
Leopard2 Leopard2 is offline
Miembro
NULL
 
Registrado: may 2012
Posts: 39
Poder: 0
Leopard2 Va por buen camino
Uso de Master/Detail con Interbase

Hola, me estoy iniciando con Sql a pesar de que llevo varios años con Delphi en bases de escritorio. Ahora estoy desarrollando un programa con Delphi 7 y Firebird 2.5 y decidi usar los componentes de Interbase para conectarme a la base de datos.
Para varias tablas uso IBQuery para así programar por botones las acciones Editar, borrar, Ingresar pero necesito hacer un par de formularios que necesitan de dos tablas para un encabezado y un detalle y para esto veo que lo unico disponible es IBTable ya que tiene las propiedades Mastersource y Masterfields para conectarse a través de campos gemelos, mi consulta es que otros componentes me servirian para hacer estos formularios Master/Details y como se conectan ya que ni los IBQuery - IBDataset tienen esa propiedad.

Saludos y gracias por su ayuda.
Responder Con Cita
  #2  
Antiguo 15-10-2012
Avatar de Young
Young Young is offline
Miembro
 
Registrado: abr 2006
Ubicación: San Felipe, Chile
Posts: 86
Poder: 19
Young Va por buen camino
Hola Leopard2, yo utilizo los componentes Interbase hace bastante tiempo y para hacer lo que dices (bueno cualquier edición) utilizo los componentes dataset y trataré de indicarte más o menos como lo hago. Para establecer una relación maestro/detalle pongo dos componentes del tipo ibdataset, supongamos que son facturas (albaranes como lo llaman los españoles), una de las tablas tiene la cabecera y la otra el detalle y obviamente están relacionados por un campo id o numero de factura.

Posteriormente completo la propiedad SelectSQL, luego botón derecho sobre el componente y pulsas Dataset Editor, en el dialogo que te aparece haces click en secuencia a los botones que estan a la derecha, con esta acción se completarán las propiedades restantes con las sentencias sql para insertar, modificar, eliminar y refrescar. Repite esta acción con la tabla de detalle y al igual que la tabla de cabecera debes restringir la edición a su ID, ejemplo:

Código SQL [-]
SELECT * CABECERA
WHERE CABECERA.ID = :ID;

SELECT * FROM DETALLE
WHERE DETALLE.ID = :ID;

Bueno estoy suponiendo que sabes usar los parámetros en este tipo de componentes. En este punto viene lo importante, el nombre del parámetro debe ser igual al del campo (por lo menos en la tabla detalle), y esto debe ser así por que ahora a la tabla detalle en la propiedad datasource le vamos a enlazar el datasource de la tabla de cabecera (o dataset de cabecera), entonces el componente detalle buscara en el componente de cabecera un campo con el mismo nombre del parámetro y lo utilizará, de esta manera y sin escribir ninguna línea de código ya tienes una relación maestro detalle funcionando. Está demás comentar que si cambias de registro en la tabla de cebecera, la tabla de detalle se actualizará automáticamente.

Espero que esto te ayude un poco, inténtalo y verás lo bien que marcha.

Saludos.
Responder Con Cita
  #3  
Antiguo 15-10-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Young Ver Mensaje
supongamos que son facturas (albaranes como lo llaman los españoles)
Sólo aclarar que nosotros no llamamos albaranes a las facturas
A los "albaranes" los llamamos "albaranes", y a las "facturas" las llamamos "facturas"
Responder Con Cita
  #4  
Antiguo 15-10-2012
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Sólo aclarar que nosotros no llamamos albaranes a las facturas
A los "albaranes" los llamamos "albaranes", y a las "facturas" las llamamos "facturas"
Cada vez que leo la palabra albarán me suena a árabe, y creo que lo es. y me quedo flipando de que es.

He tenido que ir al diccionario... Digo yo, como gallego por "adopción", hostias tío ¿no es más fácil llamarlo recibo o comprobante?

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #5  
Antiguo 15-10-2012
Avatar de Young
Young Young is offline
Miembro
 
Registrado: abr 2006
Ubicación: San Felipe, Chile
Posts: 86
Poder: 19
Young Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Sólo aclarar que nosotros no llamamos albaranes a las facturas
A los "albaranes" los llamamos "albaranes", y a las "facturas" las llamamos "facturas"
Oops! al parecer tengo una confución confusa.
Responder Con Cita
  #6  
Antiguo 15-10-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Delphius Ver Mensaje
Cada vez que leo la palabra albarán me suena a árabe, y creo que lo es. y me quedo flipando de que es.
He tenido que ir al diccionario... Digo yo, como gallego por "adopción", hostias tío ¿no es más fácil llamarlo recibo o comprobante?
Saludos,
Cita:
Empezado por Young Ver Mensaje
Oops! al parecer tengo una confución confusa.
Muchísimas (miles) palabras españolas provienen del árabe, por algo España fue conquistada por los árabes durante ¡¡¡ 7 siglos !!!, así que nombres de ciudades, de objetos, de personas, de ríos, montañas, etc. provienen de sus nombres árabes. El último reducto en ser reconquistado fue la Alhambra de Granada en el año 1492. Tan contento estaban Isabel y Fernando (los reyes en aquella época) que ayudaron a realizar su proyecto a una persona que quería abrir una nueva ruta comercial para llegar a las islas de las especias, ya que el único camino que existía era a través del sur de África, pero eran territorios dominados por el reino de Portugal, y los barcos españoles eran atacados en esa ruta. Así que los reyes financiaron a un tal Cristobal Colón para que buscara una nueva ruta. De casualidad se encontró con un territorio al que llamó América y a partir de ahí cambió la historia y el rumbo del mundo, para bien y para mal.

Después de una breve introducción histórica, paso a explicar los documentos en España, básicamente: Presupuesto, pedido, albarán y factura.
Presupuesto: Hola, necesito que me dé un presupuesto de lo que me costaría unas piezas para mi ordenador y ustedes me lo instalan.
Artículo----------cantidad----precio--importe
Disco duro 1 TB--------1-------100-------100
Teclado cherry---------1--------50--------50
Mano de obra-----------1--------30--------30
SUMA--180
IVA 21%----37,8-------------------TOTAL--217,8

Pido presupuesto a varios negocios para ver quien me da mejores precios, elijo uno y lo acepto, por lo que me preparan el pedido:

Pedido
: Aceptado el presupuesto pero sin la mano de obra porque decido instalarlo yo mismo:
Artículo----------cantidad----precio--importe
Disco duro 1 TB--------1-------100-------100
Teclado cherry---------1--------50--------50
SUMA--150
IVA 21%----31.5-------------------TOTAL--181.5

Perdone, ¿la forma de pago?, por transferencia bancaria.
¿Me pueden enviar la mercancía a mi casa?, sin problemas. ok.
Hago una transferencia la empresa por el importe de 181,5 y recibo la mercancía con un documento de entrega, el albarán:
Albarán:
Artículo----------cantidad----precio--importe
Disco duro 1 TB--------1-------100-------100
Teclado cherry---------0-----
----0---------0
SUMA--100
IVA 21%----21---------------------TOTAL--121

Oiga, que no he recibido el teclado. Es que se nos han acabado, le enviamos la factura y le devolvemos la diferencia del importe mediante transferencia.
Al cabo de unos días recibo lo siguiente:
Factura:
Artículo----------cantidad----precio--importe
Disco duro 1 TB--------1-------100-------100
SUMA--100
IVA 21%----21---------------------TOTAL--121

Eso sería el recorrido completo, depende del tipo de negocio se puede saltar alguno de ellos, lo único que siempre debe existir es la Factura o en su lugar el Ticket, que es fiscalmente válido igual que una factura y que suele llevar el IVA incluido en los precios.

También existe la factura proforma, que es como una factura normal pero sin valor, se usa para varios casos, por ejemplo, una casa de seguros puede pedirte una factura proforma de lo que costaría arreglar un desperfecto en tu coche y te pagaría en razón a esa factura proforma, es como un presupuesto, tan sólo que el presupuesto es modificable, la factura proforma ya no se puede modificar, es la factura final, pero sin valor.

En cuanto a la pregunta de Delphius, el recibo o comprobante, son cosas distintas. Un recibo es eso, un recibo, algo así como:
Recibo:
He recibido de: Delphius
La cantidad de: 100 euros (====CIEN EUROS===)
En concepto de: Entrega a cuenta para impresora multifunción Brother DCP-7060.
Fecha y firma:


Y un comprobante aquí puede ser el "comprobante de compra", o sea, el ticket (factura con iva incluido en precios): Gracias por la compra de los zapatos, no pierda el comprobante/ticket porque lo necesitará si no le quedan bien y quiere descambiarlo por otros.

Saludos.

Última edición por Casimiro Notevi fecha: 15-10-2012 a las 17:25:24.
Responder Con Cita
  #7  
Antiguo 15-10-2012
Leopard2 Leopard2 is offline
Miembro
NULL
 
Registrado: may 2012
Posts: 39
Poder: 0
Leopard2 Va por buen camino
Young, Gracias por la ayuda, voy a probar con tu ejemplo pero por lo que he estado investigando y leyendo por ahí va la cosa, además creo que voy a cambiar de los IBQuerys a los IBDataset ya que parece ser son mas fáciles de usar.
Saludos

pd. Casimiro le falto explicar como haces el Master/Detail con los Comprobantes, Presupuestos, Pedidos, Facturas, Albaran y etc, etc.
Responder Con Cita
  #8  
Antiguo 15-10-2012
Avatar de Young
Young Young is offline
Miembro
 
Registrado: abr 2006
Ubicación: San Felipe, Chile
Posts: 86
Poder: 19
Young Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje

Presupuesto: Hola, necesito que me dé un presupuesto de lo que me costaría unas piezas para mi ordenador y ustedes me lo instalan.
Artículo----------cantidad----precio--importe
Disco duro 1 TB--------1-------100-------100
Teclado cherry---------1--------50--------50
Mano de obra-----------1--------30--------30
SUMA--180
IVA 21%----37,8-------------------TOTAL--217,8
Dolor... 21% I.V.A. y en Chile sufriendo por el 19%... más impuesto específico al combustible (42% aprox) ...

Por otro lado gracias por la aclaración... saludos.
Responder Con Cita
  #9  
Antiguo 16-10-2012
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Ya veo que llamamos a las cosas diferentes según el lado del charco

Aquí algunos, para el común de la gente, estilan llamar Recibo a ambas cosas... aunque aquí tenemos otro nombre más formal: Remito. Dejando el término Recibo para el propio papel describes en donde se deja la firma.
Y hay quienes le llaman Nota de Remito, como para diferenciar de lo que se estila llamar Nota de Pedidos... aquí hasta se inventa el término Nota de Reposición, Nota de Vencimiento, Nota de Devolución, Nota de Respuestos...
Uff... algunos (los clientes) se inventan notas (que de carácter legal no tiene nada). ¿Me pregunto, tendrán un nombre extra para ese papel que se llevan al baño?

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #10  
Antiguo 16-10-2012
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por Delphius Ver Mensaje
¿Me pregunto, tendrán un nombre extra para ese papel que se llevan al baño?
Como van las cosas, quizá terminemos llamándole papel moneda.

Casi, me parece que no fue Colón quien llamó América al continente, sino un tal Américo Prepucio (o algo así).

Responder Con Cita
  #11  
Antiguo 16-10-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Al González Ver Mensaje
Como van las cosas, quizá terminemos llamándole papel moneda.
Casi, me parece que no fue Colón quien llamó América al continente, sino un tal Américo Prepucio (o algo así).
Sí, Américo Vespucio , menos mal que no se llamaba Federico, Pancracio o Romualdo
Aunque su nombre real era Amerigo Vespucci, nació en Italia.

Colón pensaba que eran tierras de "las indias", murió sin saber que era un continente desconocido para el "viejo mundo".
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
DBLookupComboBoxs Master/Detail o Detail/Master yusnerqui OOP 5 29-07-2005 18:40:20
master/detail, imprimiendo master en cada hoja acalderonr Impresión 4 29-11-2003 14:46:07
master detail marcelofabiani Firebird e Interbase 5 01-11-2003 22:21:28
interbase:¿como crear un master-detail-detail? ElSanto24 Firebird e Interbase 2 22-10-2003 10:24:45
Master/Detail/Detail/Detail/etc... hgiacobone Tablas planas 2 24-07-2003 17:20:31


La franja horaria es GMT +2. Ahora son las 08:21: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
Copyright 1996-2007 Club Delphi