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 05-04-2011
RedVenom RedVenom is offline
Miembro
 
Registrado: oct 2003
Ubicación: Tabasco, Mexico
Posts: 110
Poder: 21
RedVenom Va por buen camino
Unhappy Limitar cantidad e registros a crear en una base de datos

Antes que nada disculpen si no va aqui la pregunta pero no supe donde de ponerla, bueno ahi va la cuestion tengo un LookUpComboBox y bueno dependiendo la opcion que escojan de el es la catidad de registros que quiero dejar que el usuario pueda registrar en la base de datos, por ejemplo:
Si escojen Ciclismo que solo puedan meter 3 participantes de ciclismo en la base de datos y no se si puede hacer con un DBGrid o con un contador o algo parecido por favor me urge espero su ayuda.
Gracias de antemano.
Responder Con Cita
  #2  
Antiguo 05-04-2011
RedVenom RedVenom is offline
Miembro
 
Registrado: oct 2003
Ubicación: Tabasco, Mexico
Posts: 110
Poder: 21
RedVenom Va por buen camino
Por si no me explique aqui les va un mejor ejemplo:

Tengo una tabla Asocicacion, una Tabla Participantes, una Tabla Deporte y una Tabla Inscripcion entonces por ejemplo una asociacion en el deporte futbol solo puede tener inscritos a 11 participantes y en el deporte ciclismo uno entonces mi tabla inscripcion guardo el ID del participante y el ID del deporte y el id de la asociacion pero en esa tabla yo quiero que de alguna forma solo pueda admitir 11 registros si es de futbol o 1 si es de ciclismo alguien me puede dar alguna idea.
Gracias
Responder Con Cita
  #3  
Antiguo 05-04-2011
RedVenom RedVenom is offline
Miembro
 
Registrado: oct 2003
Ubicación: Tabasco, Mexico
Posts: 110
Poder: 21
RedVenom Va por buen camino
Yo solo me voy dando ideas pero estas nuevas ideas me crean nuevas interrogantes, bueno ahi les va mi idea crear un campo en el que guarde el ID de la asociacion y el ID del Deporte creando un registro de este tipo "01-03" y luego recorrer la tabla y por cada registro que encuentre que lo sume en uno y lo guarde en una variable y despues con un if preguntar por ejemplo en el caso del futbol si la variable es menor que once dejar guardar un nuevo registro y si no mandar un mensaje que ya no se pueden guardar mas registros para ese deporte, ahora la duda es como puedo hacer ese barrido o recorrido por la tabla y como hago el incremento en uno dentro de la variable cada vez que encuentre un registro igual al dato que le estoy pasando.

De nuevo espero su gran ayuda es de vida o muerte casi, solo tengo hasta mañana al medio dia para terminar esta aplicacion.
Responder Con Cita
  #4  
Antiguo 05-04-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola RedVenom.

En principio creo que el lugar adecuado para evaluar es el evento BeforeInsert del DataSet.

Por ejemplo:
Código Delphi [-]
...
(* True si se alcanzo la cantidad máxima permitida *)
function TForm1.CiclistasFull(ADataSet: TDataSet; Tope: Integer): Boolean;
begin
  Result:= ADataSet.RecordCount >= Tope;
end;

procedure TForm1.DataSet1BeforeInsert(DataSet: TDataSet);
begin
  if CiclistasFull(DataSet, 3) then  // donde 3 es la cantidad máxima de ciclistas (Tope)
  begin
    ShowMessage('Error: Pista demasiado angosta para tanta bicicleta...');
    Abort;
  end;
end;
...


Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 05-04-2011 a las 07:52:30.
Responder Con Cita
  #5  
Antiguo 05-04-2011
RedVenom RedVenom is offline
Miembro
 
Registrado: oct 2003
Ubicación: Tabasco, Mexico
Posts: 110
Poder: 21
RedVenom Va por buen camino
Question

Disculpa tanta ignorancia pero no soy muy asiduo a programar pero en la funcion en que parte le paso el campo o el dato que quiero que cuente.
Gracias por tu ayuda
Responder Con Cita
  #6  
Antiguo 05-04-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola de nuevo.

No vi tu segundo post hasta despues de guardar el anterior. Había interpretado por el primero que eran varias tablas.

Pero viendo tu segundo mensaje me parece que en una misma tabla tenes todos los deportes. ¿ Es así ?

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #7  
Antiguo 05-04-2011
RedVenom RedVenom is offline
Miembro
 
Registrado: oct 2003
Ubicación: Tabasco, Mexico
Posts: 110
Poder: 21
RedVenom Va por buen camino
asi es en una misma tabla tengo todos los deportes pero futbol solo se pueden inscribir hasta once y en ciclismo solo uno y asi sucesivamente dependiendo del deporte.
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
Limitar cantidad de registros por pagina elarys Impresión 1 29-10-2010 07:38:03
Como limitar la cantidad de registros impresos por hoja mbguantay Impresión 3 25-08-2010 15:22:24
Eliminar registros de mi base de datos Elite237 OOP 9 29-07-2007 22:07:11
¿Cómo limitar la cantidad de carateres a escribir en un RichEdit? Alcolea Varios 5 05-12-2006 03:17:55
Limitar la carpeta donde crear la base de datos fcios Firebird e Interbase 0 01-11-2005 06:03:22


La franja horaria es GMT +2. Ahora son las 04:20:03.


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