Visual Basic
Visual Basic
Visual Basic
ALTURA 2
PROBLEMA 2.- PROGRAMACION CONVERTIR LA EDAD EN AÑOS DE UNA
PERSONA A MESES.
Tipo Rango
BYTE 0-255
INTEGER(%) +-2,147,483,698
DATE FECHA
Operador Operación
+ Suma
- Resta
* Multiplicación
/ División Flotante
\ División Entera
^ Potencia
alfa = 3 ^ 2
= 5^8/3
= 9^1/2
alfa = 23 MOD 4;
desplegar alfa; --- El resultado en pantalla es 3
Otro ejemplo;
1. .-
1. .-
1. .-
Ejemplos: a) 2+ 3* 4 = 20 (incorrecto)
= 14 (correcto)
b) si calif1=60 y calif2=80
promedio=calif1 + calif2/2
En Visual Baic recordar siempre, que antes de plantear una formula en un programa se
deberá evaluar contra el siguiente:
Orden de operaciones:
1.- Paréntesis
Así como las propiedades son el ser (que es) del objeto, los
métodos son el hacer (que hacer) del objeto.
ejemplo de métodos:
nomobjeto.propiedad = nvovalor
Ej.;
Ni modo, los colores tendrán que darse en hexadecimal, mas adelante se indicara como.
Recordar que para intercambiarse entre las diversas ventanas del IDE de Visual Basic, la de
forma, la de propiedades, la de código, etc., se pueden usar las opciones del menú, los
iconos del tool bar, clicks en las partes superiores de las ventanas, click en el explorador de
proyectos, click derecho para minimenus, la opción Windows, tile, cascade, etc.,
Para incorporar un componente a una forma solo basta seleccionarlo con un click en su
icono y luego colocar el cursor dentro de la forma en el lugar donde se quiere que aparezca
y arrastrando abrir toda el área donde se quiere que se quede, al final hacer click otra vez.
Si bien es cierto que el objeto se llama Label, pero cuando se ponen dentro de una forma
Visual Basic los va numerando automáticamente, si se ponen tres Labels en Form1, ellos se
llaman, simbolizan, procesan o programan como Label1, Label2, Label3.
Text1.Text = 5
Label3.Caption = "PATO"
Text4.Text = 3 * 6.2
En principio su valor de default es la palabra Text1, es en su propiedad Text donde se
modifica, generalmente al principio de un programa se deja en blanco, y al ejecutarse el
programa, el usuario lo llena con los datos solicitados o el programa lo llena con el
resultado de las operaciones.
FUNCIÓN CONVIERTE A
Cbool Boolean
Cbyte Byte
Ccur Currency
Cdate Date
Cdbl Double
Cint Integer
Clng Long
Csng Single
Cstr String
Cvar Variant
c) Text1.Text= Cint(Text2.Text) * 4
queda como:
Es importante recordar que dos controles cualquiera que tengan propiedades Caption o
Text, pueden intercambiar directamente sus datos entre si.
End
End Sub
View):
Notas:
6.-Repetir paso 1
PrintForm
CONSTANTE SIGNIFICADO
15.-CONTROL ComboBox
Form#.Show
Form#.Hide
Ej:
Recordar que este control extra deberá ir en cada forma o
ventana del programa, o no habrá manera de regresarse de la
forma5 a la forma1.
Form#.Control.Propiedad
Ejemplo
TAREAS PROGRAMACION VISUAL BASIC
B) CONTROL IMAGE
Se pueden usar para poner fondos o backgrounds en las ventanas, por ejemplo las nubes de
Windows.
Es mas conveniente usar el control IMAGE en programas, porque ocupa menos recursos de
Windows y lo despliega mas rápido.
b) Autosize = True, para que el control se ajuste a la imagen, ojo, si la imagen es mas chica
el control se hace chico, si la imagen es mas grande el control se hace mas grande.
c) Stretch = True, para que la imagen se ajuste al control, si la imagen es mas chica, sola se
agranda para cubrir todo el control.
Es un control Image de visual basic , con un gráfico BMP editado con el MSPaint y los
resultados son:
En resumen es mas conveniente, juntar una gran galería de clip art(existen miles de cds en
el mercado), un gran conjunto de imágenes escaneadas por ejemplo formas fiscales, formas
internas de empresas, etc. y empezar a usar una gran cantidad de imágenes en nuestros
proUNIDAD VISUAL BASIC I PROGRAMACIÓN VISUAL ELEMENTOS BÁSICOS
1.- Click Derecho para minimenu, dentro del Tool Box, y usar la opción componentes,
aparece la siguiente pantalla:
Como se observa
existen 500
controles que
pueden
incorporarse a
nuestros
programas.
Si no aparecen los
controles que se
quieren importar a Tool
Box, solo desmarcar la
flechita que se puso y otra vez usar el botón apply.
Para terminar de importar controles, usar el botón OK que esta abajo en la pantalla.
El Control Animation se usa para ejecutar archivos de vídeo con extensión AVI, si observan
con cuidado el programa ejemplo del tema anterior, el signo de pesos esta girando.
Y en el evento Click de Animation (doble click sobre el control animation para cargarlo),
escribir el siguiente código:
Archivos Avi de este tipo, también se pueden conseguir en
internet, o en cd's comerciales de clip art.
CUESTIONARIO
1.-Que es información
2.-Que es conocimiento
10.-Que es dato
11.-Que es variable
12.-Que es identificador
26.-Que es objeto
27.-Que es propiedad
28.-Que es Método
29.-Que es Evento
31.-Que es forma
32.-Que es control
33.-Que es componente
45.-Cual ventana contiene todos los eventos que una ventana o un control puede detectar
53.-En que otro lugar se puede construir código en un programa de Visual BASIC
63.-Cual es el formato para programar una forma o un control dentro de un programa que
maneja varias formas o ventanas
66.- Cuales son las propiedades mas importantes de los dos controles gráficos
Enfoque Visual como Visual Basic que hace énfasis en un buen diseño y constante
interactividad con el usuario de los programas, esto se hace usando componentes visuales
que facilitan dicho proceso o como en este capitulo, donde se analizan componentes que en
cierta manera son similares o realizan funciones parecidas a las instrucciones comunes de
un lenguaje de programación.
for
do while loop
do loop while
goto
desplegar rico
si no
desplegar pobre
Fin-si
si sexo = 'm'
imprime mujer
si no
imprime hombre
Fin-si
sexo = m
Operador Significado
= Igual que
If condición Then
Else
End If
Salida:
TAREAS PROGRAMACION VISUAL BASIC
Operador Significado
And y
Or o
Not no
La cantidad total de casos posibles cuando se unen dos o mas condiciones simples esta dada
por la relación donde n = cantidad de condiciones, la primera mitad de ellos empieza en
cierto y la segunda mitad en falso.
C C C
C F F
F C F
F F F
C C C
C F C
F C C
F F F
Como se observa, una condición compuesta con "O", es menos
restrictiva, o el 75% de los casos terminarían ejecutando el
grupo CIERTO de instrucciones de la instrucción condicional.
C C c C c
C C c F c
C F f C c
C F f F f
F C f C c
F C f F f
F F f C c
F F f F f
...
End Select
ejemplo:
Para el caso de constantes numéricas, solo convertir Text1.Text a byte, integer y long, y
poner las constantes sin comillas.
ejemplo:
Seleccionar opción [ ]
Para resolver este programa, primero diseñar las cuatro
formas o ventanas que se ocupan, y en la primera forma que
contiene el menú para el usuario, programar el evento clic
del botón de ordenes con la instrucción select case, los case
solo contienen código para llamar o poner a la vista del
usuario la ventana o forma respectiva.
2.- Construir un panel con los datos de un automóvil, un segundo panel muestra un plan de
financiamiento a dos años y un tercer panel muestra un plan de financiamiento a tres años.
( son dos checkbox en el primer panel y no hay botón de ok).
3.- Construir el programa de menú, que se dejo en el tema de instrucción select case.
Es su propiedad Caption donde se pone el texto que identifica el propósito del botón, es su
propiedad value quien refleja el cambio (True,False), también su evento click es activado
automáticamente cada vez que es seleccionado el OptionButton por el usuario.
Recordar también que cuando el usuario selecciona un OptionButton, todos los demás
OptionButton en el objeto(forma o ventana) son deseleccionados automáticamente, esto es,
por que dos OptionButton son mutuamente excluyentes entre si.
Esta ultima situación deberá resolverse por parte del programador, es decir se supone un
programa donde el usuario debe seleccionar uno de entre dos sexos y uno de entre cinco
municipios, en este caso se ocupan ocho OptionButton, pero como todos son mutuamente
excluyentes entre si, cuando el usuario seleccione uno de ellos, todos los demás se des
marcan automáticamente.
Es decir se deberá encerrar en su propio Frame todos los OptionButton lógicos, es decir en
un Panel los de sexo, en otro Panel los de municipios, etc.
De esta manera Visual Basic los evalúa por separado y se puede tener seleccionado un
OptionButton en cada frame.
También pueden programarse de las dos maneras ya vistas para el control CheckBox, es
decir usando un if por cada optionbutton y revisar si su propiedad value esta cargada con
TRUE o FALSE, o cargando el código en el evento click del control.
NAME: Un alias legal para cada opción y subopcion, en este caso se usan como alias, las
palabras uno, unouno, unodos, dos, dosuno, dosdos, tres, aunque tambien puede ser el
CAPTION pero en forma mas completa y entendible.
Observar ahora la pantalla del editor de menú, con las opciones en nivel y orden correcto.
4.- Cerrar el editor de menú con
OK, y observar ahora como form1,
ya contiene su nuevo menú
principal.
14.- POPUPMENU
NETX VARCICLO
EJEMPLO
Casos Particulares;
DIM X AS INTEGER
FOR X=5 TO 28
LABEL4.CAPTION=X
NEXT X
DIM X AS INTEGER
FOR X= -5 TO 18
LABEL4.CAPTION=X
NEXT X
DIM X AS INTEGER
LABEL4.CAPTION=X
NEXT X
DIM X AS INTEGER
LABEL4.CAPTION = X
NEXT X
ejemplo;
a. Pantalla de diseño
b.
B) Programa
c. la pantalla de salida es:
Su formato general es :
DO WHILE CONDICION(ES)
INSTRUCCION(ES) CIERTAS
LOOP
Ejemplo #1 :
DO While puede llevar dos condiciones, en este caso inicial izar 2 variables de condición y
cuidar que existan 2 de rompimiento de ciclo.
Su formato general es :
DO
INSTRUCCION(ES) CIERTAS
Ejemplo
2.- Cuales son las tres categorías de las instrucciones de control de programa
3.- Que es instrucción condicional
13.- Cuando el computador evalúa como cierta una condición compuesta que usa el
operador lógico AND
14.- Cuando el computador evalúa como cierta una condición compuesta que usa el
operador lógico OR
15.- Relación algebraica, para determinar la cantidad posible de casos, de una condición
compuesta
16.- Como evalúa el computador, una condición compuesta que incluye dos operadores
lógicos
21.- Cuales son las dos maneras de programar el control CheckBox de visual basic
42.- Porque se le conoce como ciclo de condición de salida al ciclo Do...Loop While
Pedro------> Nombres(2)
José
Ana--------> Nombres(4)
Carmen
18-----> Edad(1)
20
25
30----> Edad(4)
Para propósitos del aprendizaje se analiza o clasifican en tres grupos diferentes los arreglos
que ofrece Visual Basic, ellos son;
1.- Arreglos tradicionales (internos dentro del programa) 2.- Arreglos dinámicos (internos)
3.- Componentes Visuales de tipo Arreglo
Juan
Pedro---->Nombres(2)
José
Ana-----> Nombres(4)
Carmen
18----> Edad(1)
20
25
30----> Edad(4)
CIA ACME
(MILES DE $)
SUC A 10 12 15 10 9
SUC B 8 7 5 9 6
SUC C 11 18 20 14 17
INST TECN DE TIJUANA
CONCENTRADO DE CALIF
JUAN 5 5 5 5
JOSE 4 4 4 4
PEDRO 3 3 3 3
ANA 9 9 9 9
ejemplos;
notas:
a. Programa
b.
Observar que la declaracion de la lista y la variable de control va fuera del click del
boton, para que todos los botones de comando que se pongan en el programa las
puedan usar.
c. Pantalla de corrida
Para el caso de operaciones y comparaciones con todos los elementos de la lista a la vez, se
deberá usar un ciclo for, con una variable entera llamada renglón, misma que también se
usara como índice de la lista, el despliegue de la lista usara un control Listbox y el método
AddItem(), para este ejemplo se pretende convertir las edades a meses:
a. Programa :
Recordar que todos los datos internos de la lista estarán almacenados en la memoria ram
del computador, para desplegados se usara un componente visual que permite manipular un
conjunto de datos a la vez, el ListBox, pero se tiene que usar un ciclo for para ir añadiendo
o agregando elemento por elemento como se observa en el problema ejemplo que se ha
venido desarrollando, en este caso se quiere desplegar las cuatro edades convertidas a
meses;
B) Pantalla de salida:
TAREAS PROGRAMACION VISUAL BASIC
15 2 15
2 8 10
10 10 8
8 15 3
FOR K = 1 TO N-1
RENGLÓN = 1
TEMP = LISTA(RENGLON)
LISTA(RENGLON)=LISTA(RENGLON + 1)
LISTA(RENGLON + 1) = TEMP
END IF
RENGLÓN = RENGLÓN + 1
LOOP
NEXT K
- Las variables n, k, renglón, son variables de control y deberán ser declaradas de tipo
integer.
- La variable temp, deberá ser declarada de acuerdo al tipo de dato de los elementos de la
lista.
- Todas las referencias a LISTA, deberán ser cambiadas por el nombre verdadero de la lista
real.
- Es el símbolo del if, quien determina el tipo de sorteo, es decir, (>)ascendente, (<)
descendente.
A) Código:
B) corrida:
EJ:
A. Diseño:
B.
C. Codigo:
Recordar que en este nivel de instruccion, solo se pretende, entender los conceptos
asociadosa arreglos, mejores maneras de procesarlos existen, como se vera mas adelante,
pero ya se puede:
FOR R = 1 TO 4
FOR C = 1 TO 3
NEXT C
PROMRENG(R) = TOTRENG(R)/3
NEXT R
FOR C = 1 TO 3
FOR R = 1 TO 4
TOTCOL(C)=TOTCOL(C) + TABLA(R,C)
NEXT R
PROMCOL(C) = TOTCOL(C) / 4
NEXT C
Visual Basic, contiene los mecanismos apropiados para crear arreglos dnamicos, es decir,
arreglos que tienen la capacidad de ir creciendo, para ajustarse a las necesidades del
problema, incluso si perder los elementos de datos que ya contenga.
Para esto:
REDIM [PRESERVE]
NOMARREGLO(1 TO REN,[1 TO
COL]) AS TIPODATO
Pantalla de salida:
III VISUAL BASIC UNIDAD VISUAL BASIC ARREGLOS
Notas:
d) Despliegues: Pero si se quiere pasar de un ListBox a otro ListBox, entonces ciclo for, list
y listcount
Ejemplo:
a. Código Fuente
b.
Recordar que el primer índice en un ListBox es el cero, por eso el ciclo va desde el
cero, hasta la cantidad de elementos menos uno.
c. Pantalla de salida:
Este componente presenta, manipula y procesa conjuntos de datos de tipo strings en forma
tabular, es decir en forma de tablas, matrices, cuadros concentrados, ejemplo;
CIA ACME
MILLONES DE PESOS
SUC A 1 2 3 4
SUC B 5 6 4 5
SUC C 6 7 8 9
ej.:
MsFlexGrid1.TextMatrix(2,4) = "PATO"
Otro aspecto importante a recordar, es que MSFlexGrid no permite edición directa por parte
del usuario de sus celdas, por ese motivo se usara un componente externo TextBox para
capturas, así como el evento click de MSFlexGrid.
Para procesar todos los elementos de la tabla, solo recordar que se deben usar dos ciclos
for, uno externo para controlar renglones, y uno interno para controlar columna.
a. Pantalla de Diseño:
b.
c. Código:
d.
El Click del MSFlexGrid, usa la propiedad FocusRect, para graficar un rectángulo
alrededor de la celda.
e. Pantalla de Ejecución:
Un proceso muy común con tablas, cuadros y concentrados es agregarles listas de totales y
promedios ya sea por columna o por renglón, o ambas , por ejemplo;
CIA ACME
INGRESOS MENSUALES
(MILES DE PESOS)
SUC A 1 2 3 6 2
SUC B 4 5 6 15 5
SUC C 7 8 9 24 8
SUC D 10 11 12 33 11
TOTMES 22 26 30
b) Permanencia de los datos, hasta ahora todos los datos capturados, calculados, creados,
etc. al terminar o cerrarse el programa se pierden y es necesario volver a capturarlos, etc.,
en la siguiente ejecución o corrida del programa.
b.1)Tablas, es una combinación de las variables registro y de los archivos del modelo
anterior.
3.- TABLAS
ej.:
Tabla Empleado:
Clave Empleado
Nombre Empleado
Dirección Empleado
Edad Empleado
Teléfono Empleado
etc. Empleado
Tabla Proveedor:
Clave Proveedor
Nombre Proveedor
Empresa Proveedor
Teléfono Proveedor
Fax Proveedor
Celular Proveedor
etc. Proveedor
Tabla Autos:
Numero de Serie
Modelo
Marca
Tipo
Color
Capacidad
etc.
REGLAS:
Observar que cada tabla, empieza con una clave generalmente de tipo numérica.
Todos los elementos de la tabla, solo hacen referencia hacia el mismo ente o sujeto de
información.
No se respetan o siguen al pie de la letra estos tres postulados y empiezan los problemas
al tiempo de programación.
Tabla: Camisas
____________________________________________________________
____________________________________________________________
Tabla: Clientes
________________________________________________
__________________________________________________
1.- PACIENTES
2.- PERROS
3.- PLUMAS
4.- MERCANCÍAS
5.- PELÍCULAS
6.- MEDICINAS
7.- MAESTROS
8.- MATERIAS
9.- COMPUTADORAS
10.- CASINOS
En la primera etapa se diseña la tabla , con sus campos, llaves y condiciones especiales,
luego se usa un paquete o programa de software especializado en la construcción,
mantenimiento y administración de la base de datos, este software se usa para convertir la
tabla o tablas ya bien diseñadas en un archivo en disco.
El primer paso antes de usar el paquete correspondiente a esta tarea, es diseñar la tabla
completamente, esto exige:
c)También se puede seleccionar otros campos que puedan servir mas adelante para ordenar
de manera diferente la tabla, es decir una tabla en principio ya está ordenada por campo
clave, por ejemplo, la matricula de un alumno, el numero de empleado, etc., pero existirán
muchas ocasiones, mas adelante donde se puede pedir un orden diferente, por ejemplo, por
ciudad, por carrera, por nombre, por edad, etc., la buena ingeniería de una base de datos
exige tomar en cuenta estos y otros muchos problemas y detalles.
d)A estos atributos o campos especiales se les conoce como claves o llaves secundarias, que
internamente generan otra tabla especial llamada tabla o archivo de índices, (tabla o archivo
que contiene dos campos, el primero es la clave secundaria ordenada y el segundo la
posición o renglón donde se encuentra en la tabla original).
Así como TABLE STRUCTURE se usa para construir y validar toda la tabla, este
dialogo(ADD FIELD) se usa para construir y validar, todos y cada uno de los campos de la
tabla.
Sus elementos son:
De Nuevo:
* IndexedFields.- Lista los campos indices(solo clic enel campo o campos a indexar en la
ventana de abajo llamada Available Fields)
*AvailableFields.- Muestra todos los campos que ya se debieron haber hecho para la tabla
* Unique.- Indica que este indice debe ser único ( no permite duplicados)
Nombre Text * 30
Edad Integer
Domicilio Text * 20
Ciudad Text * 20
primary, unique
_________________________________________________
Matricula Long * I
Nombre Text 30
Edad Integer
Domicilio Text 20
Ciudad Text 20 I
_________________________________________________
8)Ya creada la tabla, y de regreso al Visual Data Manager, cargarle algunos datos o
renglones de prueba, para hacer esto, solo clic derecho en tabla alumnos para minimenu y
usar la opción open, aparece el siguiente editor de datos:
Para cargar un renglón, usar primero la opción ADD y aparece la siguiente gráfica
Cargar varios(10) Renglones de datos para pruebas, no olvidar usar el botón de update.
La barra de abajo es llamada de navegación, para recorrer todos los renglones de la tabla,
ya cargados unos 10 renglones se puede usar, para navegar entre renglones.
Para corregir un renglón, primero usar la barra de navegación para seleccionar y luego usar
el botón EDIT.
Si existen muchos renglones el botón SEEK, los busca usando la llave primaria
(MatriculaIndice) o la llave secundaria (CiudadIndice), revisar que en el editor de datos, la
opción índex, indique si es MatriculaIndice o CiudadIndice, sino la opción seek va a fallar.
La opcion Filter, se usa para dar instrucciones en SQL un lenguaje de consulta de bases de
datos muy especializado.
9) Ya construida y cargada la tabla, cerrar el Visual Data Manager, para regresar al Visual
BASIC.
1.- Construir con el Visual data Manager, las diez tablas diseñadas.
PROCEDIMIENTO Y COMPONENTES
Este componente Data Control, sirve de enlace físico entre la tabla real que se creo con el
Visual Data Manager y el resto de los controles que se usaran para la construcción de la
aplicación.
Propiedad ReadOnly = Ponerla en False(es default), se usa para dar permisos de edición de
registros.
Caption = mensaje a desplegar en este control
EofAction = AddNew, esto es, cuando se llegue al final de la tabla, se dará permiso al
usuario de agregar un nuevo renglón.
De este control se deben colocar tantos de ellos en la forma, como columnas existan en la
tabla a procesar.
Recordar poner unos cuantos componentes Label, arriba del componente TextBox y
cargarlos en su propiedad caption con el nombre del campo o columna respectivo.
Pantalla de Diseño
Pantalla de Ejecución
Notas Importantes:
* Renglón Siguiente
* Primer Renglón
* Ultimo Renglón
a) Control DataControl
b) Control DBGrid
Primero se deberá importar a TOOLBOX, se llama Microsoft DataBound Grid Control.
Este componente le presenta todos los renglones a la vez al usuario para su procesamiento.
Propiedades
* AllowDelete = True, permite eliminar un renglón (para esto, clic en cuadrito blanco al
principio del renglón, el renglón debe seleccionarse completamente y usar tecla del)
Ejemplo
a. Pantalla de Diseño
a. Pantalla de Corrida:
Notas:
2.-Un TextBox no enlazado a Data1, para almacenar el dato o valor a buscar por parte del
usuario.
Notas:
FROM tabla
WHERE condición;
Ejemplos
From Estudiantes
A) DataControl:
B) DBGrid:
5.- Cualquier dispositivo o periférico de este tipo (scaners, cámaras digitales, etc.) o
programas de imágenes ( paintbrush, paint, corel, etc.) tienen estas dos capacidades, es
decir pueden mandar sus imágenes ya sea al Clipboard o ya sea a un archivo en disco.
Ya debe estar en
el directorio o
folder datos dicho
archivo .BMP y
además otra vez
recordar, que
aunque la imagen
ya esta en la
pantalla, todavía
no se manda a la tabla a disco si no se ejecuta un avance de
renglón o un Move.Next, etc.
Pantalla de Corrida:
TAREAS PROGRAMACION VISUAL BASIC
14.- IMPRESIÓN
Solo usar
botón Next,
y aparece:
Seleccionar de la ventanilla de la izquierda, los campos o columnas a imprimir, solo clic en
la columna y luego en el botón Add, al finalizar usar el botón Next, aparece:
Esta ventana se usa, para que sortear u ordenar, los
registros o renglones de la tabla, seleccionar en la
ventanilla izquierda el campo a ordenar (numcliente), luego
botón Add y al final abajo usar el botón Next, la siguiente
pantalla (similar a la gráfica arriba y no mostrada) se usa
para poner subtotales o conteos por columnas, seleccionar
columnas, Add, Next y la siguiente pantalla es:
A)DataControl
-DataBaseName = clic, buscar y seleccionar la base de datos
apropiada.
-DataSource = Data1
CUESTIONARIO
29.- Cuales son los dos métodos usados para capturar gráficos
en una tabla
Entiéndase de otra manera, como una frase que relaciona las dos tablas y un y solo un verbo
que las une.
Si se observan y analizan detenidamente las relaciones de los ejemplos, es también posible
deducir que un conjunto de relaciones forman o constituyen un proceso administrativo,
contable, fiscal, o de otro tipo cualesquiera, en el primer ejemplo el proceso es el de
ventas, en el segundo es el proceso de reparación de un auto.
Debe ser obvio que un proceso cualesquiera no se podrá describir completamente, con tres
o cuatro relaciones simples nadamas.
Aun mas, en un sistema de información cualesquiera cada una de las relaciones genera una
tabla especial llamada "de relación", pero también genera en muchos casos un documento
especifico, por ejemplo el cliente compra al contado productos genera la tabla de relación y
el documento llamado "Factura", en la relación el auto ingresa al taller se genera la tabla de
relación y/o documento llamado "ORDEN DE ENTRADA", en la relación el cliente aparta
productos se genera la tabla de relación y/o documento llamado "NOTA O RECIBO DE
APARTADO", etc.
Existirán casos o relaciones donde será casi imposible identificar o nombrar el documento o
relación existente, para resolver este problema, existen dos soluciones básicas, la primera
de ellas es crear por nuestra cuenta el documento, es decir si en un modelo practico no
existe un documento para esta parte del proceso lo mas sencillo es crearlo en la empresa,
documentarlo y pedir a la empresa que lo ponga en practica, en algunos casos es también
posible o necesario no crear documento alguno, solo llamar a esta relación con el nombre
de las dos tablas, por ejemplo rel perros/gatos, rel clientes/productos, etc. ( aunque no es
recomendable o muy explicativo).
b) 1:CTE ( uno a constante), por ejemplo una nota de renta de películas, donde la política
de la empresa es que solo se rentan hasta cuatro películas.
c) 1:M ( uno a muchos), el caso mas común, facturas, notas de ventas, ordenes de salida de
almacén, solicitudes o requisiciones de material o de equipo o de personal, etc.
d) M:M (muchos a muchos), cuadros o concentrados, muchos de ellos de tipo fiscal, por
ejemplo informes fiscales al gobierno acerca de los muchos clientes que hacen muchas
transacciones mayores de $ 10,000.00, informes al gobierno de los muchos distribuidores e
importadores de equipo de computo y las muchas transacciones que hacen mensualmente
de equipo, etc.
Repitiendo el caso mas común de relaciones, son las de 1:M,
en este caso, solamente la tabla de relación no permite
resolver el problema de información, en casos de relaciones
1:M se ocupara una segunda tabla llamada detalle-relación.
El modelo completo de tablas para una y solamente una relación de tipo 1:M es;
Ejemplo;
ejemplo;
Etcétera - Cantidad
El caso de relaciones 1:1 se resuelve con solo tres tablas, solo agregar también en la tabla
de relación la clave de muchos.
El caso de relaciones 1:Cte también se resuelve con tres tablas, solo agregar en la tabla de
relaciones tantas claves de la tabla de constantes como constantes existan en la relación, por
ejemplo si la relación es boleta de calificaciones y solo contiene tres materias, entonces se
ocupan la tabla de alumnos, la de materias y la tabla de boleta, esta ultima tendría clave
alumno, clave material, clave materia2, clave materia3.
tabla de uno
Clave de Uno P*
otros campos
tabla de muchos
Clave de Muchos P*
otros campos
tabla de relación
Clave Relación P*
Clave de Uno
otros campos
tabla de detalle
Clave Relación C*
Clave Muchos C*
notas:
P* , significa que dicho campo es una clave o llave primaria, en Visual Data Manager
(VDM)recordar que solo se ocupa usar el EDITOR DE INDICES, tal como se observa en el
procedimiento mas adelante.
C* , se conocen como claves o llaves compuestas, para crear una clave o llave compuesta
solo agregar los dos campos involucrados en el EDITOR DE INDICES.
Párrafos mas adelante, se muestra el procedimiento para crearlos dentro de VDM.
1.- Cargar el Visual BASIC, remove project, y cargar el Visual Data Manager.
2.- Crear una sistema2 de bases de datos, y crear en propiedades la 4(cuatro nuevas tablas),
y cargarlas nada mas con sus campos apropiados.
3.- Crear las llaves primarias y llaves compuestas, para cada tabla, la creación de estos
elementos, deberá ser siempre en orden, a continuación se muestra el editor de indices y
editor de campos para cada tabla respectiva:
Con esto, se termina de crear el modelo de datos en el Visual Data Manager, no olvidar
cargar cada tabla con unos cuantos renglones de prueba, para usarlos con la aplicación.
1.-Data1.- Es el control de abajo, abierto y se usa para navegar las facturas, es el principal y
esta enlazando a la tabla de Facturas y a los TextBox apropiados, sus propiedades son:
-RecordSource= Facturas
3.Data3.- Enlaza la tabla de clientes y el Textbox del nombre del cliente, u otros campos de
clientes, atención el Textbox de NumCliente, no deberá ser enlazado a Data3, sino a
Data1, sus propiedades son:
-RecordSource= Clientes
-DataSource= Data2
-DataSource=Data1
-DataField=NumFactura
-DataSource=Data1
-DataField=NumCliente
-DataSource=Data3
-DataField=NomCliente
-DataSource=Data1
-DataField=fecha
9.-Command1.- este botón, deberá llenarse con código para ocultar la ventana y llamar a las
ventanas que capturan todos los datos de una nueva factura, usando lo visto en la UNIDAD
VISUAL BASIC anterior.
Data1.Refresh, esto es para que al momento de ejecutarse el programa, aparezcan los datos
de la primera factura.
B)Se esta usando también el evento Reposition(), en Data1, porque este evento se activa
inmediatamente al cambiarse de renglón o registro el apuntador de registros, esto dentro de
la tabla de Facturas, hacia quien esta apuntando Data1.
Observar que se están dando instrucciones selects, dentro del RecordSource de Data2 y
Data3, para sincronizar los renglones de las tablas de detalles y de clientes con la tabla
maestra o principal de Facturas.
& Data1.Recordset!NumFactura
* Atención todo debe escribirse en el mismo renglón, en el editor de código, los símbolos &
se usan para concatenar strings y el símbolo ! Para convertir a single el numero de factura.
C) Al final se esta usando la orden Refresh, tanto para Data2 como para Data3, para
actualizar los Dbgrids y TextBoxs correspondientes.
CUESTIONARIO
1.- Que es relación
10.- Que es P*
11.- Que es C*