![]() |
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. |
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 |
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. |
Hola RedVenom.
En principio creo que el lugar adecuado para evaluar es el evento BeforeInsert del DataSet. Por ejemplo:
Un saludo. |
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 |
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. |
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.
|
es decir en una misma tabla voy a meter todos los que se inscribieron a futbol, a ciclismo, a natacion pero quiero limitar la cantidad de inscritos segun el deporte al que se inscribieron.
|
¿ Con que base de datos estas trabajando ?
|
Con SQL server 2008
|
Alguna idea??
|
Amigo, para empezar, deberías leer nuestra guía de estilo, gracias por tu colaboración.
Y para continuar, tienes muchas opciones, por ejemplo un simple campo que indique qué tipo de deporte es. |
Casimiro Notevi
gracias por lo de la guia de estilo y pues tu sugerencia de resolucion a mi problema creo que no dice nada porque ya se que le tengo que poner un campo que me diga que deporte es, eso es mas que obvio pero dime como limito que no creen mas registros de los que permite el deporte te repito si el deporte solo se pueden inscribir hasta once que no me creen 12 registros o mas que pertenesca al deporte futbol. De todos modos se agradece tu "aportacion" a mi problema. |
Cita:
¿Acaso no te gusta el código de ecfisa?, por eso te he indicado yo lo del tipo de deporte, porque si es tan obvio como dices entonces no sé cómo no lo has entendido ;) Sólo has de añadir el filtro por ese campo de "TipoDeporte", hay muchas formas, como te indiqué antes, pero aprovechando el código de ecfisa, puede ser algo así: ... |
Gracias me parece una respuesta mas adecuada lo probare porque la forma de tu primer respuesta no me dice nada porque como mencione no soy un programador asiduo, pero ya respondiendo de esta forma me da una mejor idea de lo que voy a hacer.
Gracias y si queda el codigo yo te aviso gracias porque lo tratare de adaptar porque en la tabla deportes es donde tengo guardaco cuantos pueden ser inscritos a cada deporte. Gracias |
De nada, para eso estamos aquí, para ayudarnos los unos a los otros.
|
ya lo estuve tratando de implementar en mi cabeza pero fijate que bueno con el codigo que me das limito la cantidad de registros que se pueden crear para X deportes pero hay una variable mas que es la de la tabla asociacion lo que quiero decir con esto es que una asociacion puede tener n catidad de escritos en x deporte y asi otras, asociaciones no se si me explique??
|
Por favor, pon aquí el código que estás usando, la estructura de las tablas, etc. para que podamos ir sobre seguro.
|
![]() Aqui esta la estructura de las tablas de la base de datos Código:
ASOCIACIONES Espero haber sido mas explicito la verdad ya estot bloqueado, de nuevo agradezco su ayuda. |
aqui esta el link con la imagen de como estan las tabalas de la base de datos porque el mensaje anterior no se aprecia http://cid-1291e717d22eba1d.office.l...%20DE%20BD.png
![]() |
Hola RedVenom.
Anoche falleció mi router :( por lo que no pude seguir con el tema. Recién ahora lo repuse. Lo lamento por la urgencia que tenías. Pero veo que has estado en muy buenas manos... :) Un saludo. |
Entonces, concretando, exactamente qué quieres controlar.
|
Pues ya entregue la BETA diriamos de la aplicacion pero si necesito implementar lo que les plantie y la verdad con el poco conocimiento que tengo le he dado vueltas a lo que se y no se me ocurre bueno la solucion si pero el codigo no.
Espero que sigan apoyandome con su valiosa orientacion. Gracias |
Hola de nuevo.
Agregué un campo a la tabla asociaciones que almacena el número de inscriptos en ese deporte de esa entidad. Y a fin de simplificar, sólo voy a dejar los campos significativos. Quito por ejemplo nombre del participante, etc: Cita:
Es un ejemplo muy simplificado... pero espero que te acerque alguna idea. Un saludo. |
Despues de un pequeño inconveniente que tuve con mi disco duro y casi pierdo todo mi codigo fuente, aqui estoy de regreso y pues no he resuelto el deta lle que les escribi aqui el ejemplo que me pone ECFISA es suponiendo que tengo un campo en el que llevo el control de los inscritos pero no es asi yo lo que deseo hacer es que de la tabla inscripciones yo cuente cuantos estan inscritos de cierta asociacion y comparando el limte maximo de jugadores con los que ya tengo inscritos me diga si puedo inscribir otro jugador o no.
|
Creo que ya lo resolvi aqui les voy a poner el codigo que utilize, pero primero les explico que cree un campo mas en la tabla inscripciones al que llame CONTROL y que lo lleno haciendo una concatenacion de esta forma el "ID" de la Asociacion luego pongo un "-" y lo completo con el "ID" del deporte y por supuesto lo guardo en una variable llamada "Bandera" que lo que contenga el texto de la variable lo guardo en el campo CONTROL, y pues despues de dar esta explicacion ahoara si va el codigo.
En caso de que haya alguna observacion sera muy bien recibida. Gracias por toda su ayuda y orientacion si no hubiera sido por ustedes no hubiera logrado llegar a este pedazo de codigo, y pues como me dijeron la respuesta me la dieron desde el primer dia solo que en ese momento erea unos codigos mas ignorante. |
| La franja horaria es GMT +2. Ahora son las 19:01:44. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi