FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Datos por defecto en un DBGrid
Pues eso, me gustaria saber como poner datos por defecto en un DBGrid. me explico:
yo pongo un DBGrid en un form y lo relaciono con una tabla. entonces lo que quiero es que ciertos campos de la tabla, por defecto tengan un determinado valor y al crear una fila nueva en el DBGrid, me aparezca ese campo (Field) con ese valor dado el caso es que no puedo usar DEFAULT dentro de la definicion de la tabla ya que yo tengo en realidad 2 DBGrid que hacen cada uno una consulta sobre la misma tabla y cada una da un valor por defecto a un campo en concreto. Tambien a ver si sabeis como dar un valor especifico (ya no por defecto) a los campos de una nueva fila en un DBGrid Gracias. espero haberme explicado |
#2
|
||||
|
||||
Utiliza 2 TTables, una para cada Grid.
Doble clic a la tabla, añades todos los campos y ahora configuras desde delphi, y para cada tabla, el valor que quieres por defecto. Para la segunda pregunta, usa el evento OnNewRecord de cada tabla, y ahí le das a los campos el valor que desees (por código). saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. Última edición por Lepe fecha: 15-10-2005 a las 15:29:22. |
#3
|
|||
|
|||
lo que pasa es que yo uso Querys en vez de tablas. es decir
tengo una tabla con un campo tipo. y dos DBGrid en los que quiero mostrar: en el DBGrid1, los registros de la tabla que tienen el campo Tipo=1, para lo que uso un Query (select * from Tabla where Tipo=1) y en el DBGrid2, los registros de la misma tabla con Tipo=2 para lo que uso otro Query (select * from Tabla where Tipo=2) no se si asi vale lo que me has dicho porque uso Querys y no tablas. a ver si puedes confirmarme esto. Gracias |
#4
|
||||
|
||||
Dependerá del motor de bases de datos que uses, si son RequestLive, etc.
Lo dicho para el TTable, tambien sirve para el TQuery, haz la prueba. saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#5
|
|||
|
|||
uso paradox7 y requestlive
pero... como se ponen los valores por defecto con delphi?? |
#6
|
||||
|
||||
Para que funcione, solo puedes usar en tu query un select de una sola tabla, y en el Evento OnNewRecord de ese query, le das los valores que quieras a los campos.
query1.Fieldbyname('Tipo').AsInteger := 1; saludos (que conste que no lo he probado).
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#7
|
|||
|
|||
todavia no lo he probado pero me da toda la pinta de que es asi, estoy seguro
es que yo probaba con Query1.Fieldbyname('Tipo').value=1 pero no me iba, el .value no me daba problemas pero luego el =1 parece que si. yo usaba el .asinteger para sacarlo pero no lo habia pensado para cambiar el valor voy a probarlo y te cuento. Muchas Gracias |
#8
|
||||
|
||||
En principio no tiene por qué haber problemas. Value es de tipo Variant, por tanto, se puede leer y escribir directamente en él sin conocer el tipo del campo, (otra cosa es que se le de un valor incorrecto como por ejemplo 'a')
AsInteger, se le está diciendo el tipo de dato, es más concreto y eficiente ya que no usa conversiones Variants innecesarias. De ambas formas debería funcionar. Es mas si das doble clic a tu query y con el boton derecho añades tus campos (añades los campos de forma persistente). Ya puedes usar otra expresión más para acceder a los campos y sería: Query1Tipo.AsInteger := 1; (notese que entre "Query1" y "Tipo" no hay ningun punto), de esta forma estamos accediendo directamente al campo sin buscarlo en el Query. saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#9
|
|||
|
|||
Pues lo del value no me funcionaba
Bueno la verdad es que yo uso c++ builder pero todo lo que he preguntado aqui y me habeis respondido y todo lo q he visto en este foro me ha funcionado. mas que nada lo pregunto aqui por qu de los q he visto este es el foro que mejor me ha resutado para mis dudas Con el value me daba un error porque la base de datos no estaba abierta (o algo asi, no lo recuerdo bien ahora mismo). pero con AsInteger me funciona a la perfeccion. Muchas gracias por la aclaracion de en q consiste el value, se agradece Gracias Lepe por todo!!!!!! |
|
|
|