Tutorial FoxPro 9

106
FACULTAD DE CIENCIAS EMPRESARIALES ESCUELA ACADEMICO PROFESIONAL DE CIENCIAS CONTABLES Y FINANCIERAS

description

TUTORIAL

Transcript of Tutorial FoxPro 9

FACULTAD DE CIENCIAS EMPRESARIALES

ESCUELA ACADEMICO PROFESIONAL DE CIENCIAS CONTABLES Y FINANCIERAS

83

INTRODUCCIN

Microsoft Visual FoxPro, es un sistema manejador de bases de datos relacionales, que permite manipular grandes volmenes de informacin de una manera bastante rpida y sencilla, adems brinda las herramientas necesarias para el desarrollo de aplicaciones bajo el entorno operativo Windows, utilizando la metodologa de la Programacin Orientada a Objetos (POO).

Aparte del acceso a tablas en formato nativo de Visual FoxPro, se puede acceder virtualmente a cualquier fuente de datos cuyo acceso se pueda hacer a travs de ODBC (Open DatabaseConnectivity). Este estndar, definido como Conectividad Abierta de Bases de Datos, permite abrir y consultar diversas bases de datos a travs de un conjunto de controladores, utilizando SQL como lenguaje de consulta.

Es uno de los gestores de base de datos relacionales ms rpido y flexible del mercado Visual FoxPro es un lenguaje de programacin que, con un lenguaje sencillo, simplifica el manejo de datos para que los usuarios puedan construir rpidamente sus aplicaciones

Trminos comunes usados en Visual FoxPro Entidad. Puede ser una persona, objeto o suceso, por ejemplo una relacin de pacientes, alumnos y clientes corresponden a la entidad persona.Un lote de autos, medicamentos corresponden a la entidad objeto, una operacin de crdito o una transferencia correspondera a la entidad suceso. Base de Datos. Es una coleccin integrada de datos almacenados en distintos tipos de registros, de forma que sean accesibles por mltiples aplicaciones. Los registros para una misma entidad se guardan en Tablas, las tablas referidas a un mismo propsito constituyen la Base de Datos. Por ejemplo la base de datos de matrcula interrelaciona las tablas de estudiantes, cursos y profesores. Tabla de Datos. Es una coleccin integrada de datos pertenecientes a una misma entidad es decir una tabla de datos de alumnos, solo deber de guardar datos de alumnos. Una tabla de datos de profesores solo deber de guardar datos de profesores. Registros. Conjunto de datos pertenecientes a una misma entidad, la ficha o registro consta de campos, cada campo tiene una longitud definida, por lo tanto los registros son de longitud definida. Campo. Conjunto de datos de un mismo tipo, por ejemplo un conjunto de nombres, un conjunto de notas, etc. Dato. Elemento individual de un campo, se identifica por un nombre y tiene un valor especfico. Los datos pueden abarcar subdatos, como es el caso de la fecha. Llave de registro. Se usa con fines de identificacin, representa un campo que nos permite diferenciar un registro de otro, cuyo valor sea nico para el registro, puede ser el nmero de cdigo de un alumno, nmero de DNI de una persona, etc.

Diseo de una Base de DatosEn el diseo de una base de datos, se busca evitar la redundancia de datos, ya que impone mayor dificultad durante una operacin de mantenimiento. Por ejemplo si en una tabla de una base de datos se mantienen tanto las direcciones del alumno y sus respectivas notas, al cambiar la direccin de un alumno, implicara tambin realizar el cambio en cada una de las notas del alumno.Trasladar las notas de los alumnos a una tabla separada hace que sea ms fcil de actualizar la direccin, el cambio se tendra que realizar solo en un registro, en vez de cambiarla en cada uno de las notas.El proceso de asegurar la singularidad de los datos, as como el correspondiente proceso de eliminar la redundancia de datos, se llama proceso de Normalizacin.

Etapas en Diseo de una Base de Datos

Una breve idea de cul es la forma, en que se debe pensar al momento de disear una Base de Datos:

Paso 1: Determinar el propsito de la Base de Datos. Aqu Ud. decidir cuales son los datos que desea almacena en Visual FoxPro.

Paso 2: Determinar las tablas necesarias. Cuando ya se conoce el propsito de la Base de Datos, puede ahora dividir la informacin en temas distintos, como Clientes o Ventas. Cada tema ser una tabla de Base de Datos.

Paso 3: Determinar los campos necesarios. Hay que tomar la decisin de cul ser la informacin que almacenara en cada una de las tablas. Cada categora de informacin de una tabla se denominar campo y se muestra en forma de columna al examinar la tabla.

Paso 4: Determinar las relaciones. Observe cada tabla y decida cmo se relacionan sus datos con los de las tablas restantes. Agregue campos a las tablas o cree tablas que puedan ayudar a clarificar las relaciones.

Paso 5: Perfeccionar el diseo. Analice su diseo para detectar posibles errores. Cree las tablas y agregue algunos registros de ejemplo. Observe si puede obtener de las tablas los resultados deseados.

ENTORNO DE DESARROLLOEl entorno de desarrollo son las partes visuales de las que est compuesto todo lenguaje de programacin visual, como lo son Visual FoxPro, Visual Basic, etc., en la siguiente figura se muestra la pantalla de inicio del Visual FoxPro.

Barra de HerramientasBarra de MensVentana de Comandos

Ventana de Comandos

Barra de MensPor medio de esta barra de mens podremos acceder a todas las opciones que Visual FoxPro nos ofrece como Abrir o Crear un Nuevo Proyecto, una Base de Datos, un Reporte, etc.

Barra de HerramientasPor medio de esta barra de Herramientas podremos acceder a todas las opciones que ms se utilizan, sin necesidad de ir a los mens a buscar sus respectivas opciones, esto es para tener un acceso ms rpido.

ADMINISTRADOR DE PROYECTOS

El Administrador de Proyectos permite compilar la aplicacin completa, pero en la fase de desarrollo de la aplicacin. Adems facilita el diseo, la modificacin y la ejecucin de los componentes individuales de su aplicacin.

Qu es un Proyecto?

Un proyectoes una coleccin de archivos, datos, documentos y objetos de Visual FoxPro, que se guarda como un archivo con extensin .PJX. Al archivar el Administrador de Proyectos, aparece la opcinProyectoen la barra de men de Visual FoxPro.

Crear un Proyecto

Para crear un nuevo proyecto donde se almacenaran las tablas, reporte, mens, etc., hay que ir al men Archivo => Nuevo, como muestra la siguiente figura.

Seleccionar Proyecto y dar clic en Nuevo Archivo y entonces aparecer la siguiente pantalla.Crear un Directorio con el nombre Contabilidad donde se guardara el proyecto.

Crear Directorio

Guardar ProyectoNombre del Proyecto

CREAR UNA NUEVA BASE DE DATOS

CreateDataBase: Permite crear una nueva Base de Datos.

SintaxisCREATE DATABASE [Enter]

Para crear una Base de Datos seguir los siguientes pasos:

En la ventana de comandos escribir: CREATE DATABASE

A continuacin aparecer una ventana similar ala siguiente figura.

Nombre de la Base Datos

Luego, escribir el nombreque se desea dar a la basede datos. Por defecto, elnombre es datos1.dbc, peropara el proyecto a realizarse llamarMatricula_Alumnos.

A continuacin, hacer clicen guardar y la base dedatos ya est creada yactiva.

CREAR TABLAS DE DATOS Realice un clic con el botn contrario sobre la ventana de base de datos y seleccione la opcin Nueva Tabla, tal como se muestra a continuacin.

Seguidamente se activar la siguiente ventana, en donde se tendr que seleccionar la opcin Nueva Tabla.

En la ventana siguiente que se activa, se tendr que ingresar el nombre de la tabla con que se desea crear, en este caso escriba el siguiente nombre: Alumnos, y pulse la tecla o haga un clic sobre el botn Guardar.

Nombre de la Tabla

Luego de pulsar sobre Guardar, se activar la siguiente ventana de dialogo llamada Diseador de Tablas, en donde se tendr que ingresar los nombres de los campos, especificar el tipo de dato y el ancho de cada campo.Definicin de entrada de datosTipo de datos

Definicin de reglas de validacin de datosDefinicin de campos

Definicin de campos:Al igual que las versiones anteriores, la definicin de campos es igual. Se introduce el nombre del campo (nombre), el tipo de datos que soportar (tipo) y el tamao.

Definicin de mostrar:Formato: Es el formato de salida del campo, ejemplo si fuera numrico 9.999.99.Mscara de entrada: Al igual que el format, se utiliza para la entrada de datos.Titulo: Descripcin ms precisa del campo, es de utilidad al disear los formularios.

Definicin de reglas de validacin a nivel de campo:son eventos que se ejecutan a nivel de campo. Ejemplo una validacin de un campo que solo acepte nmeros positivos. (id> 0).

Regla: Es la regla de validacin, ejemplo: id > 0, si queremos que acepto valores positivos.Mensaje: Es el mensaje personalizado que queremos que aparezca en pantalla a la hora de infringir la regla de validacin del campo. Ejemplo: Slo se aceptan nmeros positivos.Valor predeterminado: valor por defecto del campo.

Luego de hacer la definicin de los campos, pasamos a la definicin de ndices de la tabla, que ser muy importante a la hora de crear las relaciones entre las tablas.Nombre de los campos que componen el ndice

Tipo del ndice

Nombre del ndice

Nombre del ndice (Nombre)Tipo: (Tipo de ndice)Principal: Llave primaria.Candidato: Llave candidataNormal: Llave fornea.Nombre de la expresin:nombre de los campos que conforman la llave primaria.

Tipos de ndices:En una tabla de Base de Datos existen 4 tipos de ndices, mientras que en las tablas libres slo se dispone de los tres ltimos.

1. Principal: no permite valores duplicados en el campo indexado, Los ndices principales se utilizan sobre todo en la tabla primaria para establecer la integridad referencial en una relacin permanente. Slo es posible crear un ndice principal para cada tabla. Visual FoxPro devolver un error si especifica un ndice principal sobre un campo que contenga valores duplicados.

1. Candidato: exactamente igual al anterior. Su sentido reside en que por tabla slo se puede crear un ndice principal, todos los dems sern candidatos, es por eso que se convierten en candidatos a ser elegidos ndice principal de la tabla.

1. Normal: es el ndice clsico. Permite cualquier valor en la clave, est repetido o no. Es el ms utilizado.

1. Binary: Tiene poca utilidad.

Ejercicios de laboratorio: Crear las siguiente tablas de acuerdo a la siguiente estructura:

Tabla Alumnos.Nombre TipoAnchoCod_alumnoNumrico10NombresCarcter40Apellidos Carcter60DniNumrico8SexoCarcter1TelefonoCarcter10FNacimientoFecha8DireccionCarcter80EmailCarcter80

Luego de escribir todo la estructura de la tabla, pulse las teclas Ctrl. + W, o en todo caso seleccione el botn Aceptar.

TablaDocentes.Nombre TipoAnchoCod_docenteNumrico5NombresCarcter40Apellidos Carcter60DniNumrico8SexoCarcter1TelefonoCarcter10FNacimientoFecha8EspecialidadCarcter60DireccinCarcter80EmailCarcter80

Luego de escribir todo la estructura de la tabla, pulse las teclas Ctrl. + W, o en todo caso seleccione el botn Aceptar.

TablaCursos.Nombre TipoAnchoCod_cursoNumrico2Nombre_cursoCarcter60EscuelaCarcter60Cod_docenteNumrico5CicloNumrico1Ao_AcademicoNumrico4PeriodoNumrico1Horas_semanalesNumrico2

TablaNotas.Nombre TipoAnchoCod_alumnoNumrico10Cod_cursoNumrico2Promedio_practicasNumrico20Examen_parcialNumrico20Examen_finalNumrico20Promedio_FinalNumrico20CondicionCarcter40

Relaciones entre tablas:

Las relaciones ms comunes entre tablas se definen:

De uno a uno: Ejemplo de una llave primaria a otra llave primaria.De uno a muchos: Ejemplo de una llave primaria a una Regular o Fornea.De muchos a muchos: Aqu como no se pueden establecer relaciones de muchos a muchos se tiene que dividir en dos relaciones de uno a muchos. Ejemplo: Un autor puede tener varios libros, pero tambin un libro puede tener varios autores

Las relaciones entre tablas se crean arrastrando la llave de la tabla a la llave de la otra tabla.

Nota: Al final la base de datos tendr que verse de la siguiente manera.

Uso de lasinstruccionesModify Project, Modify DataBase, Use, Append, List, Display, Edit.

Modify Project. Activa un proyecto.

En la ventana de comandos escriba la siguiente instruccin.Modify Project Matricula [ENTER]

Modify DataBase. Activa una base de datos.

En la ventana de comandos escriba la siguiente instruccin.Nombre de la Base de Datos

Modify DataBase Matricula_Alumnos [ENTER]Tablas que conforman la Base de Datos

Use. Activa una tabla de datos.

Escriba las siguientes instrucciones en la ventana de comandos, para abrir una tabla de datos.Modify Project Matricula (Activa el proyectoindicado)Use Alumnos (Activa la tabla Alumnos)Browse (Visualiza los registros de la tabla Alumnos)

Estos son los registros que se encuentran dentro de la tabla de datos Alumnos.

Ejercicios Active la tabla cursos y muestre los registros. Active la tabla docentes y muestre los registros. Active la tabla notas y muestre los registros.

Append. Agrega nuevos registros.Ejemplos: Agregar nuevos Registros a la tabla datos : AlumnosEscriba las siguientes instrucciones en la ventana de comandos.Modify Project Matricula (Activa el proyecto indicado)Use Alumnos (Activa la tabla Alumnos)Append (Activa la ventana de edicin de datos)Este es el nuevo registro que se est agregando a la tabla Alumnos

Ejercicios Active y agregue nuevos registros a la tabla cursos. Active y agregue nuevos registros a la tabla docentes. Active y agregue nuevos registros a la tabla notas.

List - Display. Lista los registros de la tabla activa. Se podr utilizar cualquiera de las dos instrucciones.La diferencia entre las dos es: la instruccin List, lista de una manera rpida, mientras que la instruccin Displaylo hace pantalla por pantalla, es decir en forma pausada.

Ejemplos Listas los registros de la tabla:Alumnos utilizando la instruccin List.Escriba las siguientes instrucciones en la ventana de comandos.Modify Proyect Matricula (Activa el proyecto indicado)Use Alumnos (Activa la tabla Alumnos)List (Lista todo los registros de la tabla activa)Estos son los registros listados de la tabla datos de alumnos

Listas los registros de la tabla datos : Alumnos utilizando la instruccin displayEscriba las siguientes instrucciones en la ventana de comandos.Modify Proyect Matricula (Activa el proyecto indicado)Use Alumnos (Activa la tabla Alumnos)DisplayAll (Lista todo los registros de la tabla activa)

Listas los registros de la tabla datos:Alumnos utilizando la instruccin Display.Incluir en el listado solo los campos Nombres, Apellidos, Sexo.Escriba las siguientes instrucciones en la ventana de comandos.Modify Proyect Matricula (Activa el proyecto indicado)Use Alumnos (Activa la tabla Alumnos)DisplayAll Nombres,Apellidos, Sexo (Lista solo los campos indicados)

Edit / Browse. Abre la ventana Examinar y muestra los registros de la tabla en uso o seleccionada.Puede utilizar cualquiera de las dos instrucciones. La diferencia las notar en los resultados que obtenga.Sintaxis:BROWSE[FIELDS ListaCampos] [FONT cNombreFuente [, nTamaoFuente]] [FOR lExpresin1 [REST]][NOAPPEND][NODELETE][NOEDIT | NOMODIFY][NOLGRID] [NORGRID][TITLE cTextoTtulo]

FIELDS ListaCamposEspecifica los campos que aparecern en la ventana Examinar. Los campos se muestran en el orden especificado en ListaCampos. En la lista de campos puede incluir campos de otras tablas relacionadas. Cuando incluya un campo de una tabla relacionada, incluya delante del nombre de campo su alias de tabla y un punto.Si omite FIELDS, se mostrarn todos los campos de la tabla en el orden en que aparecen en la estructura de la tabla.FONT cNombreFuente [, nTamaoFuente]Especifica la fuente y el tamao de fuente de la ventana Examinar. La expresin de caracteres cNombreFuente es el nombre de la fuente y la expresin numrica nTamaoFuente es el tamao de la fuente. Por ejemplo, la clusula siguiente especifica la fuente Courier de 16 puntos para los campos que se muestran en la ventana Examinar:FONT 'Courier',16FOR lExpresin1Especifica una condicin por la cual slo se mostrarn en la ventana Examinar aquellos registros para los que lExpresin1 sea verdadera.Incluya FOR si desea mover el puntero de registro hasta el primer registro que cumpla la condicin.

NOAPPENDImpide que el usuario agregue registros a la tabla al presionar CTRL+Y o al elegir la opcin Anexar registro del men Tabla.NODELETEImpide marcar registros para su eliminacin desde una ventana Examinar. De forma predeterminada, un registro se puede marcar para su eliminacin al presionar CTRL+T, al elegir la opcin Alternar eliminacin del men Tabla de Visual FoxPro NOEDIT | NOMODIFYImpide a un usuario modificar la tabla. NOEDIT y NOMODIFY son idnticas. Si incluye cualquiera de las dos clusulas, podr examinar o buscar en la tabla, pero no modificarla. Sin embargo, s es posible anexar y eliminar registros.NOLGRIDQuita las lneas de cuadrcula del campo en la particin izquierda de la ventana Examinar.NORGRIDQuita las lneas de cuadrcula del campo en la particin derecha de la ventana ExaminarTITLE cTextoTtuloInvalida el nombre o el alias predeterminado de tabla que aparece en la barra de ttulo de la ventana Examinar y muestra en su lugar el ttulo especificado mediante cTextoTtulo. De lo contrario, el nombre o el alias de la tabla que se est examinando aparecer en la barra de ttulo.

CONSULTAS DE DATOS

Hablar de consultas es hablar de SQL. No son ms que asistentes para generar comandos SELECT que permiten extraer informacin de una o varias tablas.

Consultas De Datos Simples Crear una consulta, la cual permita consultar los datos de la tabla Datos de alumnos. Ir a la ficha Datos y seleccionar Consultas Seleccionar Nuevo

Seleccionar Nueva Consulta

Seleccione la tabla de datos Alumnos y pulse el botn Agregar. Luego de agregar la tabla de datos, seleccione el botn Cerrar Cuando pulse Cerrar, se mostrar, la ventana de diseo de consultas, tal como se muestra a continuacin.

En la ficha campos seleccione los campos de desee que conformen la consulta de datos : En este caso, seleccione uno en uno o pulse el botn Agregar todos.

Una vez, seleccionado los campos para la consulta de datos, grabe la consulta, realizando un clic sobre el siguiente icono (Grabar) con el nombre Consulta_Alumnos y ejecute la consulta presionando en forma simultnea las teclas Ctrl. + Q, El resultado deber de ser la siguiente ventana.

Si trata de modificar los registros, no podr hacerlo, porque se trata de una consulta de datos.Ejercicios Crear una consulta para las dems tablas.

PROGRAMACIN ORIENTADA A OBJETOSDefinicin. Aunque Visual FoxPro admite la programacin estndar por procedimientos, se ha ampliado la capacidad del lenguaje para proporcionar la potencia y la flexibilidad propias de la programacin orientada a objetos.El diseo orientado a objetos y la programacin orientada a objetos representan un cambio de perspectiva con respecto a la por procedimientos. En lugar de pensar en el flujo del programa desde la primera hasta la ltima programacin estndar lnea de cdigo, se debe pensar en la creacin de objetos: componentes auto contenidos de una aplicacin que tienen funcionalidad privada adems de la funcionalidad que se puede exponer al usuario.Descripcin de los objetos de Visual FoxProEn Visual FoxPro, los formularios y los controles son objetos que puede incluir en sus aplicaciones. Puede manipular estos objetos a travs de sus propiedades, eventos y mtodos.Las mejoras en el lenguaje orientado a objetos de Visual FoxPro proporcionan un mayor control sobre los objetos de las aplicaciones. Asimismo, facilitan la creacin y el mantenimiento de bibliotecas de cdigo reutilizable, proporcionando: Cdigo ms compacto. Incorporacin ms sencilla del cdigo a las aplicaciones sin necesidad de elaborar esquemas de asignacin de nombres. Menos complejidad al integrar cdigo de distintos archivos en una aplicacin. La programacin orientada a objetos es en gran medida un modo de empaquetar cdigo de manera que se pueda volver a utilizar y mantener ms fcilmente. Los paquetes principales se llaman clases.ControlUn objeto grfico, como un cuadro de texto, un rectngulo o un botn de comando, que se coloca en un formulario para mostrar datos, realizar una accin o facilitar la lectura del formulario. Entre los controles de Visual FoxPro cabe citar casillas de verificacin, cuadros de edicin, etiquetas, lneas, imgenes, formas, etc. Puede dibujar estos controles en un formulario mediante la barra de herramientas Controles de formularios en el Diseador de formularios.Este es un ejemplo de una ventana (formulario) mostrando varios tipos de control.Controles : Etiquetas (Label)Controles : Cuadros de Texto (TextBox)Controles : Casillas de Verificacin (CheckBox)Controles : Cuadros de Lista (ListBox)Controles: Listas desplegables (ComboBox)Controles : Botones de Comando (CommandButton)

FormularioUna clase contenedora. Una coleccin de una o ms pginas que se comporta como una ventana o un cuadro de dilogo estndar. Un formulario contiene controles para mostrar y modificar datos. Los formularios pueden estar contenidos dentro de un conjunto de formularios. Crear un formulario: Ir a la ficha Todos y seleccionar Documentos Seleccionar Formularios y clic en Nuevo

Una vez, creado el formulario, grabe el formulario realizando un clic sobre el siguiente icono (Grabar).PropiedadUn atributo de un control, campo u objeto de base de datos que se establece para definir una de las caractersticas del objeto o un aspecto de su comportamiento. Por ejemplo, la propiedad Visible afecta a la visibilidad en tiempo de ejecucin de un control. Puede cambiar los valores de las propiedades de objeto mediante la ventana Propiedades.

MtodoUna accin que un objeto es capaz de realizar. Por ejemplo, los cuadros de lista tienen mtodos llamados AddItem, RemoveItem y Clear para mantener el contenido de las listas. EventoUna accin, reconocida por un objeto, para la cual puede escribir cdigo de respuesta. Los eventos pueden estar generados por una accin del usuario, como hacer clic con el mouse o presionar una tecla, por cdigo de programa o por el sistema, como ocurre con los cronmetros

Uso de controles Bsicos.

(Label) . Crea un control Label que muestra texto.SintaxisLabelComentariosUn control Label es un control grfico que muestra texto que no puede cambiarse directamente. Sin embargo, puesto que un control Label tiene un amplio conjunto de propiedades, eventos y mtodos en comn con otros controles, puede responder a eventos y cambiarse dinmicamente en tiempo de ejecucinPropiedades. Caption. Especifica el texto que se muestra en el ttulo de un objeto. Est disponible en tiempo de diseo y en tiempo de ejecucin. BackColor / ForeColor. Especifica el color del fondo y de primer plano empleado para mostrar texto y grficos en un objeto. Est disponible en tiempo de diseo y en tiempo de ejecucin BorderStyle. Especifica el estilo de borde de un objeto. Disponible en tiempo de diseo y en tiempo de ejecucin (0: Ninguno, 1:Sencillo fijo) FontName. Especifica el nombre de la fuente empleada para mostrar texto. Est disponible en tiempo de diseo y en tiempo de ejecucin. FontSize. Especifica el tamao de fuente para el texto mostrado con un objeto. Est disponible en tiempo de diseo y en tiempo de ejecucin. FontBold, FontItalic, FontStrikethru, FontUnderlineEspecifica que el texto tiene uno o ms de los estilos siguientes: Negrita, Cursiva, Tachado o Subrayado. (.T. / .F.)

(TextBox) . Crea un cuadro de texto en el que puede modificar el contenido de una variable de memoria, un elemento de matriz o un campo. Todas las caractersticas estndar de edicin de Visual FoxPro, como cortar, copiar y pegar, estn disponibles en el cuadro de texto. Si se utiliza el cuadro de texto para modificar un valor de fecha o de fecha y hora, y se ha seleccionado todo el valor, presione + o - si desea aumentar o disminuir el valor para un da.

Propiedades. Name. Especifica el nombre del objeto al que se hace referencia en el cdigo. Disponible en tiempo de diseo; de lectura-escritura en tiempo de ejecucin. Value. Especifica el estado actual de un control. Est disponible en tiempo de diseo y en tiempo de ejecucin. Enabled. Especifica si un objeto puede responder a eventos generados por el usuario. Disponible en tiempo de diseo y en tiempo de ejecucin. MaxLength. Especifica la longitud mxima (en caracteres) que puede escribirse en un control EditBox o en un control TextBox. Est disponible en tiempo de diseo y en tiempo de ejecucin. PasswordChar. Determina si se muestran en un control TextBox los caracteres escritos por un usuario o los caracteres de marcador de posicin; determina el carcter empleado como marcador de posicin. Est disponible en tiempo de diseo y en tiempo de ejecucin. Format. Especifica el formato de entrada y resultados de la propiedad Value de un control. Disponible en tiempo de diseo y en tiempo de ejecucin.Los valores vlidos de cFuncin para un control TextBox y un objeto Column son:

ValorDescripcin

!Convierte los caracteres alfabticos en maysculas. Utilcelo slo con datos del tipo Character.

$Muestra el smbolo de moneda. Es necesario que la propiedad ControlSource especifique un origen numrico para el cuadro de texto.

^Muestra datos numricos utilizando anotacin cientfica. Es necesario que la propiedad ControlSource especifique un origen numrico para el cuadro de texto.

ASlo permite caracteres alfabticos (sin espacios ni signos de puntuacin).

DUtiliza el formato actual de SET DATE.

EEdita los datos tipo Date como fecha BRITISH.

KSelecciona todo el TextBox cuando se mueve el cursor al TextBox.

LMuestra ceros a la izquierda (en lugar de espacios) en el TextBox. Es necesario que la propiedad ControlSource especifique un origen numrico para el cuadro de texto.

InputMask. Especfica cmo se introducen y muestran los datos en un control. Disponible en tiempo de diseo y en tiempo de ejecucinLos valores para la propiedad InputMask son:

ValorDescripcin

XPuede introducirse cualquier carcter.

9Pueden introducirse dgitos y signos, como el signo menos ( ).

#Pueden introducirse dgitos, espacios en blanco y signos.

$Muestra el smbolo de moneda actual (especificada con SET CURRENCY) en una posicin fija.

$$Muestra un smbolo de moneda flotante que siempre aparece junto a los dgitos del Spinner o TextBox.

*Se muestran asteriscos a la izquierda del valor.

.Un punto especifica la posicin de coma decimal.

,Pueden incluirse comas para separar dgitos a la izquierda de la coma decimal.

Alignment. Especifica la alineacin del texto asociado a un control. Est disponible en tiempo de diseo y en tiempo de ejecucin. (0: Izquierda, 1: Derecha)

Ejercicios de Aplicacin.

La siguiente Aplicacin, lee los siguientes datos: Nombre de la Empresa, RUC, Direccin, Telfono, correo electrnico y pgina web.

Crear un formulario con el nombre: Datos_Empresa e inserte los siguientes controles.

ControlPropiedadValorControlPropiedadValor

Form1Label1

Label2

Label3

Label4

Label5

Label6

CaptionCaptionFontBoldCaptionFontBoldCaptionFontBoldCaptionFontBoldCaptionFontBoldCaptionFontBoldIngrese los datos de la EmpresaNOMBRE DE LA EMPRESA.T. VerdaderoDIRECCION.T. VerdaderoTELEFONO.T. VerdaderoR.U.C..T. VerdaderoCORREO ELECTRONICO.T. VerdaderoPAGINA WEB.T. VerdaderoText1

Text2

Text3

Text4

Text5Text6

ForeColorFormatForeColorFormatForeColorInputMaskForeColorInputMaskForeColorForeColor

Seleccione Azul!Seleccione Azul!Seleccione Azul999999Seleccione Azul999999999Seleccione AzulSeleccione Azul

El Diseo del formulario tendr que quedar de la siguiente manera

Nota Cuando ingrese Telfono y Ruc, solo podr ingresar nmeros, no permite ingresar letras.En el caso de Nombre de la Empresa y Direccin, todo lo que escribe lo convierte a letras maysculas

Luego de disear el formulario, Grabe presionando las teclas CTRL + W, para ejecutar el formulario escriba la siguiente instruccin o pulse sobre el siguiente icono

Una vez ejecutado, ingrese los datos correspondientes. Si desea salir de la aplicacin, realice un clic sobre el Botn Como Practica, realice la siguiente aplicacin.Nota:En Nombres, Apellidos y Mes de Pago, solo deber de permitir ingresar letras mayscula (Format=!).En Fecha de Pago, solo se podr ingresar fechas vlidas (dd/mm/aaaa) (Format=DE)Y en los controles restantes solo se podrn ingresar valores numricos ( InputMask= 9999.99)

Los Controles Text11 y Text12, en la propiedad Enabled, cambie deTrue a False.Cuando ejecute el formulario los controles Text11 y Text12, debern de estar DesactivadosHacer referencia a un objeto de un formularioThisform. THISFORM proporciona una forma muy conveniente de hacer referencia al formulario actual mientras escribe programas que controlan eventos en un formulario. Por ejemplo, este programa Click Event para un botn de comando establece que el ttulo del botn sea la hora actual.thisform.command1.caption = time()La utilizacin de THISFORM en lugar de hacer referencia explcitamente al formulario actual mediante su nombre (por ejemplo, form1.command1.caption) hace que el cdigo de programa sea porttil entre formularios.THISFORM permite hacer referencia a un objeto en el formulario o en la propiedad sin tener que utilizar varias propiedades Parent.SintaxisTHISFORM.NombrePropiedad | NombreObjetoArgumentosNombrePropiedad . Especifica una propiedad para el formulario.NombreObjeto. Especifica un objeto del formula

(CommandButton) . Crea un botn de comando sencillo. Los botones de comando suelen emplearse para iniciar un evento que lleva a cabo una accin, como cerrar un formulario, moverse a otro registro, imprimir un informe, etc. Utilice el control CommandGroup para crear un conjunto de botones de comando que pueden manipularse individualmente o como grupo.Utilice la propiedad Caption para especificar el texto que aparece en un botn de comando. Utilice la propiedad Picture para especificar una imagen para un botn de comando.Propiedades: Name. Especifica el nombre del objeto al que se hace referencia en el cdigo. Disponible en tiempo de diseo; de lectura-escritura en tiempo de ejecucin. Enabled. Especifica si un objeto puede responder a eventos generados por el usuario. Disponible en tiempo de diseo y en tiempo de ejecucin. Caption. Especifica el texto que se muestra en el ttulo de un objeto. Est disponible en tiempo de diseo y en tiempo de ejecucin.Para asignar una tecla de acceso a un control, incluya una barra inversa y un signo menor que (\ Caption = Secretaria Name=OptSecretariaOption3 => Caption = Personal de Servicio Name=OptPersonalAl final el diseo del formulario tendr que quedar igual al siguiente modelo.

Escriba el cdigo del formulario

Complete Ud., el cdigo de Otro y Cerrar

5. Ejecute el formulario, ingrese los datos respectivos y pulse el botn Aceptar, para calcular el haber bsico.

Desarrollar una aplicacin que permita calcular las boletas de pagos de los trabajadores de una constructora, se debe ingresar el cdigo del trabajador, nombres y apellidos, seleccionar la categora e ingresar la cantidad de horas trabajadas y la cantidad de horas extras trabajadas:Si la categora es :Maestro S/. 14.00 Oficial S/. 13.50 Pen S/. 13.00Por cada hora trabajada.Adems se deben de calcular los descuentos de ley (Essalud, CTS, AFP).

Solucin:1. Abra un nuevo formulario. (Nombre del Archivo: Calcular_Haber_Trabajador_Descuentios_C2N )2. Disee el formulario de tal forma que el diseo quede igual al siguiente formulario.

Escriba el cdigo de la aplicacin:

(CheckBox) . Una casilla de verificacin sirve para alternar entre dos estados, como verdadero (.T.) y falso (.F.), o s y no. Cuando una condicin es verdadera, aparece una X en la casilla de verificacin..Utilice la propiedad Caption para especificar el texto que aparece junto a una casilla de verificacin. Utilice la propiedad Picture para especificar una imagen para una casilla de verificacin.Propiedades. Name. Especifica el nombre del control al que se le hace referencia en el control. Caption. Especifica el texto que se muestra en el ttulo de un objeto. Value. Especifica el estado actual de un control. Para un control CheckBox, los valores para la propiedad Value son:Para un control CheckBox, los valores para la propiedad Value son:ValorDescripcin

0(Predeterminado) Desactivada.

1Activada.

Ejercicios de Aplicacin. Desarrollar una aplicacin que permita calcular el sueldo neto de un trabajador de una empresa, se debe ingresar el cdigo del trabajador, nombres y apellidos y seleccionar la categora.Si la categora es :Gerente S/. 1500Contador S/. 1200 Secretaria S/. 1000Adems se debe de indicar si se desea realizar los descuentos respectivos.

Solucin:1. Abra un nuevo formulario. (Nombre del Archivo: Calcular_Sueldo_Neto_C1N)2. Disee el formulario de tal forma que el diseo quede igual al siguiente formulario.NotaLos Controles TxtHaber, TxtAfp, TxtEssalud, TxtCts, TxtTotalD y TxtNeto tendrn que estar desactivados y ser del tipo numrico.

Escriba el cdigo del formulario.

3. Ejecute la aplicacin e ingrese los datos: Cdigo, Nombres, Apellidos, Seleccione la Categora, Fecha de Pago, Active o Desactive descontar y pulse el botn Calcular.

Si descontar est activado, se calcularan todo los descuentos respectivos y si se encuentra desactivados todo los descuentos sern igual a 0

Ejercicios propuestos. Desarrollar una formulario que permita calcular el sueldo neto de un trabajador de una empresa.Dentro de formulario se tendr que indicar que descuentos se desea realizar activando sus checks respectivos, El diseo del formulario es el siguiente.

(ComboBox) . Crear un cuadro combinado o una lista desplegableCuando se selecciona un control ComboBox, se abre y muestra una lista de elementos en la que se puede elegir uno o mas elementos de la lista.

(ListBox) . Crea un cuadro de lista.Un cuadro de lista muestra una lista de elementos en la que es posible elegir uno o ms elementos. Un cuadro de lista es similar a un cuadro combinado; sin embargo, un cuadro combinado muestra inicialmente un solo elemento.

Propiedades de estos dos controles. Name. Especifica el nombre del control al que se le hace referencia en el control. LitsIndex. Especifica el nmero de ndice del elemento seleccionado en un control ComboBox o ListBox. No est disponible en tiempo de diseo; es lectura y escritura en tiempo de ejecucin.Los valores posibles de la propiedad listindex son:0. Valor prederminado Indica que no hay elementos seleccionados1 .. Listcount El ndice del elemento seleccionado. ListCount. Contiene el nmero de elementos que contiene un control ComboBox o ListBox. List. Retorna el elemento del nmero de elemento indicado.List (Nro Elemento Fila) Value. Retorna el valor del elemento que se encuentra actualmente seleccionado. Selected. Especifica si un elemento est seleccionado en un control ComboBox o ListBox.

Mtodos de estos dos controles. AddItem. Agrega un nuevo elemento a un control ComboBox o ListBox, lo que permite especificar opcionalmente el ndice del elementoControl.AddItem(cElemento [, nndice] [, nColumna]) RemoveItem. Quita un elemento de un cuadro combinado o de lista.Control.RemoveItem(nndice) Clear. Borra el contenido de un control ComboBox o ListBox.Objeto.Clear

Ejemplos de aplicacin. Realice un formulario que permita registrar nombres de cursos dentro de una lista o eliminar los cursos registrados dentro de la lista.Solucin:1. Abra un nuevo formulario. (ponga el nombre que ud., desee) 2. Disee el formulario de tal forma que el diseo quede igual al siguiente formulario.

Cdigo del formulario

3. Ejecute el formulario Ingrese un nuevo curso y pulse el botn Agregar.Para Eliminar, un nombre de curso, primero seleccione de la lista el curso que desea eliminar y luego pulse el botn Eliminar

Realice un formulario que permita calcular el total a pagar por una lista de productos .Los nombres de productos tendr que ser llenados de manera automtica al momento de ejecutar el formulario.Primero se tendr que seleccionar un producto y pulsar el botn Aceptar, seguidamente ingresar la cantidad, el precio unitario y pulsar el botn Aceptar.Solucin:1. Abra un nuevo formulario. (ponga el nombre que ud., desee) 2. El diseo del formulario es el siguiente. TxtPros y TxtTotal, tendrn que estar desactivados y ser de tipo numrico

Si se desea ingresar otro producto, seleccione el botn Otro.Si desea borrar los contenidos de todas las listas seleccione Borrar Listas3. Ejecute el formulario seleccione un producto de la lista, ingrese la cantidad, el precio unitario y pulse Agregar, para calcular el subtotal y agregar a la lista de abajo.Cdigo del formulario

Estructuras de Control (Parte II)Las estructuras de control le permiten controlar el flujo de ejecucin del programa. Tenemos dos tipos de estructuras de control: Estructuras de decisin Estructuras de bucle

Estructuras de Bucle For ... EndFor Ejecuta un grupo de comandos un nmero concreto de veces. Los comandos de Visual FoxPro que hay a continuacin de FOR se ejecutan hasta que se llega a ENDFOR o NEXT. Entonces se incrementa el contador NombreVariableMemoria con el valor de nIncremento. Si omite la clusula STEP, el contador se incrementar en 1. Entonces se comparar el contador con el valor final nValorFinal. Si el contador es inferior o igual al valor final nValorFinal, volvern a ejecutarse los comandos que siguen a la clusula FOR. Si el contador es mayor que el valor final nValorFinal, la ejecucin del programa bifurcar fuera del bucle FOR...ENDFOR y continuar con el primer comando a continuacin de ENDFOR o NEXT.SintaxisFOR NombreVariableMemoria = nValorInicial TO nValorFinal [STEP nIncremento] ComandosENDFOR | NEXTArgumentos NombreVariableMemoriaEspecifica una variable de memoria o un elemento de matriz que acta como contador. No es necesario que exista la variable de memoria o elemento de matriz antes de ejecutar FOR...ENDFOR. nValorInicial TO nValorFinalnValorInicial es el valor inicial del contador y; nValorFinal es el valor final del contador. STEP nIncrementonIncremento es la cantidad de incremento o decremento del contador. Si nIncremento es negativo, el contador se decrementar. Si omite la clusula STEP, el contador se incrementar en 1. ComandosEspecifica los comandos de Visual FoxPro que se van a ejecutar. Comandos puede incluir cualquier nmero de comandos.Ejercicios de Aplicacin Desarrollar una aplicacin que permita llenar los 10 primeros nmeros naturales (Ascendente) dentro de un cuadro de lista.El diseo del formulario es el siguiente:Cdigo del formulario

Ejecute el formulario y pulse el botn Llenar, automticamente la lista deber de llenarse con los 10 primeros nmeros naturales.

Desarrollar una aplicacin que permita llenar los 10 primeros nmeros naturales (Descendente) dentro de un cuadro de lista.El diseo del formulario es igual al formulario del ejercicio anterior.

Cambia el cdigo del botn Llenar por el siguiente:

Con=0For Con=10 To 1 Step -1 Thisform.LstNumeros.Additem(AllTrim(str(Con)))EndFor

Cuando pulse el botn Llenar, la lista deber de llenarse con los primeros nmeros en forma descendente.

Desarrollar una aplicacin que permita llenar los 10 primeros nmeros pares (Ascendente) dentro de un cuadro de lista.El diseo del formulario es igual al formulario del ejercicio anterior.

Cambia el cdigo del botn Llenar por el siguiente:

Con=0For Con=2 To 10 Step +2 Thisform.LstNumeros.Additem(AllTrim(str(Con)))EndFor

Cuando pulse el botn Llenar, la lista deber de llenarse con los primeros nmeros en forma descendente.

Desarrollar una aplicacin que permita ir llenado nmeros dentro de un cuadro y cuando se pulse sumar deber de sumar todo los nmeros que se encuentren dentro del cuadro de lista.El diseo del formulario es el siguiente:

Los controles TxtNumero y TxtSuma debern de aceptar como mximo 6 enteros 2 decimales y de ser de tipo numrico

Cdigo del formulario

Ejecute el formulario, ingrese los valores a lista (Ingrese un numero y pulse Agregar), luego de agregar los nmeros a lista pulse el botn Sumar.

Ejercicios Propuestos. Desarrollar una aplicacin que permita llenar a una lista los n primeros nmeros (Ascendente) dentro de un cuadro de lista. Desarrollar una aplicacin que permita llenar a una lista los n primeros nmeros pares dentro de un cuadro de lista. Desarrollar una aplicacin que muestre en un cuadro de texto la suma de los 10 primeros nmeros naturales. Realice un formulario que permita calcular el sueldo neto de los trabajadores.La funcin que cumplen cada uno de los botones es el siguiente:

Permite agregar nuevos empleados a la lista desplegable (CmbEmpleados)ermite seleccionar un empleado de la lista y mostrarlo en TxtEmpSel

Calcular el haber bsico del trabajador, los descuentos el total descuento y el neto a pagar, luego de calcular agrega a las listas los siguientes datos: Empleado Seleccionado, Haber Bsico, Total Descuento y Neto a Pagar.Cada vez que se agregar datos a la lista en la parte inferior tendr que ir sumando los totales acumulados respectivos.

Borra los datos de los textos para seleccionar otro empleado.

Borra todo los datos de las listas.

Su nombre lo dice.Nota: El Haber bsico del trabajador se calcular de acuerdo a la categora:Gerente : 2000.00Secretaria: 1500.00Contador : 1350.50Los Descuentos solo se efectuarn de aquellos que activen o seleccionen.

Mtodos definidos por el usuarioMtodo. Una accin que un objeto es capaz de realizar. Por ejemplo, los cuadros de lista tienen mtodos llamados AddItem, RemoveItem y Clear para mantener el contenido de las listas. Como crear Mtodos.Estando dentro de un formulario ingrese a Formulario de la barra de men y seleccione la opcin Modificar propiedades y mtodos, seguidamente se activar una ventana de dialogo donde se tendr que seleccionar el botn Nuevo mtodo, e ingresar el nombre del mtodo a crear.

Para entender mejor realizaremos un ejemplo en donde crearemos mtodos. Abre un nuevo formulario. Disea el formulario, de tal forma que quede igual al siguiente diseo.

Crearemos un mtodo llamado Calcular, el cual se encargar de calcular cada vez que se selecciona una Categora o realiza un descuento.

Ingrese a Formulario de la barra de men y seleccione la opcin Modificar propiedades y mtodos, en la ventana que se activa seleccione el botn .En la siguiente ventana que se activa, ingrese el nombre del mtodo (Calcular) y pulse el botn Agregar Una vez agregado el nuevo mtodo, dentro de la ventana de propiedades busque la nueva propiedad Calcular y realice doble Click.En la ventana de cdigo que se activa escriba el siguiente cdigo.Do Case Case Thisform.OptGCategoria.Value=1 Thisform.Txthaber.Value=1500 Case Thisform.OptGCategoria.Value=2 Thisform.Txthaber.Value=1200 Case Thisform.OptGCategoria.Value=3 Thisform.Txthaber.Value=1000EndCaseIf Thisform.ChkAfp.Value=1 Then Thisform.TxtAfp.value=Thisform.TxtHaber.Value*0.03Else Thisform.TxtAfp.value=0EndifIf Thisform.ChkEssalud.Value=1 Then Thisform.TxtEssalud.value=Thisform.TxtHaber.Value*0.06Else Thisform.TxtEssalud.value=0EndifIf Thisform.Chkcts.Value=1 Then Thisform.TxtCts.value=Thisform.TxtHaber.Value*0.03Else Thisform.TxtCts.value=0EndifThisform.TxtTotalD.value=Thisform.TxtAfp.Value+Thisform.TxtCts.Value+Thisform.TxtEssalud.ValueThisform.TxtNeto.Value=Thisform.TxtHaber.value-Thisform.TxtTotalD.ValueThisform.Refresh

Grabe el Cdigo del mtodo presionando Ctrl W

Seguidamente escriba el cdigo de los siguientes controles del formulario

Complete el cdigo de los botones Otro y CerrarComo se ve en el ejemplo, para llamar al mtodo creado solo es necesario poner la sentencia Thisform., seguido del nombre del mtodo que se desea ejecutar.Ejecute el formulario, ingrese los datos correspondientes, seleccione la categora y los descuentos.El formulario tendr que ir calculando de manera automtica el haber y los descuentos.

Como ejercicio prctico, realice el Cdigo del siguiente formulario. El haber bsico y los descuentos se irn calculando de manera automtica cada vez que se seleccione una categora o un tipo de descuento, para lo cual deber de crear un mtodo llamado Calcular.El diseo del formulario es el siguiente.

Administrar datos mediante formulariosLos informes permiten imprimir fcilmente tablas y consultas, y los formularios proporcionan una forma cmoda de mostrar, introducir y modificar informacin de la base de datos. Puede crear formularios que tengan el aspecto de los formularios de papel que est acostumbrado a utilizar, lo que le proporcionar un entorno familiar para la introduccin de datos.En este captulo se explica cmo crear formularios interactivos a partir de tablas y vistas mediante asistentes para formularios, generadores y el Diseador de formulariosCrear formularios enlazados a tablas de datosLos formularios muestran los campos y los registros de las tablas y las vistas, y suelen incluir controles de desplazamiento para ayudarle a moverse de un registro a otro.

Para trabajar formularios con tablas disearemos una base de datos:La base de datos se llamar Matricula_Alumnos, y estar conformada por las siguientes tablas de datos.

Tabla: Alumnos

Nota: Indexar por el campo cod_alumno con el nombre cod_alumno tipo de ndice principal

Tabla: Carrera

Nota: Indexar por el campo cod_carrera con el nombre cod_carrer tipo de ndice principal

Tabla: Curso

Nota: Indexar por el campo cod_curso con el nombre cod_ curso tipo de ndice principal

Tabla: Docente

Nota: Indexar por el campo cod_docente con el nombre cod_ docent tipo de ndice principal

Tabla: Notas

Enlazar controles Textbox a los campos de una tabla de datos ControlSource (Propiedad). Especifica el origen de datos del que depende un objeto. SintaxisObjeto.ControlSource[ = cNombre]

El siguiente ejemplo permite ingresar nuevos registros dentro de la tabla Carrera. Como primer paso tendr que abrir un nuevo formulario. Seguidamente tendr que enlazar el formulario con la tabla de datos Carrera, para lo cual realice un clic con el botn contrario sobre el formulario y seleccione la opcin Entorno de datos.

En la ventana Agregar tabla o vista, seleccione la tabla Carrera y pulse el botn Agregar Fjese la ventana Entorno de datos, deber de mostrar la tabla agregada, en este caso Carrera Seleccione la tabla, y en la ventana de propiedades, busque la propiedad BufferModeOverriden y cambie al valor 5 (Almacenamiento optimista)

Cierre solo esta ventana, para regresar al formulario. Como siguiente paso, disee el formulario de tal forma que quede igual al siguiente diseo.

Seguidamente enlace los controles TextBox, a los campos de la tabla de datos:ControlPropiedadValorText1NametxtcodigoControlSourcecarrera.cod_carreraMaxLength2InputMask99Text2NametxtcarreraControlSourcecarrera.nom_carreraMaxLength60 Escriba el cdigo del formulario (Procedimiento: Activate)

CmdNuevo (Cdigo Autogenerado)

Crear Mtodos: (Activar y Desactivar Textos)

Ejecute el formulario. Ingrese los datos de la carrera, y pulse el botn Grabar, en el caso de que desee grabar los datos ingresados, o el botn Cancelar en el caso de que no desee cancelar los datos.

Enlazar cuadro de lista y listas Desplegables a datosSi se desea enlazar un cuadro de lista a una tabla de datos, utilizar las siguientes propiedades. ControlSource. Especifica el origen de datos del que depende un objeto. Est disponible en tiempo de diseo y en tiempo de ejecucin.SintaxisObjeto.ControlSource[ = cNombre] RowSourceType. Especifica el tipo de origen para los valores de un control. Disponible en tiempo de diseo y en tiempo de ejecucin.Sintaxis:Control.RowSourceType[ = nOrigen]

ValoresNOrigen

Los valores para la propiedad RowSourceType son:

ValorDescripcin

0(Predeterminado) Ninguno. Cuando se utiliza el valor predeterminado, rellene la lista en tiempo de ejecucin utilizando los mtodos AddItem o AddListItem.

1Valor. Relleno por una lista delimitada por comas.

2Alias. Utilice la propiedad ColumnCount para seleccionar campos de la tabla.

3Instruccin SQL. Un comando SELECT de SQL que crea un cursor o una tabla.

4Consulta (.qpr). Especifica un nombre de archivo con una extensin .qpr.

5Matriz. Establece las propiedades de columna para mostrar varias dimensiones.

6Campos. Una lista de campos delimitada por comas. Los campos pueden llevar delante un punto y el alias de tabla.

7Archivos. La lista se rellena desde el directorio actual. Especifique una estructura de archivo (como un *.dbf o *.txt) u ocltelo en la propiedad RowSource.

8Estructura. Campos de la tabla especificada en RowSource. Tenga en cuenta que cuando RowSource Type est establecido a 8, si la propiedad RowSource est vaca, se usa la tabla seleccionada como fuente para los valores del control ComboBox o ListBox. En caso contrario, la propiedad RowSource especifica el alias de la tabla, el nombre de la tabla o el nombre de la base de datos usada como fuente para los valores del control ComboBox o ListBox.

RowSource. Especifica el origen de los valores en un control ComboBox o ListBox. Disponible en tiempo de diseo y en tiempo de ejecucin. El origen de los valores puede ser una lista delimitada por comas que contenga valores, una tabla, una instruccin SQL, una consulta, una matriz.Puede utilizar RowSource para especificar mltiples columnas para un control ComboBox o ListBox en tiempo de diseo. Para especificar mltiples columnas, establezca RowSourceType como 1 (Valor) y especifique las columnas (separadas por una coma) de la siguiente manera:Col1Fila1,Col2Fila1,Col1Fila2,Col2Fila2,,Col2Fila3Para especificar un alias para la tabla que contiene las columnas, utilice la siguiente sintaxis:Tabla.Campo1,Tabla.Campo2,etcLos valores que especifique llenan el control, por filas, hasta el nmero de columnas especificado por la propiedad ColumnCount. ColumnCount. Especifica el nmero de objetos Column en un control ComboBox o ListBox. Para un cuadro combinado o un cuadro de lista, est disponible en tiempo de diseo y en tiempo de ejecucin. BoundColumn. Determina qu columna de un control ListBox o ComboBox de varias columnas depende de la propiedad Value del control. Est disponible en tiempo de diseo y en tiempo de ejecucin.Utilice BoundColumn cuando el control ListBox o el ComboBox tenga mltiples columnas y cuando desee almacenar datos en una columna que no sea la primera en la propiedad Value del control.SintaxisControl.BoundColumn[ = nColumna]

Ejercicio de aplicacinEl siguiente formulario, permite ingresar nuevos registros dentro de la tabla de datos Alumnos.Para el caso de las carreras se utilizar una lista desplegable, enlazada a la tabla carrera, la cual mostrar las diferentes carreras que se encuentran en dicha tabla.Desarrollo Abra un nuevo formulario y en entorno de datos, agregue las siguientes tablas:Seleccione la tabla datos Alumnos y en la ventana de propiedades, busque la propiedad BufferModeOverriden y cambie al valor 5 (Almacenamiento optimista) y de la tabla Carrera al valor 1 (Usar configuracin de formula)

Disee el formulario igual al siguiente diseo.

Enlazar los cuadros de textos a los campos de la tabla Alumnos.ControlPropiedadValortxtcodigoControlSourcealumnos.cod_alumnoMaxlength5InputMask99999txtnombresControlSourcealumnos.nombresMaxlength60txtapellidosControlSourcealumnos.apellidosMaxlength60txtDniControlSourcealumnos.dniMaxlength8InputMask99999999txtcelularControlSourcealumnos.telefonoMaxlength9InputMask999999999TxtfnControlSourcealumnos.fnacimientoValue={}txtdireccionControlSourcealumnos.direccionMaxlength60txtemailControlSourcealumnos.emailMaxlength60Para enlazar las lista desplegable cmbcarrera con tabla CarreraSeleccione el control cmbcarrera, cambie las siguientes propiedades:ControlSourcealumnos.cod_carreraColumnCount2ColumnWidths178,73RowSourcecarrera.nom_carrera,cod_carreraRowSourceType6 CamposBoundColumn2Seleccione el control cmbsexo, cambie las siguientes propiedades:ControlSourcealumnos.sexoColumnCount0RowSourceMasculino,FemeninoRowSourceType1 ValorBoundColumn1

Escriba el cdigo del formulario.

I

Ejecute el formulario, pulse el botn Nuevo, para agregar un nuevo registro, ingrese el cdigo del alumno y los dems datos.