Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

compar tablas.

Estas en el tema de compar tablas. en el foro de Bases de Datos General en Foros del Web. Buen dia estoy haciendo un pequeño software personal lo cual solo va a llevar el pago mensual de mis abonados. tengo una tabla hecha en ...
  #1 (permalink)  
Antiguo 25/01/2016, 11:27
 
Fecha de Ingreso: enero-2016
Mensajes: 46
Antigüedad: 8 años, 3 meses
Puntos: 0
compar tablas.

Buen dia estoy haciendo un pequeño software personal lo cual solo va a llevar el pago mensual de mis abonados.

tengo una tabla hecha en access y estoy usando visual basic.

tengo varias tablas

Cita:
clientes
id_cedula
nombre
apellido
direccion
telefono
Cita:
cuentas
id_cuentas
descripcion
Cita:
mes_año
id_mes
mes
monto
año
Cita:
pagos
id_pagos
id_mes
id_cliente
fecha
hasta aqui todo va bien el detalle es que cuando hago un pago , ejemplo el cliente andres paga el mes de enero, pero juan y pedro no lo han pagado alli es donde quiero llegar, ya yo tengo una consulta en acces que me muestra los que ya han pagado los meses, pero me falta una donde me muestre los clientes que aun lo deben.
  #2 (permalink)  
Antiguo 25/01/2016, 11:32
 
Fecha de Ingreso: enero-2016
Mensajes: 46
Antigüedad: 8 años, 3 meses
Puntos: 0
Respuesta: compar tablas.

Cita:
id_cedula nombre apellido Id mes fecha monto banco tipo año codigoreferencia

115555 BELTRAN PLUTANO 1 enero 15/01/2016 400 del sur deposito 2016 6392279
1125222 JOSE MARCANO 1 enero 30/12/2015 400 banesco transferencia 2016 1211222
Con la consulta que tengo puedo ver quienes ya han pagado.

Solo me falta quienes no y que los muestre en el datagrid de visual.
  #3 (permalink)  
Antiguo 25/01/2016, 11:39
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: compar tablas.

Y cual es tu consulta?
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #4 (permalink)  
Antiguo 25/01/2016, 13:09
 
Fecha de Ingreso: enero-2016
Mensajes: 46
Antigüedad: 8 años, 3 meses
Puntos: 0
Respuesta: compar tablas.

saber los que faltan por pagar el mes actual. o meses atrasados. estoy usando mi tabla en access
  #5 (permalink)  
Antiguo 25/01/2016, 13:13
 
Fecha de Ingreso: enero-2016
Mensajes: 46
Antigüedad: 8 años, 3 meses
Puntos: 0
Respuesta: compar tablas.

o si se pudiera tener otra tabla donde esten los clientes cargados con toda la deuda? la deuda seria en meses ?
  #6 (permalink)  
Antiguo 25/01/2016, 13:23
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: compar tablas.

Más alla de que Access no califica como DBMS, y es demasiado rudimentario en sus caapcidades, el problema a nivel de datos surge de un pequeño problema qmue ya nos han consultado infinidad de veces.
Cita:
el cliente andres paga el mes de enero, pero juan y pedro no lo han pagado alli es donde quiero llegar, ya yo tengo una consulta en acces que me muestra los que ya han pagado los meses, pero me falta una donde me muestre los clientes que aun lo deben
PArtiendo de la base que el SQL trabaja sobre los datos que existen, y considerando que un pago que no se ha hecho es un pago que no existe, no hay forma de obtener esos datos si no hay en alguna parte un registro de las cuotas que deberían haber abonado...
¿Se entiende la idea?
Si no tienes una forma de registrar aquellos que se debe, ninguna consulta de SQL podrá visualizarlo.
Sea que generes una tabla de MESES, o que registres de alguna manera Facturas pendientes de pago, de algún modo debe haber algo que permita a la base devolver un registro.

Eso es lo que no tienes.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 25/01/2016, 13:50
 
Fecha de Ingreso: enero-2016
Mensajes: 46
Antigüedad: 8 años, 3 meses
Puntos: 0
Respuesta: compar tablas.

tienes mucha razon amigo pero como soy novato podras enterme un poco, si fueras tu que

Cita:
Si no tienes una forma de registrar aquellos que se debe, ninguna consulta de SQL podrá visualizarlo.
Sea que generes una tabla de MESES, o que registres de alguna manera Facturas pendientes de pago, de algún modo debe haber algo que permita a la base devolver un registro.
como se podria crear lo que propones? hablo de que campo haria falta en mi tabla para que quede el registro que mencionas? no importando si tengo acces u otro manejador de base de datos. Estoy estancado alli
  #8 (permalink)  
Antiguo 25/01/2016, 13:54
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: compar tablas.

Cita:
no importando si tengo acces u otro manejador de base de datos
Importa, y mucho... Access no es un sistema de bases de datos, es un manejador de tablas con recursos rudimentarios de SQL.

Cita:
como se podria crear lo que propones
Ya te lo dije:
Cita:
Sea que generes una tabla de MESES, o que registres de alguna manera Facturas pendientes de pago
Las soluciones pueden ser infinitas, incluyendo no almacenar nada y resolverlo en programación. En este ultimo caso, simplemente generas la información visualmente, recorriendo los registros devueltos y agregando los que no están en la vista...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 25/01/2016, 14:01
 
Fecha de Ingreso: enero-2016
Mensajes: 46
Antigüedad: 8 años, 3 meses
Puntos: 0
Respuesta: compar tablas.

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Importa, y mucho... Access no es un sistema de bases de datos, es un manejador de tablas con recursos rudimentarios de SQL.


Ya te lo dije:
Las soluciones pueden ser infinitas, incluyendo no almacenar nada y resolverlo en programación. En este ultimo caso, simplemente generas la información visualmente, recorriendo los registros devueltos y agregando los que no están en la vista...
intentare lo que mencionas al final, lo de la base de datos lo uso access por que no voy a manejar nada extenso solo es un programa personal para mi, para manejar un control de pago mas o menos de 60 personas.
  #10 (permalink)  
Antiguo 25/01/2016, 14:04
 
Fecha de Ingreso: enero-2016
Mensajes: 46
Antigüedad: 8 años, 3 meses
Puntos: 0
Respuesta: compar tablas.

podras darme un ejemplo de como lo harias en sql ?, es decir como recorres la tabla clientes y pago, asi lo interpreto y lo ejecuto en visual.
  #11 (permalink)  
Antiguo 25/01/2016, 14:21
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: compar tablas.

SQL y Visual no se relacionan. No es lo mismo mirar datos que mirar procesos.

Para hacerlo en SQL hay que crear un stored procedure, cuya sintaxis depende del DBMS.
¿Tienes práctica en SP con algún DBMS?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #12 (permalink)  
Antiguo 25/01/2016, 14:28
 
Fecha de Ingreso: enero-2016
Mensajes: 46
Antigüedad: 8 años, 3 meses
Puntos: 0
Respuesta: compar tablas.

en realidad no sr gnzsoloyo, pero ni modo tendre que hecharle un poco mas de cabeza algun dia lo terminare ^^
  #13 (permalink)  
Antiguo 25/01/2016, 14:43
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: compar tablas.

cuando pregunte consulta me referia a tu query, con el diagrama de tablas que tienes se puede lograr una consulta sacando las personas que no aparecen en la tabla pagos
Código SQL:
Ver original
  1. SELECT * FROM clientes AS t1
  2. LEFT JOIN pagos AS t2 ON (t1.cliente=t2.id_cliente)
  3. WHERE t2.mes='enero' AND t2.id_cliente IS NULL

algo asi :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #14 (permalink)  
Antiguo 25/01/2016, 14:50
 
Fecha de Ingreso: enero-2016
Mensajes: 46
Antigüedad: 8 años, 3 meses
Puntos: 0
Respuesta: compar tablas.

Cita:
Iniciado por Libras Ver Mensaje
cuando pregunte consulta me referia a tu query, con el diagrama de tablas que tienes se puede lograr una consulta sacando las personas que no aparecen en la tabla pagos
Código SQL:
Ver original
  1. SELECT * FROM clientes AS t1
  2. LEFT JOIN pagos AS t2 ON (t1.cliente=t2.id_cliente)
  3. WHERE t2.mes='enero' AND t2.id_cliente IS NULL

algo asi :)
Perfecto ? te puedo hacer una pregunta que programa usan para usar sql, para ver si puedo migrar mi base asi poder usar los codigos que mencionan ustedes?
  #15 (permalink)  
Antiguo 25/01/2016, 14:56
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: compar tablas.

Cualquier cosa q no sea access jejeje en mi caso uso sql server
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #16 (permalink)  
Antiguo 25/01/2016, 15:01
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: compar tablas.

Cita:
Iniciado por urbaezesteban Ver Mensaje
Perfecto ? te puedo hacer una pregunta que programa usan para usar sql, para ver si puedo migrar mi base asi poder usar los codigos que mencionan ustedes?
La idea base es la que te pasa Libras.
Lo que hay que resolver es el incidente de los meses que ninguno haya pagado (algo completamente posible), asi como los meses futuros.
Un modo rudimentario es usar una tabla fija de doce registros, uno para cada mes. DE esa forma se hace un JOIN sobre las tres y se obtienen los meses donde no hay pagos registrados, se a de un cliente o de mas de uno.

No es la mejor forma y es a ESO es a lo que yo me refería.
Por otro lado, hay que tener en cuenta que crear tablas paramétricas como esa no suele ser una buena idea, a nivel de performance. Y como además los Documentos a Pagar son una necesidad contable, lo que podría ser mejor es crear una tabla donde un proceso asiente los documentos pendientes de cobro. Así simplificas la cosa, haciendo (paradójicamente) un diseño de base mas elaborado.

Las bases no se diseñan para el presente.Se diseñan pensando en el uso futuro...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #17 (permalink)  
Antiguo 25/01/2016, 17:49
 
Fecha de Ingreso: enero-2016
Mensajes: 46
Antigüedad: 8 años, 3 meses
Puntos: 0
Respuesta: compar tablas.

estoy bajando SQL Server 2012 para migrar mi base e usar sus codigos no me abandonen =)
  #18 (permalink)  
Antiguo 25/01/2016, 18:13
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: compar tablas.

Ármate de paciencia, porque dejar Access y pasar a usar un verdadero DBMS, es casi empezar de cero en muchisimas cosas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #19 (permalink)  
Antiguo 25/01/2016, 18:25
 
Fecha de Ingreso: enero-2016
Mensajes: 46
Antigüedad: 8 años, 3 meses
Puntos: 0
Respuesta: compar tablas.

la paciencia la tengo, solo donde me quede estancado les tendre que preguntar ya que son los maestros en DBMS
  #20 (permalink)  
Antiguo 26/01/2016, 18:41
 
Fecha de Ingreso: enero-2016
Mensajes: 46
Antigüedad: 8 años, 3 meses
Puntos: 0
Respuesta: compar tablas.

les comento que ya instale sql y monte todas las tablas que tenian en la anterior base. la pregunta aqui debo igual relacionar todas las tablas?
  #21 (permalink)  
Antiguo 27/01/2016, 08:36
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: compar tablas.

Por supuesto :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:55.