Tema: FAQ's de VB6
Ver Mensaje Individual
  #87 (permalink)  
Antiguo 24/08/2005, 21:07
Avatar de aldo1982
aldo1982
 
Fecha de Ingreso: noviembre-2004
Ubicación: Santa Fe (Argentina) Colon F.C
Mensajes: 1.362
Antigüedad: 19 años, 4 meses
Puntos: 6
Opciones Avanzadas De Bases De Datos

COMO USAR OPCIONES AVANZADAS DE BASES DE DATOS?

SE HACE DE LA SI. MANERA:

OPCIONES AVANZADAS DE BASES DE DATOS


Cuadricula enlazada a datos

En algunas ocasiones desearás mostrar más de un registro a la vez, con sus correspondientes campos. Para ello Visual Basic incorpora un nuevo control llamado Cuadrícula, que se presenta en dos versiones: enlazada y no enlazada
Las dos permiten mostrar información de forma tabular, es decir, con un conjunto de filas y columnas.
La versión enlazada (DBGrid), es más apropiada cuando deseamos mostrar información proveniente de una determinada base de datos.
Al utilizar dicho control puedes mostrar en cada una de sus columnas un campo y en cada una de las filas un registro del recordset del que haya sido enlazado.
El control Cuadrícula enlazada a datos no aparece en la caja de herramientas estándar ya que es un control personalizado con el siguiente htmlecto:






Deberás agregarlo manualmente a la caja de herramientas, su nombre es Data Bound Grid.
El control cuadrícula enlazada a datos aparece inicialmente con dos filas y dos columnas. Se puede modificar en tiempo de diseño esperar que en tiempo de ejecución, cuando se enlace con un determinado recordset se ajuste al mismo.
El primer conjunto de propiedades interesantes de este control es el que establece su comportamiento en tiempo de ejecución. Las propiedades AllowAddNes, AllowDelete y AllowUpdate nos indican si en tiempo de ejecución se va a permitir añadir, eliminar o actualizar respectivamente el registro de la cuadrícula.
La propiedad que establece el enlace con el correspondiente control data es, al igual que en el resto de controles enlazados DataSource. Sin embargo, no presenta la propiedad DataField ya que cuando utilices una cuadrícula es para mostrar un conjunto de registros, que seguramente tendrán más de un campo.


Consultas en SQL

Cuando quieras mostrar información que provenga de más de una tabla, no tienes más remedio que utilizar el lenguaje SQL para establecer la correspondiente consulta en la propiedad RecordSource de un control data.
SQL es un lenguaje que pretende ser estándar en el acceso a bases de datos relacionales, de forma que independientemente del origen de la información, puedas acceder a ella a través de instrucciones SQL.
Puedes establecer la propiedad RecordSource del control data en tiempo de ejecución y darle el valor de una determinada instrucción SQL, de esta forma el usuario puede especificar lo que quiere extraer de la base de datos.
Una vez establecida la propiedad RecordSource, tienes que utilizar el método Refresh del control data para crear el objeto recordset, al haber cambiado la propiedad del recordsource.
La instrucción que se utiliza para crear consultas de selección SQL es SELECT. La síntaxis de esta instrucción es la siguiente:

SELECT -columnas-
FORM -tablas-
[WHERE -condiciones-]
[ORDER BY -columnas-]

La instrucción SELECT comienza con dicha palabra y un conjunto de columnas, es decir, el conjunto de campos que queremos que muestre la consulta como resultado de la misma.
Seguidamente aparecere la cláusula FORM, que identifica las tablas sobre las que se realiza la consulta. Los campos especificados en la cláusula SELECT deben pertenecer a las tablas especificadas en FORM.
Seguidamente nos encontramos con dos cláusulas opcionales como nos indican la presencia de cochetes. La cláusula WHERE especifica el criterio que debe cumplir para que un determinado registro aparezca en el resultado de la consulta.
Normalmente serán expresiones de comparación del tipo NombreCampo = Valor o usando ciertas funciones de SQL.
La cláusula ORDER BY especifica en qué orden aparecerán los resultados de una consulta. Tienes que especificar el campo o conjunto de campos por los que se ordenan los registros de la consulta. También puedes indicar si el orden es ascendente o descendente.
Vamos a ver un ejemplo:

SELECT Nombre
FORM Empleados

Se especifica que se muestre el campo Nombre de los registros que pertenecen a la tabla Empleados.
Si quieres que se muestra más de un campo, hay que separarlos por comas, y si quieres que se muestren todos los campos de una tabla se puede utilzar el caráter *. Así, la consulta devolverá todos los campos de la tabla Empleados.

SELECT Empleados.Nombre, Empleados.[fecha alta]
FORM Empleados,TiempoAlta
WHERE Empleados.Puesto = TiempoAlta.Puesto

En esta caso se está pidiendo que se muestren los campos Nombre y TiempoAlta de los registros situados en la tabla Empleados y cuyo Puesto exista en algún registro de la tabla Puesto.
Si se utilizan más de una tabla de consultas es conveniente indicar el nombre de la tabla en la cláusula SELECT junto al nombre del campo que quieres mostrar, por que las dos tablas podrían tener el mismo nombre para uno o más campos.
Si el nombre de un campo está compuesto por más de una palabra, tienes que utilizar corchetes para delimitarlo.
Todas las tablas implicadas aparecen en la cláusula FORM separadas por comas.
La cláusula WHERE presenta el criterio de comparación.


Validar el control data

Cuando se intereactua con el control data en un formulario podemos utilizar alguno de sus eventos para establecer niveles de validación de los datos que se han introducido o modificado.
El evento más utilizado es validate. Sucede siempre antes de que el registro actual cambie.
Veamos un ejemplo:

Private Sub datEmpleados_Validate(Action As Integer, Save As Integer)
Dim respuesta As Integer
If Save = True Then
respuesta = MsgBox("Quieres guardar los cambios", vbYesNo)
If respuesta = vbNo Then
Save = False
End If
End If
End Sub

El procedimiento de evento Validate contiene dos parámetros: Action que indica por qué se ha producido el evento y Save que indica se se debe o no modificar la base de datos.
Así el código utiliza el parámetro Save y permite confirmar, por parte del usuario, que se lleve a cabo la modificación que se ha realizado. Se se responde No, los cambios no tienen efecto al establecer el valor False del parámetro Save.
También se pueden crear reglas de validación al crear una tabla. Así puedes introducir reglas de validación junto al menseja que debe aparecer si se infringen, reglas de integridad referencial, etc...
__________________
LA MUERTE ESTÁ TAN SEGURA DE VENCER QUE NOS DA TODA UNA VIDA DE VENTAJA