![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
El que no acaba de entender el problema soy yo.
Si tú defines un campo, pero se lo muestras al usuario en un label, ¿como puede el usuario modificar el valor? Si lo tienes en un Grid, como dice AGAG4 basta con poner ese campo a ReadOnly para que no pueda modificarlo. Si el usuario sabe sql y le das la herramienta oportuna o le instalas el IBExpert, podrá cambiar el valor, pero con tu programa será imposible. Es más, siempre hay que dejar "una puerta abierta" para que en caso de fallos se pueda arreglar un deshaguisado. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#2
|
|||
|
|||
|
Perdona pero es que no esta en un grid o al menos que yo sepa, mas que nada porque no se que es eso de un grip. Si eres tan amable por favor explicame que es un grid que a lo mejor pasa por alli la solucion.
|
|
#3
|
||||
|
||||
|
Grid, grilla, rejilla de datos o su nombre técnico de la paleta de componentes (dbcontrols) que es TDBGRID.
Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#4
|
||||
|
||||
|
Checa Esto...
Para que te quede más claro, cuando le das un clic sobre la pestaña DATA en alguna TABLA del IBExpert, te aparecen los datos de las tablas en "CELDAS" a eso se le llama GRID.
|
|
#5
|
|||
|
|||
|
Hola si lo que quieres es que desde la base de datos esten las restricciones, puedes usar el grant.
la primera le da derechos al usuario para agregar, borrar o visualizar los registros, la segunda permite que le des autorizacion al usuario para modificar solo algunas columnas. el unico detalle que aqui veo es que si tu programa usa esa cuenta de usuario para hacer las operaciones tampoco va a poder modificar el campo. Si no te funciona comenta un poco mas como tienes la estructura o que quieres hacer
__________________
Saludos Alfredo |
|
#6
|
|||
|
|||
|
Hola jacanche:
Tengo esta estructura de tabla, (codigo) CREATE TABLE AARTICUL ( CODART CHAR(13) NOT NULL, NOMART VARCHAR(80) NOT NULL, FAMILI CHAR(5) NOT NULL, SUBFAM CHAR(3) NOT NULL, PRECIO NUMERIC(15,2) NOT NULL, IVAVEN CHAR(3) NOT NULL, RETVEN CHAR(3), DTOVEN NUMERIC(6,2) NOT NULL, IVACOM CHAR(3) NOT NULL, RETCOM CHAR(3), DTOCOM NUMERIC(6,2) NOT NULL, USER_CREATED CHAR(20) NOT NULL, DATE_CREATED DATE NOT NULL, USER_UPDATED CHAR(20) NOT NULL, DATE_UPDATED DATE NOT NULL ); /******************************************************************************/ /**** Primary Keys ****/ /******************************************************************************/ ALTER TABLE AARTICUL ADD CONSTRAINT PK_AARTICUL PRIMARY KEY (CODART); /******************************************************************************/ /**** Foreign Keys ****/ /******************************************************************************/ ALTER TABLE AARTICUL ADD CONSTRAINT FK_AARTICUL FOREIGN KEY (FAMILI) REFERENCES AFAMILIA (CODIGO); ALTER TABLE AARTICUL ADD CONSTRAINT FK_AARTICUL1 FOREIGN KEY (SUBFAM, FAMILI) REFERENCES ASUBFAMI (CODIGO, CODFAM); ALTER TABLE AARTICUL ADD CONSTRAINT FK_AARTICUL2 FOREIGN KEY (IVAVEN) REFERENCES ATIPOIMP (CODIGO); ALTER TABLE AARTICUL ADD CONSTRAINT FK_AARTICUL3 FOREIGN KEY (RETVEN) REFERENCES ATIPOIMP (CODIGO); ALTER TABLE AARTICUL ADD CONSTRAINT FK_AARTICUL4 FOREIGN KEY (IVACOM) REFERENCES ATIPOIMP (CODIGO); ALTER TABLE AARTICUL ADD CONSTRAINT FK_AARTICUL5 FOREIGN KEY (RETCOM) REFERENCES ATIPOIMP (CODIGO); /******************************************************************************/ /**** Triggers ****/ /******************************************************************************/ SET TERM ^ ; /* Trigger: AARTICUL_BI0 */ CREATE TRIGGER AARTICUL_BI0 FOR AARTICUL ACTIVE BEFORE INSERT POSITION 0 AS begin if (new.user_created is null) then new.user_created= user; if (new.user_updated is null) then new.user_updated = user; if(new.date_created is null) then new.date_created = 'NOW'; if(new.date_updated is null) then new.date_updated = 'NOW'; end ^ /* Trigger: AARTICUL_BU */ CREATE TRIGGER AARTICUL_BU FOR AARTICUL ACTIVE BEFORE UPDATE POSITION 0 AS begin new.user_updated= user; new.date_updated='NOW'; end ^ SET TERM ; ^ (/codigo) Entonces como puedes ver tanto el usuario que crea el registro como la fecha de creacion y el usuario que modifica y la fecha en la cual es modificado lo controlo por un disparador, pero resulta que si meto los datos de forma manual en ibexper me deja tocar esos campos cuando yo no quiero que el usuario pueda hacer nada sobre ellos. La solucion que me dabas del grant insert etc etc es buena pero tiene el problema que tu mismo has podido ver, que me daria un fallo al lanzar el disparador. Si se te ocurre alguna otra cosa pues te agradeceria que me dijeras. Espero que con la estructura de la tabla todos podamos entender un poco mejor cual es mi problema, gracias. |
|
#7
|
||||
|
||||
|
Checa Esto...
Y porque no les quitas el IBEXPERT a los Usuarios ????
Tu eres el desarrollador???? Hay más desarrolladores a quienes no puedes confiar???? |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| mysql no me permite agregar registros como duplicate entry.. | Arturo | MySQL | 1 | 24-07-2006 19:15:39 |
| Pasar un campo calculado a un campo del mismo DbGrid | maravert | Conexión con bases de datos | 3 | 12-05-2006 00:31:30 |
| Error (Duplicate Entry) | romansiux | Varios | 4 | 31-05-2005 02:17:28 |
| UPDATE de un campo dependiendo del valor de un campo de otra tabla | Javi2 | SQL | 5 | 18-04-2005 16:35:05 |
| Invalid key links entry?? | nefy | Firebird e Interbase | 8 | 12-05-2004 17:06:21 |
|