Documente Academic
Documente Profesional
Documente Cultură
%Megabyte s.a.c.
GRUPO EDITORIAL
Dedicatoria |
Área : Computación e Informática
Hecho el Depósito Legal en la Biblioteca Nacional del Perú
N° 2006-1601 (Ley N° 26905 / D.S. N° 017-98-ED)
R.U.C. N° 20507993444
ISBN: 9972 - 821-53 - 6 A José Domingo y María Eugenia, mis
Padres, por darme todo lo que estuvo
© Edward Aburto Correa
Gerente General___________
a su alcance para ser un profesional.
© Juan José Castañena León
Autor
© Gean Cario Apolinario García
Diseño de Carátula _____
A Blanca Mírela, mi esposa y a
Juan José, José María y María José,
Visual Basic 6.0 Como Debe Ser..... mis hijos, por el amor que nos une.
Derechos Reservados / Decreto Ley 822
Prohibido la reproducción total o parcial de este libro, su tratam iento informático
la transmisión de ninguna otra forma o por cualquier otro medio ya sea electrónico,
mecánico, por fotocopia, por registro u otros métodos sin permiso previo y por
escrito de los titulares de Copyright.
G rupo E d it o r i a l Megabyte
'fo VISUAL BASIC como debe se r.. < VISUAL BASIC como debe s e r .. . 4ÊÊÊÈb
AGRADECIMIENTO PRÓLOGO
A todas las personas e instituciones que, una vez Pensando en ti, me animé por la redacción de este libro. “Visual
más, hicieron posible la culminación de este segundo Basic, como debe ser...”, es como tú: único; distinto de muchos otros
libro. libros de com putación, especialm ente los referentes a lenguaje de
program ación.
A mis alumnos, de manera especial, por ser ellos
q u ien es m e e n señ a ro n , d ia ria m e n te q u é y cóm o A través de mis años de experiencia como docente he notado, con
escribir este libro. asombro y pesar, que la mayoría de los estudiantes se “quejan” de los
libros porque no los “entienden”, ya que sólo presentan conceptos y
sintaxis que antes de responder a sus inquietudes y aclarar sus dudas,
los confunden. Además, dicen, presentan una secuencia de temas que
pocas veces se tratan en el desarrollo de la asignatura.
Sé, también, que como docente no sólo debo ser el “facilitador” del
aprendizaje, si no que además tengo la tarea de buscar despertar en los
alum nos su aletargado espíritu de investigación que le ayuden a no
“contestar”, con los conocimientos, impartidos en aulas sino más bien
que profundicen sus conocim ientos, los contrasten y los pongan en
práctica. Para ellos y par ello presento también aplicaciones propuestas.
C O N T E N ID O
P rólogo.................................................................................................................................. 7
Indice .................................................................................................................................... 9
Introducción ........................................................................................................................ 17
I P I ^ G ru p o E d ito r ia l M e g a b y te 9 m »
VISUAL BASIC como debe se r.. . VISUAL BASIC como debe s e r.. .
Aplicación desarrollada N° 0 2 .................................................. .......................................... 65 Aplicación desarrollada N° 0 9 ............................................................................................ 116
Aplicación propuesta N° 01................................................................................................. 67 InputBox ............................................................................................................................... 122
Aplicación desarrollada N° 03.............................................................................................. 67 Contadores y acumuladores ................................................................................................ 125
Botones de Comandos (Command)..................................................................................... 69 Aplicación desarrollada N° 1 0 ............................................................................................ 125
Aplicación desarrollada N° 04 ............................................................................................. 70 Aplicaciones propuestas N° 04 y 05 .................................................................................. 130
Escribir instrucciones para los controles............................................................................. 71 IIF ........................................................................................................................................... 131
Ventana de código o de instrucciones................................................................................... 71 SelectC ase............................................................................................................................. 132
Principales eventos .............................................................................................................. 72 Aplicación desarrollada N° 11.............................................................................................. 133
Visual Basic le ayuda a escribir los programas..................................................................... 75 Aplicación desarrollada N° 12 ........................................................................................... 137
Aplicación propuesta N° 0 2 ................................................................................................. 75 Aplicación propuesta N° 06 ............................................................................................... 143
Trabajando con os nombres de los controles...................................................................... 76 C hoose................................................................................................................................... 143
Aplicación desarrollada N° 05 .............................................................................................. 77 Funciones de caden a............................................................................................................ 144
Errores más com unes........................................................................................................... 80 Aplicación desarrollada N° 13 ............................................................................................ 145
Preguntas de rep aso ............................................................................................................. 81 Funciones tipo fecha ............................................................................................................ 146
Aplicación desarrollada N° 1 4 ............................................................................................. 146
CAPÍTULO III : ELEM ENTOS DE LA PROGRAMACIÓN Función DateAdd .............,.................................................................................................. 148
Procedimientos y funciones ................................................................................................ 85 Función D ateD iff.................................................................................................................. 148
Sintaxis de un procedimiento............................................................................................... 87 Función DateAdd ................................................................................................................. 150
Sintaxis de una función......................................................................................................... 88 Funciones tipo hora .............................................................................................................. 152
Parámetros por referencia .................................................................................................... 89 Funciones Numéricas............................................................................................................. 152
Parámetros por valor ............................................................................................................ 89 Aplicación desarrollada N° 15 ............................................................................................. 154
Creación de procedimientos a nivel de formulario ............................................................ 90 Función S h ell........................................................................................................................ 157
Llamar a un procedimiento................................................................................................... 91 Aplicación desarrollada N° 16 ........................................................................................... 158
Constantes ............................................................................................................................. 92 For Next ................................................................................................................................ 159
Variables................................................................................................................................. 92 Do Loop ................................................................................................................................ 159
Tipos de variables ................................................................................................................ 94 D oEvenst............................................................................................................................... 159
Diferencia entre Dim. y Static ............................................................................................. 95 Aplicación desarrollada N” 17.............................................................................................. 160
Aplicación Desarrollada N° 0 6 ............................................................................................ 97 A rray...................................................................................................................................... 162
Ejemplo de una variable a nivel de procedimiento ............................................................. 98 Aplicación desarrollada N° 1 8 ............................................................................................. 163
Ejemplo de una variable a nivel de formulario ................................................................... 98 Crear un array de controles ................................................................................................. 164
Operadores aritméticos ........................................................................................................ 99 Aplicación desarrollada N° 19 ........................................................................................... 165
Orden de ejecución de los operadores................................................................................. 99 Aplicación desarrollada N° 2 0 ............................................................................................ 169
Comentarios .......................................................................................................................... 100 Aplicación desarrollada N° 21 ............................................................................................ 174
Aplicación desarrollada N° 0 7 ............................................................................................. 101 Errores más com unes............................................................................................................ 178
IfT h e n ................................................................................................................................... 106 Preguntas de repaso N° 0 3 ................................................................................................... 179
Operadores ló gicos............................................................................................................... 107
M sgB ox.................................................................................................................................. 109 CAPÍTULO IV : MEJORANDO EL ASPECTO DE LOS FORMULARIOS
Iconos de la función M sgBox.............................................................................................. 110 Control Frame (Marco) ....................................................................................................... 183
Aplicación desarrollada N° 08 ............................................................................................. 112 Asignando colores................................................................................................................. 184
Consistencia de datos ........................................................................................................... 116 Qbcolor ................................................................................................................................. 184
E d it o r i a l M e g a b y te # ^ G ru po E d it o r ia l Megabyte H
A f c VISUAL BASIC como debe se r.. . <5> § VISUAL BASIC como debe se r.. .
RGB ................................................. .................................................................................... 184 CheckBox.............................................................................................................................. 240
Control Shape (Figuras)........................................................................................................ 185 Aplicación desarrollada N° 35 ............................................................................................ 240
Control Line (Línea) ............................................................................................................ 186 ListBox .................................. .............................................................................................. 243
Control PictureBox (Caja de Imagen) ................................................................................ 187 Aplicación desarrollada N° 36 ............................................................................................ 244
Método gráficos ................................................................................................................... 189 Calculando los días Probables de Fertilidad....................................................................... 246
Aplicación desarrollada N° 2 2 ............................................................................................. 190 UpDown ..... ......................................................................................................................... 248
Buscando gráficos en la computadora .............................................................................. 193 MaskEdBox ......................................................................................................................... 250
Control Image ....................................................................................................................... 195 Aplicación desarrollada N° 3 7 .............................................. ............................................... 252
Control Timer ....................................................................................................................... 195 SendKeys ............................................................................................................................. 257
Aplicación desarrollada N° 2 3 ............................................................................................ 196 Aplicación desarrollada N° 38 ............................................................................................ 258
Aplicación desarrollada N° 2 4 ............................................................................................ 198 Aplicación desarrollada N° 39 ............................................................................................ 261
Control ImageList (Lista de Im ágenes).............................................................................. 200 Instrucción With ................................................................................................................... 264
Manejo de las imágenes en el control Im ageList............................................................... 202 Preguntas de repaso N° 05 .................................................................................................. 265
Aplicación desarrollada N° 2 5 ............................................................................................. 203
Función LoadPicture............................................................................................................. 203 CAPÍTULO VI : MANEJO DE VARIOS FORM ULARIOS
Control Calendar (Calendario)............................................................................................ 204 Agregar Formularios a una aplicación................................................................................. 269
Aplicación desarrollada N° 26.............................................................................................. 205 Quitar formularios de una aplicación ................................................................................. 271
Control StatusBar (Barra de Estado)................................................................................... 206 Seleccionar un formulario a ejecutar prim ero..................................................................... 271
Ejemplo de una aplicación usando el control StatuBar ..................................................... 209 Instrucciones para manejar formularios ............................................................................. 272
Pantallas de presentación ..................................................................................................... 211 Aplicación desarrollada N° 40 ............................................................................................ 273
Control O L E .......................................................................................................................... 211 Aplicación desarrollada N° 4 1 .............................................................................................. 278
Activar una presentación en Power Point ......................................................................... 212 Errores más com unes............................................................................................................ 280
Objetos insertables................................................................................................................ 214 Preguntas de repaso N° 06 .................................................................................................. 281
Controles Hscroll y Vscroll ................................................................................................ 215
Aplicación desarrollada N° 27 ............................................................................................. 215 CAPÍTULO VII : DISEÑO DE MENU
Control ProgressBar............................................................................................................. 218 Editar EN menú .................................................................................................................... 295
Control Slider......................................................................................................................... 218 Instrucciones PopupMenú .................................................................................................. 298
Preguntas de repaso N° 04 .................................................................................................. 219 Control ToolBar ................................................................................................................... 303
Aplicación desarrollada N° 43 ............................................................................................ 305
CAPÍTULO V : INGRESO PERSONALIZADO DE DATOS SsTab...................................................................................................................................... 309
ComboBox............................................................................................................................. 223 Errores más com unes............................................................................................................ 311
Aplicación desarrollada N° 28 ............................................................................................. 224 Preguntas de repaso N° 07................................. .................................................................. 312
Aplicación propuesta N° 07 ................................................................................................ 225
Aplicación desarrollada N° 29 .............................................................................................. 226 CAPÍTULO VIII : MANEJO DE ARCHIVOS
Aplicación propuesta N° 08 ............................................................................................... 229 DriveListBox .................................................. ..................................................................... 315
Aplicación desarrollada N° 31 ............................................................................................ 230 DirListBox ........................................................................................................................... 315
Aplicación desarrollada N° 32 ............................................................................................ 233 FileListBox ........................................................................................................................... 315
OptionButton ....................................................................................................................... 236 Aplicación desarrollada N° 44 ........................................................................................... 316
Aplicación desarrollada N° 33 ............................................................................................. 237 Aplicación desarrollada N° 45 ........................................................................................... 317
Aplicación desarrollada N° 34 ............................................................................................ 239 CommoDialog ...................................................................................................................... 319
¡ Y Mucho más!
_rr) Inicio ►
^ Microsoft Excel
'J 2 Microsoft NetMeeting
Microsoft Outlook
ß j Microsoft Word
m MS-DOS
jjri) A c c e îo ric î *
A dobe »
. - j j Adobe A r m b * 4 0 *
CorelDRAW 8 »
H wiamterrfa: de M ia o so it Office »
H P DeskJet S a » 840C v2 3 *
»«C b »
ä « r te n r t Explore.
< 4 l W inZ ip .-j M ê ro iô fr W efcPuW iîhirçj » H erram iertat errçm a ria te s de M ie to » » VStw IS»
PLATINUM W orkf/ie w h t iníe ine l Explore» » .rj MicrQ:oft Visual SourceSafe
jj, w * « * " • ^
äj fi.v c . W Æ ic
^ A)uda ¿I
£ ] E r— £ W -n H E ,to .
£ MS-DOS
S i* Apagar es iiî« n > 3 O u llc x * Ewpress
In ic io «Ô § ^ V -â lo flfc W « fc s E R « ¡r> E R X 3 5 »
Ì7 Visual Basic
¿á Sí J1t7 «V
New Existing | Recent | -----------------------------------------------------
S e le c cio n a las
h o ja s
ActiveX EXE ActiveX DLL ActiveX VB Application
Control Wizard Buscar en: | _ J Vb
j L I S e le c c io n a
J CKsvr j samples _ j Winapi
u n a c a r p e ta
¡él
VB Enterprise
SI
Addin
Si
ActiveX
[
<
él
ActiveX
J Help
J Nueva carpeta
JO dbc
J Setup
J setupkit
J T empiate
u J Wizards
amer.vbp
^ANA.vbp
Edition Document DLL Document EXE J report J Tsql cli..vbp
Controls j vbonline % |C H IQ U I.virr
___ M u e s tra los
J Repostry
p ro y e c to s q u e e stá n
jJ m ás a la d erech a
Don't show this dialog in the future r Doni show tNs dialog in thè future
Cancelar
Proyecto 1 (P royecto 1)
A yuda
03 Formularios
|i£ Propiedades - Formi mmm G Forml (Forml)
P D on't show this dialog in the future jF o rm l Form zi
Alfabética | categorías )
-------- 1
(Nombre) Formi
Appearance 1 - 3D
Seleccione el nombre del proyecto y haga click en el botón Abrir. AutoRedraw False
BackColor □ &H80G0000F8
BorderStyle 2 - Sizable
Caption Formi
zi
Si en cualquiera de las 3 páginas Ud. selecciona la opción CA NCELAR,
ingresará al Visual Basic, pero no podrá ver ninguno de sus componentes.
CAJA DE HERRAMIENTAS
PRINCIPALES TECLAS RAPIDAS
General
CTRL + N Crear un Proyecto. Se activa haciendo click en:
CTRL + O Abre un Proyecto. * SS A
CTRL + S Graba un Formulario.
CRTL + P Activa la Ventana para Imprimir. [ibi " _J
CTRL + R Muestra la Ventana de Proyecto.
17 í? [Ü
CRTL + T Activa la Ventana de Componentes.
CRTL + D Agrega un Archivo. 1=1 il ^zl Contiene los controles que se dibujan
SHIFT + F7 Muestra el Formulario. — en el form ulario para desarrollar
ALT + Q Sale del Visual Basic. © o _J aplicaciones.
F4 M uestra de la Ventana de Propiedades.
F5 Ejecuta un Proyecto. B \
F8 Ejecuta mostrando cada instrucción.
H ü
S3 ¿7 Iw M
_ j
A
17
[5bi
a-
S S ActiveX EXE ActiveX DLL ActiveX VB Application
Control Wisard
ü ü * * e|
C3 C o m p o n e n te s ..
A g re g a r fic h a ..
g5>
A coplable
O cu lta r
VB Enterprise Ad din ActiveX ActiveX
Edition Document DLL Document EXE
Controls
. n ES
M
General
P a ra in g re s a r al V isu a l B a sic y C o n tr o l e s J D i s e ñ a d o r e s | O b j e t o s i n s e r t a b l e s ]
30 G ru po E d it o r ia l M e g a b y te « * E d it o r ia l Megabyte 31 R i
VISU AL B A SIC como debe ser.. . CAPÍTU LO 1: Entorno D el Visual Basic
VISUAL BASIC como debe se r.. .
SALIR DEL VISUAL BASIC
VENTANA DE PROPIEDADES Para salir del Visual Basic puede realizar cualquiera de los siguientes pasos:
VENTANA DE PROYECTO
1.- Al a c c e d e r a l V isu al B asic no se e n c u e n tr a n to d o s los Fie Edit View Project Form at D ebug Run Took A dd-Ins Window Help
c o m p o n e n tes. si - a - 1 es H m, ►
IF o r m i Form
Para solucionar éste problema debes hacer click en la opción V IE W Alphabetic | Categorized |
(VER) de la barra de menú, cuyas opciones perm iten visualizar los AutoRedraw False ..... *1
BackColor □ &H8000000F& —1
componentes: BorderStyle 2 - Sizable
eSÎSSIÉBÂi 1 Formi
»5, Proyectol - Microsoft Visual Basic [diseño] I—Inixi ClipControls True
ControlBox True zi
Archivo Edición Ver Proyecto Formato Depuración Ejecutar Consulta Diagrama Herramientas Complementos Ventana Ayuda
[ab| *v .
Activa el Formulario
F Í» B
d
i ÿ Examinador de objetos F2 m 4 ±j d
GD _J
jp Ventana Inmediato Ctri+G
0
® \
□ Ventana Locales
^gj
£ 3 Ventana Inspección B ■
OrK.
Activa la Ventana
<§$ Explorador de proyectos Ctrl+R de Proyecto
Hl* Ventana Propiedades F4 . Para solucionar este problema debe hacer click con el botón dere
¡Q Ventana Posición del formulario ■ \ cho del mouse dentro de cualquier parte de la ventana de propieda
Páginas de propiedades Mayús+F4 Activa la Ventana
de Propiedades
des. Se visualizará cualquiera de las siguientes ventanas.
Tabla ►
Zoom ►
Description
Mostrar paneles ► ✓ Dockable
Activa la Caja de ^ Dockable
—
Hide
Cuadro de herramientas ■ Herramientas Hide
Ventana de la vista Datos
Paleta de colores
Depuración Desactive la opción Dockable, haciendo click en ella.
Barras de herramientas
m Edición
Otra form a de solucionar este problema es haciendo click en el
Visual Component Manager Editor de formularios
* Estándar
título de la ventana de propiedades y arrastrarla a su posición nor
Activa o desactiva
mal.
la Barra Estándar
Si la ventana de propiedades ocupa toda la pantalla, restaure la
Activa la Ventana de ventana del Formulario.
ubicación de formulario
1 -1 ° « *»
d i Botón Minimizar
fx l Botón Cerrar
5.- No puedes visualizar el fo rm u lario y la ventana de propiedades 7.- No en cuentra un control que ha dibujado en el form ulario. Por
y caja de h erram ien tas están en blanco. ejem plo: al d ib u ja r u n a etiqueta se visualiza L abel3, pero Label2
no la encuentra.
Para solucionar éste problema haga en la opción FILE y elige
NEW PRO JECT (Nuevo Proyecto). Primero m axim iza la ventana del fo rm u la rio y luego elige el
nombre del control que buscas de la lista de controles que se
encuentran en la ventana de propiedades. Si en esta lista no
F ile £ d it y ie w E ro je c t F ß rm a t £>et>ug gun T o o ls & d d -In s W in d o w H e lp
s # * - . g~£ , ■ f e i <~vf j „
existe el nombre del control que buscas significa que no existe
cS *
- |á |jc |
en el form ulario.
General j
* Botón para ver ia
L a b e l3 Label
lista de controles
que se encuentran
• F o r m i Form
L a b e l l Label en el formulario
¡
L a b e l2 Label
BackStyle 1 - Opaque
B orderS tyle 0 - None
C aption Labels
DataField
Grupo de proyectos - Grupol B Para ello, puede configurar al Visual Basic para que al ejecutar
En este ejemplo a creado en su
C3 aplicación tres proyectos y en el su aplicación se graben en form a automática todos los cambios
- P r o y e c t o l ( P r o y e c t o l) proyecto N° 1 tiene 3 formularios. que le ha realizado.
-j ' > Form ularios Haga click en la opción TOOLS (Herramientas) de la barra de
C ] F o rm l (F o rm l)
Si hace un Click en el signo mas (+) de menú y elija OPTIONS... De la ventana que se visualiza active la
O Form 2 (Form 2)
C ] Form 3 (F o rm 3 )
un proyecto, se visualizan sus página E N VIR O N M EN T (Entorno). Se visualiza la siguiente
0 ¡ j ? P ro y e c to 2 (P ro y e c to 2 )
componentes y en el signo + de la ventana:
B €: >IForm
........ularios
...... palabra Formularios se visualizan los
Q F o rm l (F o r m l) formularios que contiene. Si hace un Para que los cambios realizados a
Editor | Formato del editor | General ] Acople Entorno | Avanzado ]
- P ro y e c to 3 (P ro y e c to 3 ) click en el signo menos (-) los oculta. Cuando se inicie Visual Basic: Mostrar plantilas para: su aplicación se graban
GB- l2 Form ularios
(• preguntar por un proyectol F Eormularios autom áticam ente al ejecutarse
C £rear un proyecto predeterminado P Formularios MDI
active el botón G uardar los
F Módulos
F Módulos de clase
Cambios
Cuando se inicie un programa:
Para solucionar este problem a haga un click con el botón C guardar los cambios F Controles de usuario
derecho del mouse en el proyecto o form ulario que desea borrar. C Preguntar p ata guardar los cambios F Páginas de propiedades NOTA
F Documento de usuano Cada una de las páginas de esta
Se visualiza el siguiente menú: <• No guardar los cambios
Directorio de plantillas:
ventana permiten configurar id
|C:\ARCHIVOS DE PROGRAMA\D£VSTUDIO\VB\Tempiate Visual Basic. Es muy importante
M enú del Proyecto M enú del Formulario que Ud., observe cada una de estas
j Aceptar Cancelar | Ayuda
ventanas.
1Ü Ver objeto
Establecer como inicial CU Ver código
Propiedades de Proyectol... Desea que en la ventana de propiedades se m uestre una breve
Propiedades
explicación de cada una de las propiedades.
Guardar proyecto
Agregar
Quitar proyecto
Guardar Forml Para ello, haga click con el botón derecho del
[c o m m a n d 1 CommandButton * |
Agregar ► Guardar Forml como. mouse en cualquier propiedad y luego active
la opción Descripción. Alfabética j Por categorías |
Quitar Forml
é=$ Imprimir... (Name) Command 1
Appearance 1 - 3D
1Imprimir... BackColor □ &HSOOOOO1
v' Acoplable v' Descripción
Cancel False
Ocultar v" Acoplable
v' Acoplable
Ocultar
Ocultar D efault False
C a p tio n
En cualquiera de los casos haga click en la opción Q U IT A R Devuelve o establece el texto
mostrado en la barra de título de
(Proyecto o Formulario). Descripción de las propiedades un objeto o bajo el icono de un
Datos Personales
G ua rd a r co m o tip c; I Form File:
%T" ‘
OBSERVACIONES
DESCRIPCION
DE LOS
CONTROLES BÁSICOS
EL FORMULARIO:
Es una ventana muy importante porque aquí se dibujan o pegan todos los
controles que necesitamos utilizar en nuestro programa o aplicación. Se
pueden utilizar tantos formularios como se necesiten, y dependiendo de la
utilidad que se les dé, éstos serán de diferentes tipos. Así, se puede crear un
formulario que contenga un gráfico, para visualizar información o para
ingresar datos.
P R IN C IP A L E S P R O P IE D A D E S D E U N F O R M U L A R IO :
ÑAME
Permite asignar un nombre al formulario. Por defecto el nombre es FO RM 1,
FORM2, FORM3, etc.
BACKCOLOR
Selecciona un color de fondo para el formulario.
B O R D E R ST Y L E
Selecciona el estilo de presentación y comportamiento del formulario.
C A P T IO N
Asigna un Título al formulario.
CONTROLBOX
Indica si se visualizan los botones de control del formulario (Maximizar,
Minimizar, etc.).
EN A B L ED
Indica si el formulario debe estar activado o no. Si no esta activado, no
responde a ningún evento.
FO N T
Indica el tipo, tamaño y estilo de letra de los controles que se dibujen en el
formulario.
IC O N
Selecciona un icono para el formulario.
E d it o r ia l Megabyte 45
CAPÍTULO II:Descripción de los Controles Básicos
4S S S & VISUAL BASIC como debe ser.. .
LEFT
Permite indicar la posición horizontal del formulario. ¿CÓMO ASIGNAR UNA PROPIEDAD?
M A X B U TTO N
Indica si se visualiza el botón Maximizar. Para asignar una propiedad a un control (formulario, caja de texto,
M IN B U T T O N etiqueta, botón de comando, etc.), primero debe seleccionarlo, haciendo un
Indica si se visualiza el botón Minimizar.
click en él, luego pulse <F4> o el botón propiedades.
M O U S E IC O N
Se utiliza para indicar un icono que debe reemplazar al puntero del Mouse
cuando éste se encuentre dentro del formulario. Para que esto suceda debe
BOTON DE PROPIEDADES
asignar el valor 99-Custom a la propiedad MousePointer.
M O U S E P O IN T E R
Se utiliza para indicar el estilo del puntero del mouse.
M OVEABLE BOTON PARA
Indica si el usuario puede mover el formulario. ES* i S S S B S Œ - Ia !.*J SELECCIONAR EL
NOMBRE DEL CONTROL Al.
P IC T U R E CONTROL AL JF o r m i Form .I.J
CUAL LE
Para seleccionar un gráfico que sirva de fondo para el formulario. CUAL SE LE ^ T Alphabetic ] Categorized | QUEREMOS
ESTA ASIGNADO ASIGNAR
SCALEM ODE PROPIEDADES Aubzftëèdraw False PROPIEDADES
Asigna la unidad de medida para el tamaño o ubicación del formulario o cualquier jáckColor □ &H8000000
/ BorderStyle 2 - Sizable
otro control. La unidad de medida que se activa en forma automática es TWIP.
Un TWIP es una unidad de medida estándar para todo tipo de pantallas la ClipControls True
FORMAS DE
cual nos permite asignar el mismo tamaño o ubicación de los controles sin VISUALIZAR ControlBox True
importar el tipo de pantalla que utilizamos. Un TWIP es igual a 1/20 de un LAS DrawMode 13 - Copy P e n __
BARRA DE
PROPIEDADES DrawStyle 0 - Solid DESPLAZAMIENTO
punto de impresora. 1440Twips equivalen a una pulgada y 567 equivalen a DrawW idth 1 DE
un centímetro. Enabled True PROPIEDADES
SH O W IN T A SK B A R FillColor ■ &HGÜ0Û000
1 - Transparen
Indica si el formulario se debe visualizar en la barra de tareas cuando se FillStyle
Font MS Sans Serif
esta ejecutando. FontTransparenl True
ST A R T U PPO SIT IO N ForeColor ■ &H8000001
Permite seleccionar la posición inicial del formulario en la pantalla. Height 3600
H elpContextID 0 ^
TOP
Se utiliza para indicar la posición vertical del formulario en la pantalla.
V ISIB L E
Indica si el formulario se debe visualizar.
W ID T H
NOTA:
Permite indicar el ancho del formulario. Usted, puede modificar el ancho o altura de esta ventana.
W IN D O W STA TE
Selecciona el modo de presentación del formulario: Normal, Minimizado o
Maximizado.
G rupo E d it o r i a l Megabyte 47 ■ w JÜ
G ru po E d it o r ia l Megabyte <
é S fÍk > VISUAL BASIC como debe se r.. .
ETIQUETA (Label) :
* Según la propiedad que ha elegido, Ud. Puede visualizar:
A
Es un control que se utiliza para mostrar mensajes en una aplicación.
1 II Al dibujarlo en el formulario se visualiza: Label 1, Label2, Label3, etc.
3.- Para que al hacer un click en los tres punto se visualice una ventana A L IG N M E N T
de diálogo. Alinea el texto que se encuentra en la Etiqueta: Left (Izquierda),
Right (Derecha) y Center (Centro).
A P PE A R A N C E
NOTA : P uede m o d ific a r c u a lq u ie ra de las p ro p ie d a d e s y Cambia la apariencia de la Etiqueta.
com probar sus efectos ejecutando el form ulario con la
tecla <F5> o con el botón Ejecutar y para term inar . U A U T O S IZ E
ejecución pulse la tecla <A LT> + <F4> o click en el Para indicar si el tamaño de la Etiqueta depende del tamaño de la
botón finalizar. letra seleccionada.
BACKCOLOR
Selecciona un color de fondo de la Etiqueta
* B O T O N E JE C U T A R
B A C K ST Y L E
Asigna el estilo del fondo de la Etiqueta.
B O T O N F IN A L IZ A R
B O R D E R ST Y L E
Asigna el estilo del borde de la Etiqueta.
C A P IT O N
Para escribir el texto o información que desea visualizar.
Labell Label3
G ru po E d it o r ia l Megabyte 53 « H »
 •CAPITULO II'.Descripción de los Controles Básicos
I l b VISUAL BASIC como debe s e r ... >
G U ARDA R O G R A B A R UNA A PLIC A C IÓ N . VENTANA PARA GRABAR UN FORMULARIO
Selecciona Carpeta Crea una Nueva
Carpeta
Existen dos formas de guardar una aplicación: Acción que
Actual otra carpeta Anterior Carpeta
está realizando
1 Haciendo click en la figura del Disco que se encuentra en la Barra
Estándar Q-ave Pieiect A* jd -ii
G u ardar en: _já V b =3 dü
3cap t I R e p o s try __ I v b o n lin e Formas de
2.- De la opción F IL E "Archivo" de la Barra de Menú, elegir Guardar J Clisvr I sam ples __ J W in a p i ver los
J d oe s L J S e tu p I W iz a rd s Formularios
Proyecto. Si desea guardarlo con un nombre diferente al asignado j H e lp __ 1 s e tu p k it CALEN DAR y carpetas
inicialmente, debe elegir la opción Guardar Proyecto Como. j O dbc (__J T em p ia te <jbf c a s e •
j report — I T sql checkl
_Formularios y
carpetas
Primero le pide el nombre de cada formulario (*.FRM) que forma jl L jJ
parte de la aplicación y al final le pide el nombre del Proyecto (*. VBP) N o m b re d e archivo : G uardar
□ -
el cual se utiliza para abrir o recuperar posteriormente la aplicación. G u ardar c o m o tipo: {P ro je c t Filep (x.v b p ) C a ncela r
Botón para
Ayuc a Grabar
VENTANAPARAGRABAR UN FORMULARIO
Tipo de archivo que está Cancela la acción
C aja para escribir el nombre del formulario que
desea grabar grabando
A cción que C arpeta Selecc rna C arpeta C rea una N ueva
está realizando A ctual otra carpeta A nterior C arpeta " MUCHO CUIDADO "
Para cada formulario de un proyecto y para cada proyecto que usted
S a v e F ile A s I grabe, utilice nom bres d istin to s porque de lo con trario el nuevo
Guardai en: | M Vb
+
m J formulario o proyecto borrará al anterior. Por ejemplo, si ya tiene un
J Clisvr L - Ï Setup L U Wizards proyecto grabado con el nom bre trabajo y graba un nuevo proyecto
j Help Formas de
L_J setupkit hh
ver los
con el mismo nombre, entonces el primer proyecto se borrará y ya no
J Odbc —J T empiate ^ PROG01
j report Formularios podrá recuperarlo. Esto tam bién sucede con los formularios. Por eso
L J T sql Q PRO G02 y carpetas
J Repostry __ j vbonline tenga M U C H O CU ID A D O
1samples L J Winapi
^Form ularios y
carpetas
Antes que el proyecto o formulario se borre se muestra un mensaje
existentes de advertencia.
Nombre de archivo: ' |9BRr Guardar |" G u a rd a i p ro y e c to co m o
Guardar como tipo: I Form FileJ (x.frm) C :\A rc h iv o s de p ro g ra m a \M icroso ft V isu al S tu d io \V B 9 8 \T ra b a jo .vb p v a existe.
Cancelar ¿ D esea reemplazarlo?
G rupo E d it o r i a l Megabyte ss mm
VISUAL BASIC como debe ser.. .
Para Evitar estos problem as te recom iendo que cada proyecto o E JE C U T A R UNA A P L IC A C IÓ N
aplicación que hagas lo grabas en una ca rp e ta diferente, esto también
te permite administrar mejor tus proyecto. Existen tres formas de ejecutar una aplicación:
A B RIR O R E C U PE R A R UNA A P L IC A C IÓ N 1.- Pulsando la Tecla <F5>.
2.- De la opción E je cu ta r de la Barra de Menú, elegir Iniciar.
Existen tres formas de abrir o recuperar una aplicación:
3.- Haciendo click en el Botón E jecu tar que se encuentra en la Barra
1 Haciendo click en la figura del L ibro que se encuentra en la Barra Estándar.
Estándar.
> BOTÓN EJECUTAR
2.- De la opción ARCHIVO de la Barra de Menú, elegir A b rir Proyecto.
NOTA:
3.- Pulsar las teclas (CTRL + O).
Según como esta configurado Visual Basic, cada vez que ejecuta un
programa le preguntará si desea guardar los cambios realizados. Esto se
Una vez que se visualiza la ventana para abrir un proyecto, usted
puede activar o desactivar en la opción H erram ientas de la barra de menú
puede hacer doble clic en el nombre del proyecto o escribir su nombre
luego en O pciones y finalmente en la hoja E ntorno
en la caja indicada y luego haga clic en el botón ABRIR. Si al abrir un
proyecto, no se visualiza, pulse CTRL + R para activar la ventana de
proyecto y luego doble clic en Forms y/o en el formulario que desea j
E dito r | F o rm a to d e l e d ito r | G e n e ra l | Acopl< , E n to rn o A v a n z a d o |
C u a n d o s e Inicie Visual B asic: M o stra r plantiB as p a r a :
visualizar. C~ p r e g u n ta r p o r u n p r o y e c to P7 F o rm ularios
C r e a r u n p r o y e c to p re d e te rm in a d o W F o rm u lario s MDI
VENTANAPARA ABRIR UN PROYECTO P ? M ódulos
C u a n d o s e inicie u n p ro g ra m a : W M ódylos d e c la s e
Muestra todos los proyectos que tienes grabados. <*■ g u a r d a r lo s c a mbios! f y C o n tro le s d e u s u a rio
fju s c a r en: [ «J V b
a J a l frnr-il
] D a ta e n v iro n m e n t
J T e m p iate
C o le gio 3 S | H o te l S u e ld o s Como puede observar, aquí también se puede cambiar otras configuraciones.
C o m p ra s Info rm e s T est
1 T sq l C o n ta b le s Juegos T ie n d a
) W iz a rd s E xa m e n Pagos T ra b ajo
A lu m n o s
B a la n c e
F a rm a cia
H o ra rio s
P s ic o lo g ia U n iv e rs id a d MUY IMPORTANTE:
S is te m a s i U n iv e rs o d a d
En cualquier parte libre del escritorio haga clic con el botón derecho
del mouse. Se mostrará el siguiente menú de opciones:
Active Desktop ►
Organizar iconos ►
Alinear iconos C a n c e la r
Actualizar
Propiedades E xa m in a r
Active Desktop ►
^ W inZ p File
J j] Documento de texto
Documento de Microsoft Word Abrir
Nombre de archivo: |
t i l Imagen de mapa de bits
A/chivo de sonido Tipo de archivos: | Programas Cancelar
~3
l¡ P Presentación de Microsoft PowerPoint
Hoja de cálculo de Microsoft Excel
ir CorelDRAW 8.0 Gráfico
@ Imagen Corel PHOTO-PAI NT 8.0
^1 Corel Media Folder
Normalmente Visual Basic Graba el archivo ejecutable que usted crea en la
O Adobe Photoshop Image
PowerDesigner 8 Physical Data Model File carpeta:
^ Microsoft Data Link C:\Archivos de programa\M icrosoft Visual Studio\VB98
E s c r ib a e l n o m b r e y la u b ic a c ió n d e l e le m e n to p a r a
e l q u e d e s e a c r e a r u n a c c e s o d ir e c t o , o b ie n ,
b u s q u e e l e le m e n to h a c ie n d o c lic e n E x a m in a r.
L ín e a d e co m a n d o s:
| d e p ro g ra m a S M ¡ c ro s o ft V is u a l S tu d io S V B 9 8 \ T r a b a jo . e x e f '
li E x a m in a r... I
Sjy >I
«fi S~
s «*§>«•»»»*... 1
PB
NO TA:
De la pantalla anterior seleccione el botón Siguiente. Para ver las otras formas de crear un Acceso Directo consulte con el Manual
o Ayuda de Windows.
S e le c c io n e u n t ít u lo p a ra e l p ro g ra m a
MUY IM P O R T A N T E
S e le c c io n e u n n o m b r e p a r a e l a c c e s o d ire c to :
A c e p ta r j|
ÑAME TA BIN D EX
Permite asignarle un nombre. Por defecto el nombre es Textl, Text2, Text3, Indica el orden en el que el cursor debe ubicarse en las Cajas de Texto.
etc. Según el número de Cajas de Texto que se dibujen en el formulario. Donde queremos que se ubique el cursor al, ejecutar la aplicación debe
tener el valor cero.
BACKCOLOR
Selecciona el color del fondo. T A B ST O P
Indica si el cursor debe ubicarse o no en una Caja de Texto.
ENABLED
TEX T
Activa o Desactiva la Caja de Texto. Si está desactivada se muestra en un
color opaco y no responde a ningún evento ni se puede ingresar datos. Almacena el texto que el usuario escribe en este control. Por defecto su
contenido es: Textl, Text2, Text3, etc. Para ingresar datos debe borrar este
FO N T contenido y dejar en blanco la Caja de Texto.
Permite asignar el Tipo, Tamaño y el Estilo de la letra del texto que se
escribe en este control. V IS IB L E
Indica si la Caja de Texto se debe visualizar o no.
FO RECO LO R
Permite asignar el Color de la letra del texto que se escribe en este control. APLICACIÓN DESARROLLADA N° 02
LOCKED - i n l x|
Permite que el usuario pueda o no ingresar o modificar el texto que se
encuentra en este control. El valor FALSE permite el ingreso o modificación
Datos Personales
y el valor TRUE lo evita.
Nombre
M AXLENGTH
Dirección
Para indicar el número máximo de caracteres que el usuario puede ingresar
T eléfono
en una Caja de Texto. El valor cero (0) permite que el número de caracteres
a ingresar sea ilimitado. Este valor es asignado por defecto. Centro de Estudios
M U L T IL IN E OBSERVACIONES
Indica si el texto a escribir en la caja de texto puede ocupar varias líneas. Se "1 ]
recomienda utilizarla junto con la propiedad SCROLLBARS para poder
desplazarse de una manera más rápida y fácil por el texto ingresado
G rupo E d it o r i a l Megabyte 65
> VISUAL BASIC como debe ser. . .
D esarrollo de la Aplicación: APLICACIÓN PROPUESTA N° 01
\ <. IN G R E S O DE P R O D U C TO S m m
_ |n |x |
1.- D ib u jar los controles. ♦
Nombre
Descripción
Labell
Precio Unitario
Label2 |T e>:H
Unidad de Medida
Label3 Jfext2
Stock
Label4 ffe x t3
Fecha de Vencimiento f
Label5 f f ext4
Label6
| Chic¡¿yo. 2 } de Agosto de 1.998
ÍText5
APLICACIÓN DESARROLLADA N° 03
O T T T rO T rrn rT a rr
n
2.- A signar las P ropiedades a los C ontroles.
ETIQUETAS
Nom bre
r~
CONTROL CAPTION ALIGNMENT BORDERSTYE Ciclo (del I al X )
!......
Labell Datos Personales Center 1-Fixed Single S exo [F /M ]
r~
LabeI2 Nombre Left O-None
Label 3 Dirección Left O-None
Clave
r~
D ire cció n E lectrón ica
Label4 Teléfono Left O-None i .................... .... ..
Label5 Centro de Estudios Left O-None L a d ir e c c ió n e le tró n ic a e s a s ig n a d a d e s p u é s
d e in g r e s a r to d o s io s r e g is tr o s ; p o r lo tardo,
Labeló Observaciones Center O-None U d. n o p o d r á in g r e s a r la
CAJAS DE TEXTO
CONTROL TEXT MULTILINE SCROLLBARS
TEXT1 En Blanco False None CARACTERISTICAS:
TEXT2 En Blanco False None
TEXT3 En Blanco False None 1. En el ciclo sólo se debe ingresar hasta 03 caracteres.
TEXT4 En Blanco False None 2. En el sexo sólo un carácter.
TEXT5 En Blanco True Vertical 3. En la clave hasta 05 caracteres y no se debe visualizar a medida
que se ingresa.
El formulario debe tener: INGRESO DE DATOS en su Caption. 4. No se debe permitir el ingreso de la dirección electrónica.
Label4
-----
[ i ext4 P R IN C IP A L E S P R O P IE D A D E S DE UN BOTON DE COMANDOS:
Label5 j í ext5
ÑAME
Label6 Permite asignarle un nombre. Por defecto el nombre es C om m andl,
Command2, Command3, etc. Según el número de Botones de Comandos
que se dibujen en el formulario.
2.- Asignar las Propiedades a los Controles. BACKCOLOR
E T IQ U E T A S
Selecciona el color del fondo. Para que acepte el color que se le asigna la
propiedad Style debe estar en modo Gráfico.
CONTROL CAPTION ALIGNMENT BORDERSTYE
Labell Nombre Left CANCEL
O-None
LabeI2 Ciclo (del I al X) Left Para indicar si las instrucciones que contiene se deben ejecutar cuando el
O-None
LabeI3 Sexo (F/M) Left usuario pulsa la tecla <ESC>.
O-None
Label4 Clave Left O-None C A P T IO N
Label5 Dirección Electrónica Left O-None
Labeló La dirección elec... Para indicar el título que debe tener el botón. El título que se le asigne
Center 1-Fixed S.
CAJAS DE TEXTO siempre se visualiza en el centro del botón de comandos. Ud. puede subrayar
CONTROL una de las letras del título usando antes de dicha letra el símbolo (&), esto le
LOCKED m axlength PASSWORDCHAR t e x t
TEXT1 False 0 permitirá ejecutar las instrucciones que contiene este control pulsando la
En Blanco En Blanco
TEXT2 False 3 tecla ALT y la letra subrayada.
En Blanco En Blanco
TEXT3 False 1 FO NT
En Blanco En Blanco
TEXT4 False 5 En Blanco Permite asignar el Tipo, Tamaño y el Estilo de la letra del texto que se
TEXT5 True () En Blanco En Blanco escribe como título del botón.
T elé f on o
C en tro d e E stu d io s J- — ■
OBSERVACIONES
LiL l i
H u e v o A lum no j Finalizar
J
IM P O R T A N T E :
La propiedad de los controles son iguales a la Aplicación N°02. Lo que sigue
son de los nuevos controles. El nombre del control depende de dónde se hizo doble click o pulsó
CONTROL CAPITON CANCEL TOOLTIPTEXT <F7> y de la Propiedad Ñame que tiene el control. Si no ha cambiado la
Commandl &Nuevo AlumnoFalse Adiciona un nuevo alumno. propiedad Ñame del control se visualiza el nombre por defecto.
Command2 &Finalizar True Finaliza la aplicación.
NOTA: Cada control tiene un evento por defecto, si Ud. desea programar en un
• El resultado de TOOLTIPTEXT, se visualiza cuando al ejecutar la evento diferente debe hacer click en la lista de Eventos y si desea programar
aplicación se ubica el puntero del mouse por unos instantes en cualquiera dentro de otro control que pertenece al mismo formulario debe hacer click
de los botones. en la lista de controles (Flecha hacia abajo).
• Se debe escribir instrucciones dentro de los Botones.
• El símbolo & permite que una letra esté subrayada.
70 G rupo E d it o r i a l Megahyte I p l ^ G r u po E d it o r ia l Megabyte m 71 w m
^ Ü Íy ¡É ^ VISUAL BASIC como debe se r.. .
EV EN TO S M OU SED OW N Y M O U SEU P
PRINCIPALES EVENTOS Las instrucciones que escribimos en el MouseDown se ejecuta se presiona
ACTIV A TE
un botón del mouse.Las instrucciones que escribimos en el evento MouseUp
Es un evento del formulario. Las instrucciones que se escriben dentro de
se ejecutan cuando se deja de presionar un botón del mouse.
este evento se ejecutan cuando el formulario es activado.
CHANGE Estos eventos reciben cuadro (4) valores y se almacenan en la variables
Las instrucciones que se escriben dentro de este evento se ejecutan cuando Button, Shift X, Y.
se modifica el contenido del control.
Prívate Sub Form_MouseDown(Button As Integer, Shift As Integer, X As
C L IC K
Single, Y As Single)
Las instrucciones que se escriben dentro de este evento se ejecutan cuando End Sub
se hace un click o pulsa ENTER en un control. Prívate Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y
D B L C L IC K As Single)
Las instrucciones que se escriben dentro de este evento se ejecutan cuando End Sub
se hace doble click control.
DEA C T I VATE La variable BUTTON recibe un valor que indica el botón del mouse que se
Es un evento del formulario. Las instrucciones que se escriben dentro de presionó:
este evento se ejecutan cuando el formulario es desactivado.
G O T FO C U S Valor
Las instrucciones que se escriben dentro de este evento se ejecutan cuando 1 Indica que se presionó el botón Primario.
el cursor se posiciona en un control. 2 Indica que se presionó el botón Secundario.
IN IC IA L IZ A T E 3 Indica que se presionó el botón Central.
(No todos los mouse tiene 3 botones)
Es un evento del formulario. Las instrucciones que se escriben dentro de La variable SH IFT recibe el valor que indica la tecla especial que se tiene
este evento se ejecutan cuando el formulario se inicializa. presionada cuando pulsa o deja de pulsar uno de los botones del mouse:
K EY PR ESS
Mayús (Shift), CONTROL (Ctrl) o ALT.
Las instrucciones que se escriben dentro de este evento se ejecutan cuando
se pulsa una tecla en el control. Valor
LOAD 1 Indica que se tiene presionada MAYÚS (Shift).
Es un evento del formulario. Las instrucciones que se escriben dentro de 2 Indica que se tiene presionada CONTROL (Ctrl).
este evento se ejecutan cuando el formulario es cargado en memoria. 3 Indica que se tiene presionada ALT.
L O ST FO C U S
Las instrucciones que se escriben dentro de este evento se ejecutan cuando Las variables X, Y reciben el valor de la posición Horizontal y Vertical del
el cursor sale en un control. mouse respectivamente.
T IM E R
Es un evento del control Timer (Reloj). Las instrucciones que se escriben M UY IM PO R T A N TE
dentro de este evento se ejecutan cada cierta cantidad de segundos, que El botón primario del Mouse es el botón principal y permite seleccionar los objetos
Ud. Deberá indicar. de una manera normal y casi siempre es el botón Izquierdo. El botón secundario del
U N LO A D Mouse permite acceder a los menú contextúales y casi siempre es el botón derecho.
Es un evento del formulario. Las instrucciones que se escriben dentro de Los menú contextúales contienen las opciones mas utilizadas de una aplicación.
Puede utilizar la configuración del Panel de Control de Windows para configurar el
este evento se ejecutan cuando el formulario es descargado de la memoria.
Mouse.
Salir
■DNI
La prim era etiqueta (Label) que dibujas en el form ulario tiene Salir
La primera caja de textos (Text) que dibujas en el formulario tiene Paso N° 01: D ib u jar los controles.
Para desarrollar una aplicación puedes utilizar estos nombres que se asignan Command! : Command2
Observe el nombre
del control
¡CUIDADO!
Descuento
Producto
Precio Unitario
ELEMENTOS D e scu e n to S /. | 0
Se
PROGRAMACION
I
-- PROCEDIMIENTOS Y FUNCIONES
--------------------------------------------------------------- ;------------------------------
Prívate Sub Textl_Change() Las instrucciones que se escriban en este Procedimientos a Nivel de Módulo.
procedimiento se ejecuta cuando se modifica
EndSub el contenido del control Textl. Los procedimientos a nivel de módulo son procedimientos públicos; es
decir, se pueden llamar o ejecutar desde cualquier formulario de la aplicación.
Prívate Sub Textl_KeyPress(KeyAscii As Integer)
Sintaxis p a ra un procedim ien to:
EndSub [Prívate | Public] [Static] Sub nombre [(listaDeArgs)J
[instrucciones]
Las instrucciones que Ud. escriba en este procedimiento se ejecutan cuando se [Exit Sub]
presiona alguna tecla (escribe) en el control Textl y en la variable KeyAscii se [instrucciones]
almacena el valor de la tecla pulsada. Por ejemplo si pulsa la tecla ENTER se End Sub
almacena el valor 13, ESC almacena el 27, la letra A el valor 65, etc. Esto quiere
decir que almacena el valor ASCII.
Statíc Indica que se conservan los valores de las variables locales MUY IMPORTANTE
del procedimiento entre una llamada al procedimiento y otra. * La diferencia principal entre una Función y un Procedimiento es que un
El atributo Static no afecta a las variables declaradas fuera procedimiento nunca devuelve un valor mientras que la función si puede
de Sub, ni siquiera cuando se usa en el procedimiento. devolver un valor y además una función puede usarse en una expresión.
2. N O M B R E : * Al conjunto de procedimientos, funciones, declaraciones de variables
Nombre del procedimiento que se utiliza para poder llamarlo o ejecutarlo. y constantes se le llama M ÓD ULO . Un módulo puede ser:
3. LISTA DE A R G U M EN TO S (LISTAD EARGS):
Módulo de formulario, contiene todos los procedimientos a nivel de
Lista de variables que almacenan los valores que se pasan al procedimiento
formulario los cuales se graban en un archivo con la extensión *.Frm.
cuando es llamado. Cuando se pasan varios valores se utilizan variables
Módulo estándar, contiene todos los procedimientos y declaraciones a
múltiples y se separan con comas. También se llaman parámetros.
nivel de módulo, se graban en un archivo con la extensión *.Bas.
4. IN ST R U C C IO N E S
Cualquier grupo de instrucciones que se va a ejecutar dentro del cueipo PARÁMETROS POR REFERENCIA.
del procedimiento. Permite que el valor de un parámetro pueda cambiarse en el cuerpo
de la función o procedimiento.
Las palabras claves E x it S ub producen la salida inm ediata del
Para pasar un parámetro por Referencia debe estar sin paréntesis.
procedimiento. La ejecución del programa continúa con la instrucción
siguiente a la instrucción que ha llamado al procedimiento. La palabra ByRef (Opcional), indica que el parámetro se pasa por
referencia. ByRef es el modo predeterminado en Visual Basic.
Sintaxis p a ra una F unción:
[Public|Private][Static]Function nombre [(listaDeArgs)][As tipo]
PARÁMETROS POR VALOR.
[instrucciones] Permite que el valor de un parámetro no pueda cambiarse en el cuerpo de
[nombre = expresión] la función o procedimiento. Para pasar un parámetro por Valor debe estar
[Exit Function] entre paréntesis. La palabra By Val (Opcional). Indica que el argumento se
(instrucciones] pasa por valor.
[nombre = expresión] Ejemplo:
End Function Raíz (Num), D if
Además de lo que contiene un procedimiento, una Función tiene las siguientes En la llamada a la función Raíz, el parámetro Num es pasado como por
partes: Valor y el parámetro Dif es pasado por Referencia.
' 88 G rupo E d it o r i a l M e g a b y t e ^ l i l i l í G ru po E d it o r ia l Megabyte 89
^ÉÍÍÍÉÉ^ VISUAL BASIC como debe se r.. . CAPÍTULO III: Elementos de la Programación < ^ ¡ ¡ ¡ ||
Ejemplo: Para crear un procedimiento llamado cambio, escriba la siguiente
CREACIÓN DE PROCEDIMIENTOS A NIVEL DE FORMULARIO instrucción y luego pulse la tecla ENTER.
Agregar procedimiento
m
LLAMAR A PROCEDIMIENTOS
Nombre: j | A cepta r
Para llamar o ejecutar procedimientos sólo se necesita escribir el nombre
Tipo
Cancelar- del procedimiento con los argumentos o parámetros si es necesario y
(* Procedim iento C Propiedad
opcionalmente puede utilizar la instrucción CALL.
Función í~ E vento
(* Público
; [Cali] nombre [listaargumentos]
f~ Todas las varia bles locales son está ticas
CONSTANTES VARIABLES
Una variable es un elemento con un nombre determinado que contiene
Es un elemento con un nombre determinado que mantiene un valor
un valor en forma temporal hasta que la aplicación finalice. El valor puede
constante durante el desarrollo de todo el programa el cual no se puede
variar en cualquier momento de la ejecución de la aplicación. Una variable,
cambiar. La constantes se definen con la instrucción CONST. Por ejemplo: según el lugar de la aplicación donde se desea utilizarla puede ser:
1. V ariables a nivel de procedim iento.
CONST Saludo = ’’Buenos Dias” -Si una variable se declara a nivel de procedimiento, significa que conserva su
valor (se reconoce) sólo dentro del procedimiento donde ha sido declarado.
Define la constante SALUDO que tendrá el texto Buenos Días durante 2. V ariables a nivel de F orm ulario.
la ejecución del programa. Esto quiere decir que si se desea utilizar el texto Si una variable se declara a nivel de formulario, significa que conserva su
puede utilizar sólo la constante Saludo. Así, la siguiente instrucción muestra valor (se reconoce) en cualquier procedimiento del formulario donde ha
el texto Buenos Días en el control Label 1:
sido declarada.
3. V ariables a nivel de M ódulo.
Label 1 = Saludo
Si una variable se declara a nivel de módulo, significa que conserva su
valor (se reconoce) en cualquier procedimiento de cualquier formulario
La siguiente instrucciones define la constante IGV con el valor 18. de la aplicación.
La sintaxis básica para declarar una variable es:
Const IGV = 18 Am bito Nom bre As Tipo
1) A M B IT O :
Si durante el desarrollo del programa escribimos por ejemplo IGV = 16 para El ámbito indica en qué lugar de la aplicación desea utilizar la variable y
cambiar de valor a la constante IGV, se visualiza un mensaje de error. puede ser una de las siguientes palabras claves: Dim, Static, Prívate o Public.
Dim : Se puede utilizar a nivel de procedimiento y a nivel de formulario.
M icro so ft V is u a l B asic n Si se declara una variable a nivel de procedimiento con la palabra
DIM, Visual Basic reinicializa (borra su contenido) la variable
Error de compilación: cada vez que ejecuta el procedimiento.
Static : Se utiliza sólo a nivel de procedimiento. Cuando una variable se
Asignación a la constante no permitida
declara con la palabra STATIC, Visual Basic no reinicializa la
variable cada vez que se ejecuta el procedimiento, sólo lo hace la
Aceptar Ayuda primera vez. Esto quiere decir que la variable conserva su valor
entre una llamada al procedimiento y otra.
Prívate: Se utiliza sólo a nivel de módulo e indica que la variable es privada;
NOTA: es decir, sólo va a ser reconocida dentro del módulo donde ha
La definición de constantes puede empezar con las palabras Public o Private. sido declara.
Para que sean públicas o privadas. Por defecto son Privada. Public : Se utiliza sólo a nivel de módulo e indica que la variable es publica;
es decir, va a ser reconocida en toda la aplicación.
Variant es el tipo de datos al que se convierten todas las variables si no se E r r o r '1 3 ' e n tie m p o d e e je c u c ió n :
declaran explícitamente de algún tipo. El tipo de datos Variant no tiene carácter N o c o in c id e n lo s tip o s
de declaración de tipo.
Los tipos de datos Byte, Integer, Long, Single, Double y Currency indican
que una variable va a almacenar sólo números, pero cada uno de estos tipos
tiene sus características. Por ejemplo:
Una variable definida de tipo Byte acepta números enteros (sin decimales), D e p u ra r Ayuda
End Sub
PASO N° 02: Asignar las propiedades.
C3 51 - _ la l x |
¿CÓMO DECLARAR VARIABLES ANIVEL DE FORMULARIO?
L a b e ll Label2
Debe activar la ventana de declaración de variables. Para ello se debe hacer
doble click en cualquier control o pulsar la tecla <F7>, lueg'o de la lista de Labei3 Label4
t
i 1"m P ro je c t-! * Ft»m 1 (C od e) -J C lx jl
CONTROL
E T IQ U E T A S (L A B E L )
C A P T IO N A U T O S IZ E BO R D ER STY L E
|(General) j(Declarations) I(General) Vj |(Declarations) jrj j
Labe11 Valor de A True 0 - None
; [O p tio n E x p l i c i t ¿ : 0 - None
Label2 Valor de B True
Label3 En Blanco False 1 - Fixed Single
Label4 En Blanco False 1 - Fixed Single
BO TO N ES DE COMANDOS
iS
ë
j
j rJds jJ J
± iT CONTROL CAPTION
Coinmandl Incrementa la variable A y B
Si la ventana tiene la instrucción OPTION EXPLICIT, significa que se generará
un error por cada variable que utilice y no declare: V ariable not Defined Caption del Formulario: Diferencia entre Dim y Static.
(Variable no definida). PASO N° 03: Escribir las instrucciones.
Si Ud., desea puede borrar la instrucción Option Explicit y también si esta * Sólo se programa en el commandl. Observará que al hacer click en
ventana no la tiene, la puede escribir. este botón la variable A no se incrementa porque está declarada
con DIM, que perm ite reinicializar una variable cada vez que ,v<
¿CÓMO DECLARAR VARIABLES A NIVEL MÓDULO? ejecuta un procedim iento. En el ejem plo, el procedim iento es:
De la opción Proyecto de la barra de menú elija la opción Adicionar Módulo. COMMAND 1_CLICK().
Private Sub Commandl_Click()
^ P ro y e c lo l - M odule! (C ódigo) H liiE [| Dim A Ai Integer
Este tipo de variables normal Static B Ai Integer
|(G eneral) jrJ j(D eclaraciones)
mente se utilizan cuando nuestra A = A + /
í j j |¡ |l § ^ 96 G ru po E d it o r ia l Megabyte G ru po E d it o r ia l Megabyte 97
 VISUAL BASIC como debe ser. CAPÍTULO III: Elementos de la Programación
EJEMPLO DEUNA VARIABLEANIVELDEPROCEDIMIENTO
« .V A R I A B L E S A N IV E L D E P R O C E D IM IE N T O □ S E OPERADORES ARITMETICOS:
Suma \ División Entera
Resta MOD Resto de una División
P R O CEDIM IENTO " A " PROCEDIM IENTO "B "
Multiplicación A Exponenciación
División 0 Orden de Operación
GO
Total por Horas Normales
O
Nuevo
Rem Se limpian las cajas de texto.
Total por Horas Extras I I 00
Textl=""
Text2 = "" Sub Total |580 Salir
2 . L a b e l7 L a b e ll 2 C om m a n d 3
LabeIS L a b e ll 4
NOTA:
L a b e ll 0 L a b e ll 5
Cuando se insertan los comentarios se visualizan con un color diferente al
de las instrucciones, este color es normalmente el verde.
¿ m m
Megabyte 105
G rupo E d it o r i a l M egabyte^ G rupo E d it o r i a l
--- ----------------------------- ^ ^
VISUAL BASIC como debe s e r.. . CAPITULO III: Elementos de la Programación
En la condición se pueden utilizar los OPERADORES DE RELACIÓN Y
IF - THEN - ELSE LÓGICOS:
Permite ejecutar una o más instrucciones dependiendo de la respuesta = Igual o Diferente
(verdad o Falso) de una condición dada. > Mayor Que AND Y Lógico
< Menor Que OR O Lógico
Su sintaxis es: >= Mayor o Igual NOT Negación
<= Menor o Igual Like Comparar Cadenas
1.- If condición Then
Instrucción(es) Por ejemplo:
(Se ejecutan cuando es Verdad)
Else Se desea mostrar en la etiqueta N° 1 (Labell) el mensaje APROBADO O
Instrucción(es) DESAPROBADO, dependiendo de su promedio almacenado en la variable PROM.
(Se ejecutan cuando es Falso) La instrucción será:
Endlf
If Prom >= 10.5 Then
2.- If condición Then
Label 1 = “APROBADO"
Instrucción(es)
Else
(Se ejecutan cuando es Verdad)
Endlf Labell = “DESAPROBADO”
End If
3.- If condición Then La instrucciones anterior también se puede desarrollar de la siguiente manera:
Instrucción(es)
(Se ejecutan cuando es Verdad) If Prom>= 10.5 Then Label 1=“APROBADO” Else Label 1=“DESAPROBADO”
Elself condición then
Instrucción(es) La instrucción If se debe utilizar con Else normalmente cuando sólo existen
(Se ejecutan cuando es Verdad)
Else dos alternativas como por ejemplo para saber si un alumno está aprobado o
Instrucción(es) no, para saber si una persona es mayor de edad o no.
(Se ejecutan cuando es Falso)
End If Cuando existe sólo una o a partir de tres alternativas es mejor utilizar una
instrucción If sin Else para cada alternativa.
4.- If condición Then Instrucción else Instrucción
Esta ultima sintaxis se pude utilizar normalmente cuando en cada caso de va Por ejemplo:
a ejecutar sólo una instrucción, si son dos o más instrucciones se deben Se ha ingresado en Text3 el turno de un trabajador y de acuerdo al turno se
separar por dos puntos, pero es recomendable utilizar la lera, o 2da. sintaxis le da un pago que debe visualizarse en Labeló.
en estos casos.
Mañana (M) ==> 300, Tarde (T) ==> 500 y Noche (N) ==> 700
106 G E
ru po d it o r ia l
G rupo E d it o r i a l Megabyte 107 <lf¡§¡íj§|^
VISUAL BASIC como debe se r... CAPITULO III: Elementos de la Programación
Las instrucciones serían:
MSGBOX
Dim PAGO As Integer
I f Text3 = "M" Then M uestra una ventana de m ensaje en el centro de la pantalla. Tiene
PAGO = 300 dos sintaxis:
End I f
I f Text3 = "T" Then
PAGO = 500 1.- Cuando no se espera la respuesta del usuario:
End I f Msgbox “Mensaje”,Valor,’’Título”
I f Text3 = "N" Then
PAGO = 700 2.- Cuando se espera la respuesta del usuario:
End I f
Varíable^Msgbox (“Mensaje”,Valor,’’Título”)
Label6 = PAGO
Tam bién se puede d e sa rro lla r de la siguiente m anera: Variable: Almacena un valor tipo entero de acuerdo a la respuesta del usuario.
Mensaje: Es el mensaje que se desea mostrar.
Dim PAGO As Integer Valor : Indica qué botones van a acompañar al mensaje.
I f Text3 = "M" Then PAGO = 300
Título : Es el título que desea que tenga la ventana.
I f Text3 = "T" Then PAGO = 500
I f Text3 = "N" Then PAGO = 700 Valor C onstante Botón que se visualiza
Labeló = PAGO 0 vbOKOnly Ok (Aceptar)
1 vbOKCancel Ok y Cancelar
La sintaxis N” 03 (con Elself) también se puede utilizar en estos casos:
2 vbAbortRetrylgnore Anular,Reintentar e Ignorar
Dim PAGO As Integer
3 vbYesNoCancel Sí, No y Cancelar
I f Text3 = "M" Then
PAGO = 300 4 vbYesNo Sí y No
E lself Text3 = "T" Then vbRetryCancel Reintentar y Cancelar
5
PAGO = 500
E lself Text3 = "N" Then 16 vbCritical Icono de Error Crítico
PAGO = 700 32 vbQuestion Icono de Inten-ogación
End I f
48 vbExclamation Icono de Exclamación
Labeló = PAGO
64 vbínformation Icono de Información
V Icono de Interrogación 32
1
Sí No
Icono de Información 64
Si el usuario hace un click en el botón SI, la variable R toma el
valor 6 y si hace un click en el botón NO la variable R toma el valor 7.
NOTA :
Para visualizar los botones con los iconos se debe sumar los valores
de cada uno de ellos. Por ejemplo para visualizar los botones Sí y No 2.
y el icono de interrogación el valor será: 4 + 32 o simplemente 36. Dim T as Integer
También se puede usar las constantes en lugar de los valores. T -M sgB ox("C lave Incorrecta",1 + 16, "Acceso D enegado")
Si queremos que el mensaje ocupe varias líneas, se debe usar Chr(13)
al fin a l de cada línea. Muestra la siguiente ventana:
ü l
Valores que reto rn a:
Valor
1
C o n sta n te
vbOK
R espuesta del U su í
OK (Aceptar)
O Clave Incorrecta
D e sa rro lla r nuevam ente la siguiente aplicación (N ° 04) A) El c o m m a n d l (N u evo alum no) debe tener en la propiedad Enabled
el v a lo r False.
B) Se debe program ar en el evento Change de T e x t l:
G ru po E d it o r ia l Megabyte 113
CAPÍTULO III: Elementos de la Programación
Prívate Sub Text2_KeyPress( KeyAscii As Integer) L a program ación del evento C lic k del C om m and 1 (N uevo A lu m n o s ) es:
Ifkeyascii = 13 then Prívate Sub C om m andl_Click()
Text3.setfocus Textl =
End If Text2 =
End Sub
Text3 =
Prívate Sub Text3_KeyPress(KeyAscii As Integer) Text4 = “ ”
Ifkeyascii = 13 then Text5 =
Text4.setfocus Textl. SetFocus
End I f Com mandl .Enabled = False
End Sub
End Sub
Prívate Sub Text4_KeyPress(KeyAscii As Integer)
Ifkeyascii = 13 then A P L IC A C IÓ N PRO PUESTA N2 07:
Text5.setfocus D esarrolle la siguiente a plica ció n de la m e jo r manera posible.
End I f
E nd Sub
«. D atos del A lum no
Prívate Sub Text5_KeyPress(KeyAscii As Integer)
Ifkeyascii = 1 3 then
Alumno
Commandl.setfocus
E n d lf Especialidad
Otro Alumno
End Sub
Ciclo
C uando el usuario te rm ine de ingresar los datos (pulse E N T E R en Text5), el Salir
cursor se ubica en el b otón N ue vo A lu m n o . Turno
Aula
Para desa rrollar la característica N ° 03 de esta a plica ció n se debe p rogram ar
en el evento C lic k del C om m and2 (F in a liz a r) lo siguiente:
IChiclayo, 1G de Agosto de 1998
Prívate Sub Command2_Click()
R = MsgBox( “ESTÁ SEGURO DE SALIR ” , 36, “CUIDADO ” )
IfR = 6 Then IMPORTANTE:
End
Ud. ta m b ié n d e b e f o r m u la r s e n u e v a s a p lic a c io n e s o in te r c a m b ia r
E nd I f
End Sub a p lic a c io n e s p ro p u e sta s en tre su s c o m p a ñ ero s y d esa rro lla rla s con la
fin a lid a d d e fo r ta le c e r su s c o n o cim ien to s.
¿m m . 114 115
G ru po E d it o r ia l M eg a b y te^ G ru po E d it o r ia l Megabyte
O
CAPÍTULO III: Elementos de la Programación
CONSISTENCIA DE DATOS PASO N° 2 ESCRIBIR LAS INSTRUCCIONES
P rim ero debe de e scrib ir las siguientes funciones:
La consistencia de datos consiste en co n tro la r que el usuario ingreso sólo
los datos correctos que necesita el program a, por ejem plo, si se trata de Función M ayuscula
ingresar la nota de un alum no se debe c o n tro la r que sólo se ingrese un Que in d ic a si la letra ingresada está en m ayúscula.
n úm ero entre 0 y 20. La sig u ie n te a p lic a c ió n m uestra un e je m p lo de
consistencia de datos. Función M inuscula
Que in d ica si la letra ingresada está en m inúscula.
APLICACIÓN DESARROLLADA N° 09
Función Num ero
E l siguiente program a perm ite ingresar los apellidos y nom bre, fecha de
ingreso, turno y p rom edio de un alum no. Este program a debe tener las In dica si se ha ingresado un núm ero.
siguientes características: Función Especial
1. El p rim e r carácter de cada n om bre o a p e llid o debe c o n ve rtirse en In d ica si a ingresado una vocal con tild e , la letra ñ o Ñ o pulsó E N T E R , la
m ayúscula y el resto en m inúsculas.
Barra Espaciadora o de Retroceso (BackSpace).
2. Se debe v e rific a r que la fecha ingresada este correcta.
3. En el turno sólo se debe aceptar las letras M , T y N. Las funciones reciben en la variable V el v a lo r de la tecla que el usuario a
4. E l p rom edio debe ser un núm ero entre 0 y 20. pulsado desde la variab le K E Y A S C II del p ro ced im ien to KeyPress de la
5. Los botones N uevo y S a lir deben perm anecer desactivados hasta que Cajas de Textos y devuelven un va lo r verdadero (T R U E ) o falso (F A LS E ).
se ingresen todos los datos correctos.
1 A = 65 a = 97 á = 255 0 = 48
.apellidos y N om bres ¡¡
B = 66 b = 98 é = 233 1 =49
F e c h a de Ingreso ----- C = 67 c = 99 f = 237 2 = 50
ó = 243
Turno [M -T -N ] |‘ .... N uevo ú = 250
ñ = 241
Prom edio [U a 20] S_alir
Z = 90Z z = 122 Ñ = 209 9 = 57
Variable. Proyecto! E
Es la variab le que alm acena e l v a lo r que se ingresa en la caja. IN G R E S E E L PR EC IO D E V E N T A
M ensaje.
Es el mensaje que se desea m ostrar cuando se pid a el dato a ingresar. C a n c e la r
Título.
Es el títu lo de la caja.
Valor predeterminado
Es el v a lo r que se m uestra en fo rm a a utom ática para ser ingresado.
Columna
Es un va lo r que in d ic a la p o sició n h o rizo n ta l del fo rm u la rio donde se desea Si no desea u tiliz a r alguno de los otros parám etros interm edios, debe u tiliz a r
que se muestre la caja. siem pre las comas.
Fila Por e je m p lo, en la siguiente in stru cció n no se in d ic a el p re cio que debe sa lir
Es un va lo r que in d ica la posición ve rtica l d el fo rm u la rio donde se desea que en fo rm a autom ática.
se m uestre la caja.
P = IN P U T B O X (''IN G R E S E E L P R E C IO D E V E N T A ","V E N T A D E D O L A R E S " , ,2 0 0 0 ,1 0 0 0 )
IV E N TA DE D O LA R ES E3
I N G R E S E E L P R E C ID D E V E N T A A c e p ta r
C a n c e la r S i no desea u tiliz a r los ú ltim o s parám etros, no es necesario que u tilic e las
comas.
Por e jem plo, en la siguiente in stru cció n no se in d ic a el p re cio que debe sa lir
| EJES en fo rm a autom ática ni la u bicació n de la caja en el fo rm u la rio .
122 Megabyte .2 3
G ru po E d it o r ia l G r u po E d it o r ia l Megabyte
^ Ü Í l> VISUAL BASIC como debe se r.. .
CAPÍTULO III: Elementos de la Programación
P=INPUTBOX("INGRESE EL PRECIO DE VENTA","VENTA DE DOLARES")
CONTADORES Y ACUMULADORES
M uestra la m ism a caja de ingreso a nte rio r en el centro de la p antalla, p o r U n contador es una variab le num érica que perm ite contar algún evento
que no se in d ic ó la posición: que ocurre durante la ejecución de un program a. Su sintaxis es:
VA R IA B LE = VA R IA B LE + IN C REM EN TO .
Si desea e scrib ir el mensaje en varias líneas, u tilic e C h r(1 3 ) (R e to rn o de
E l increm ento norm alm ente es uno. Por eje m p lo: A = A + 1.
C arro) o C h r(lO ) (A vance de línea) o las dos ju n ta s al fin a l de cada línea. Cada vez que la com putadora ejecuta esta instru cció n , el va lo r de la variable
A se increm enta en 1.
Por ejem plo, en la siguiente in stru cció n se m uestra el mensaje “ ingrese el
p re cio de venta” acom pañado de la fecha y hora actual (escríbalo es una U n acumulador llam ad o tam bién sum ador es una variab le que perm ite ir
sola línea). alm acenando el contenido que va tom ando o tra variable. Su sintaxis es:
APLICACION DESARROLLADA N° 10
Esta a plicación cuenta el núm ero de depósitos y retiros realizados por un
cliente, además alm acena el to ta l de las m ontos tanto de retiros com o de
depósitos efectuados in clu ye n d o el saldo actual
NOTA:
I «*.. B a n c o " E l A m i g o " M B - i n i R ii
C lie n te jT it o R a m ir e z V á s q u e z Ok 1
L a fu n c ió n N O W , p e rm ite o btener la fecha y hora actual y la fu n c ió n STR,
c o n vie rte un dato a tip o carácter. M o n t o d e M o v im ie n t o
15 0
D e p ó s it o j R e tir o _ l
C a n t id a d T o ta l
D e p ó s it o |2 |1 3 5 0 1i N u e v o C l ie n t e l j
R e tir o h 150
S a lir
SALD O A C TU A L |1300
INSTRUCCIONES D E L BO TÓ N OK.
INSTRUCCIONES D E L BOTÓN NUEVO CLIENTE.
Private Sub Commandl_Click()
Textl.Locked = True Private Sub Command4_Click()
Text2.Locked = False
Commandl.Visible = False Forrn_Activate
Command2.Enabled = True End Sub
Command3.Enabled = True
Rem La siguiente instrucción debe ir en una sola línea.
Label12=InputBox("Monto de Apertura "+Chr(13)+Chr(13) +" INSTRUCCIONES D I I J ’R O C I.D IM IKN TO F O R M A C TIV A T E .
La cuenta se apertura con cualquier monto ", "Nueva de
Cuenta ", 350) Private Sub Form_Activate()
Label 7 = 1 Textl =
Label 9 = Label12
Text2 = ""
Text2.SetFocus
End Sub Label7 = ""
Label8 =
Label9 = ""
INSTRUCCIONES D E L BO TÓ N DEPÓSITO. LabellO = ""
Labell2 = ""
Prívate Sub Command2_Click() Commandl .Visible = True
Label7 = Val(Label7) + 1 Command2.Enabled = False
Label9 = Val(Label9) + Val(Text2) Command3.Enabled = False
Label12 = Val(Labell2) + Val(Text2) Textl.Locked = False
E nd Sub Text2.Locked = True
Textl.SetFocus
End Sub
T o ta l a P a g a r ===>
También se puede e s c rib ir de la siguiente manera:
Precio Unitario
Su sintaxis es:
Cantidad Comprada I Calcular
CARACTERÍSTICAS:
Case CASO n Se debe ingresar el n om bre de un producto, su p re cio u n ita rio y la c a n ti
Instrucción(es) dad com prada de d ich o producto, luego se debe ca lcu la r y v is u a liz a r el
Case Else subtotal, el descuento en porcentaje, el descuento en soles y el to ta l a pagar,
Instrucción(es) lil descuento en porcentaje se depende d el subtotal, de acuerdo a la s igu ien
End Select te tabla:
Label4 Label8
P A S O N ° 03: E s c rib ir las instrucciones.
Command2
Label5 Label9 IN S T R U C C IO N E S D E L C O M M A N D 1 , donde se u tiliz a la propiedad
Command3 Ñ A M E asignada a las cajas de texto y algunas etiquetas.
LabelG L a b e ll 0
A sí: Alumno
1 ..........................
Observación 1 .....................
INSTRUCCIONES DE TE X T3, CUYO NOMBRE (ÑAME) ES CANTIDAD.
Puntos
G ru po E d it o r ia l Megabyte
D E S A R R O L L O D E L A A P L IC A C IO N BOTONES DE COM ANDOS
P A S O N ° 0 1: D ib u ja r los controles
CONTROL CAPTION TOOLTIPTEXT
Commandl &0tro Alumno Ingresar nuevo alumno
L a b e ll |fr ext1 Command2 Obtener &Promedio Imprime el promedio
Label2 |í e x l2 Com m andl Command3 &Finalizar Finaliza la aplicación
Label3 IT ext3
Command2
LabeM ¡Text4
FORMULARIO
Label5 Label8
Command3 CONTROL CAPTION
LabelG Label9
Forml Información Académica
Label7 L a b e ll 0
NOTA :
P A S O N ° 0 2 :A s ig n a r las propiedades.
E T IQ U E T A S (L A B E L )
CONTROL CAPTION AUTOSIZE BORDERSTYLE 1. SelStart, S elLength, y SelText son propiedades de las cajas de texto
Labell Alumno True 0 - None
que se usan en el m odo de program ación.
Label2 Curso True 0 - None
Label3 Nota N 201 True 0 - None SelStart:
Labe14 Nota N e02 True 0 - None E sp ecifica la p o sició n de in ic io del bloque de texto seleccionado.
Label5 Promedio True 0 - None SelLength:
Label6 Observación True 0 - None
Label7 Puntos True 0 - None E sp ecifica el núm ero de caracteres seleccionados.
Labe18 En Blanco False 1 - Fixed Single SelText:
Label9 En Blanco False 1 - Fixed Single C ontiene el te xto seleccionado.
Label10 En Blanco False 1 - Fixed Single
Label11 Cualidad True 0 - None
Label12 En Blanco False 1 - Fixed Single 2. Para e scribir comentarios dentro de un program a se u tiliz a las co m illa s
sim ples o apostrofe ( ‘ )*
C A JA S DE T E X T O S
CONTROL TEXT TABINDEX 3. L a fu n c ió n IS N U M E R IC perm ite saber si lo ingresado p o r un usuario
Textl En Blanco 0
Text2 En Blanco 1 se puede considerar de tip o num érico.
Text3 0 2
Text4 0 3
138 G r u po E d it o r ia l Megabyte
W/ VISUAL BASIC como debe ser.
D E S A R R O L L O D E L A A P L IC A C IO N BOTONES DE COMANDOS
P A S O N ° 0 1: D ib u ja r los controles
CONTROL CAPTION TOOLTIPTEXT
n - :
Ingresar nuevo alumno
Commandl &0tro Alumno
L ab e ll IfT e x tl Command2 Obtener &Promedio Imprime el promedio
Label2 |T ext2 Command! Command3 &Finalizar Finaliza la aplicación
Label3 |T ext3
Command2
LabeW | í ext4 FORMULARIO
Label5 LabelS
Command3 CONTROL CAPTION
LabelG LabeIS
Forml Información Académica
Label7 L a b e ll 0
NOTA :
P A S O N ° 0 2 :A s ig n a r las propiedades.
E T IQ U E T A S (L A B E L )
CONTROL CAPTION AUTOSIZE BORDERSTYLE 1. SelStart, SelLength, y SelText son propiedades de las cajas de texto
Labell Alumno True 0 - None
que se usan en el m odo de programación.
Label2 Curso True 0 - None
Labe13 Nota N s01 True 0 - None SelStart:
Label4 Nota N 202 True 0 - None E sp e cifica la p o sició n de in ic io del bloque de texto seleccionado.
Label5 Promedio True 0 - None
SelLength:
Labe16 Observación True 0 - None
Label7 Puntos True 0 - None E sp ecifica el núm ero de caracteres seleccionados.
Labe18 En Blanco False 1 - Fixed Single SelText:
Labe19 En Blanco False 1 - Fixed Single C ontiene el te xto seleccionado.
Label10 En Blanco False 1 - Fixed Single
Label11 Cualidad True 0 - None
Label12 En Blanco False 1 - Fixed Single 2. Para e scrib ir comentarios dentro de un programa se u tiliz a las com illas
sim ples o apostrofe ( ‘ ).
C A J A S DE T E X T O S
CONTROL TEXT TABINDEX 3. L a fu n c ió n IS N U M E R IC perm ite saber si lo ingresado por un usuario
Textl En Blanco 0
Text2 En Blanco 1 se puede considerar de tipo num érico.
Text3 0 2
Text4 0 3
Las siguientes instrucciones perm ite n que al fin a liz a r de e s c rib ir la N ota N °
A l fin a liz a r observará lo siguiente:
02, se v e rifiq u e que se ha ingresado un v a lo r num érico y entre 0 y 20. Se
deben e s c rib ir en el evento LostFocus de Text4.
* : P foje ctl - Fòrmi (Code) _ |n[ x|
Prívate Sub Text4_LostFocus{)
Text3 GotFocus ‘Pregunta si no se ha ingresado un valor numérico o
‘la nota N°2 es menor que 0 ó es mayor que 20
Prívate Sub Text3_GotFocus() I f N ot lsNumeric(Text4) Or Val(Text4)<0 Or Val(Text4)>20 Then '
Text3.SelStart = 0 MsgBox "Sólo números entre 0 y 20", 16, "Cuidado"
Text3.SelLength = Len(Text3) Text4.SetFocus
Text3 = Text3.SelText E n d lf
End Sub End Sub
Las siguientes instrucciones perm iten ingresar los datos de un nuevo alumno,
lim p ia n d o las cajas de te xto y las etiquetas y ubicando el cursor en T e x tl
para empezar a ingresar el nom bre del alum no. Se deben e s c rib ir en el
Las siguientes instrucciones p erm ite n que al empezar a e s c rib ir la evento C lic k del C om m and 1.
N ota N ° 02, se selecciona el contenido de la caja de texto N ° 04 para que
Prívate Sub Commandl_Click()
sea reem plazado p o r el v a lo r que se ingresa. Se deben e s c rib ir en el evento Textl = ""
G otFocus de Text4. Text2 = ""
Text3 - 0
Text4 = 0
Private Sub Text4_GotFocus() Label8 = ""
Text4. SelStart ~ 0 Label9 = ""
Text4. SelLength = Len(Text4) LabellO = ""
Text4 = Text4. SelText L abell2 = ""
Textl.SetFocus
End Sub
End Sub
141
m m ™ G ru po E d it o r ia l Megabyte
VISUAL BASIC como debe se r.. . CAPÍTULO III: Elementos de la Programación
Las siguientes instrucciones perm iten m ostrar los resultados del alum no APLICACION PROPUESTA N° 06
(p ro m e d io , observación, etc). Se deben e s c rib ir en el evento C lic k del Se debe ingresar el nom bre y el año de n a cim ie n to de una persona y se
C om m and2. tiene que visua liza r: su edad, una observación que in d ic a si es m ayor o
m enor de edad. Si m enor de edad se debe m ostrar cuántos años le faltan
Prívate Sub Command2_Click()
para ser m ayor de edad y si es m ayor de edad se debe m ostrar hace cuántos
pro = (Val(Text3) + Val(Text4)) / 2
Label8 = pro años es m ayo r de edad. T am bién se debe m ostrar la etapa de la persona
I f pro >= 10.5 Then teniendo en cuenta lo siguiente:
Label9 = "Aprobado(a)" 0 y 12 Niño
LabellO = "Le faltan "+Str(20-pro)+" puntos para tener 20" 13 y 17 Adolescente
Else
Label9 = "Desaprobado(a)" 18 y 30 Joven
LabellO - "Le faltan " + Str(ll-pro)+ " puntos para Aprobar" 31 y 70 Adulto
E n d lf 70... Anciano
Select Case pro fe-Iri fxf
Case OTo 5
L abell2 = "Pésimo" N o m b re jj
Case 5.1 To 10.4 A ñ o d e N a c im ie n to |
L abell2 = "Malo" R e s u lta d o s |
Edad J-
Case 10.5 To 14.4
N uevo
L abell2 = "Regular" □ b s e r v a c ió n j"
Case 14.5 To 17.4 Años S a lir
L abell2 - "Bueno"
E ta p a
Case 17. 5 To 20
L abell2 = "Excelente" r
End Select
End Sub
FUNCIÓN CHOOSE
L a siguiente in stru cció n fin a liz a la a plicación . Se debe e s c rib ir en el evento
C lic k del C om m and3.
^ ¡¡¡¡^ ¡^ G ru p o E d it o r ia l M e « a h v t e <^ ^ ^
VISUAL BASIC como debe ser. ,. CAPITULO III: Elementos de la Programación
F U N C IO N E S D E C A D E N A APLICACIÓN DESARROLLADA N° 13
U na cadena es un dato tip o S trin g (carácter); es decir se re fie re a letras o Las siguiente a plicación es un eje m p lo del uso de las funciones de cadena
letras y números, com o p o r ejem plo: el nom bre de una persona, su dirección,
etc. S i usamos al fin a l de la fu n ció n el signo $ devuelve el resultado com o
In g re s e u n a F ra s e ¡E s tu d ia n d o V IS U A L B A S IC
tip o Cadena, de lo c o n tra rio el tip o d evuelto es Variant. L o n g itu d d e la F r a s e
23 r
M u e s tr a
P rim e r C a r á c t e r n :::
R IG H T .- Obtiene de una cadena una cantidad de caracteres empezando por U ltim o C a r á c t e r c N uevo
D e l 2 d o a l G to C a r á c t e r
la derecha. Sintaxis Right(Cadena, N) stu d i
S a lir i
P o s i c i ó n d e la 1 r a le tr a *A'
L E F T .- Obtiene de una cadena una cantidad de caracteres empezando por
M in ú s c u la s e s tu d ia n d o v is u a l b a s ic
la Izquierda. Sintaxis Left(Cadena, N) M a y ú sc u la s E S T U D IA N D O V IS U A L B A SIC
MXD. - Obtiene de una cadena una cantidad de caracteres S ó lo la p r im e ra e n M a y ú s c u la E s t u d i a n d o V is u a l B a s ic
a partir de una determinada posición.
Sintaxis Mid(Cadena, Posición, N) l ’A S O N ° 01: D ib u ja r los controles.
D onde N indica la cantidad de caracteres que se desea obtener.
Labell :|Text1
L E N .- Obtiene la longitud de una cadena, es decir la cantidad de caracteres Label2 Labell 0
que contiene incluyendo los espacios en blanco. LabeB Label! 1
T R IM .- Q uita los espacios en blanco que se encuentran al in ic io y al fin a l de LabeM Labell 2
una cadena. Label5 Labell 3
R T R IM .- Quita los espacios en blanco al fin a l de una cadena. LabeS Label14
L T R IM .- Quita los espacios en blanco que se encuentran al in ic io de una Label? Labell 5
cadena. LabeB Labell 6
U C A S E .- Convierte una cadena a mayúsculas. LabeIS Labell 7
L C A S E .- Convierte una cadena a minúsculas.
P A S O N ° 02: A s ig n a r las propiedades a los controles.
La sintaxis de las funciones anteriores es: Función (Cadena) Ud., está en condiciones de asignar las propiedades a los controles: A signe
la propiedad C ap tion a las etiquetas desde L a b e ll hasta Lab el7 y a los
S T R C O N V : Esta función permite convertir una cadena a 3 formas diferentes: botones de com m andos. T e x tl y las etiquetas desde L ab eI 8 hasta L a b e ll3
STRCONV (Cadena, Valor) deben estar en blanco.
P A S O N ° 03: E s c rib ir las instrucciones para los controles.
El valor indica el tipo de conversión y puede ser:
1. Convierte el texto a mayúscula. Prívate Sub Com m andi JClick()
Prívate Sub Commandl_Click() Textl = ""
2. Convierte el texto a minúscula. LabellO = Len(Trím(Textl )) LabellO =
3. Convierte la primera letra de cada palabra a mayúscula. tM belll = Left(Trím( Textl ), 1) L abelll =
IN S T R : Obtiene un número que indica la posición de una subcadena dentro de Labell2 = Right(Trim(Textl ), 1) Labell2 =
Labell3 = Mid(Trím(Textl), 2, 5) Labell3 =
una cadena. Label 14 =
Labell4 = lnStr(Textl, "a")
IN STR (Valor, Cadena, Subcadena) Labell 5 = LCase(Textl) Labell5 =
Label 16 = UCase(Textl) Label 16 =
E l v a lo r in d ic a la p o sició n de la cadena desde donde se va a buscar la
L a b e l17 =
subcadena. Cadena es el texto donde se desea buscar y Subcadena es el Label 17 = StrConv(Textl, 3)
Textl.SetFocus
te xto que desea buscar. End Sub End Sub
144 - G rupo E d it o r i a l M ee a b v te
como debe ser. CAPÍTULO III: Elementos de la Programación
PASO N ° 03 E s c rib ir las instrucciones.
FUNCIONES TIPO FECHA L a siguiente in stru cció n muestran en la etiqueta N ° 12 la fecha y hora del
NOW.- O btiene la fecha y hora del sistema. sistema. Se deben e s c rib ir en el evento F orm Load.
DATE.- O btiene la fecha del sistema.
Prívate Sub Form_Load()
YEAR.- O btiene el año de una fecha.
L abell2 = "Hoy es " + Str(Now)
MONTH.- O btiene el núm ero mes de una fecha.
End Sub
DAY.- O btiene el día de una fecha.
Las siguientes instrucciones perm iten v is u a liz a r los resultados que se de
W E E K D A Y .-O b tie n e el núm ero del día de la semana.
sean. Se escriben en el evento C lic k del C o m m a n d l (O K ).
D o m in g o = 1 , Lunes = 2, M artes = 3, etc.
CVDATE.- C on vierte una cadena en un va lo r tip o fecha. Prívate Sub Comm andl_Click()
Dim fecha As Date
ISDATE.-V e rifica si un determ inado va lo r puede considerarse de tip o fecha. Dim ndia, nmes As String *10
La fu n c ió n Format perm ite asignar un fo rm a to a las fechas: Dim día, mes, año, diasemana As Integer
d-m-y 21-8-98 fecha = CVdate(Text2)
dd/mm/yy 21/08/98 dia = Day (fecha)
dd-mmmm-yyyy 21-Ago-1998 mes — Month(fecha)
h:m:s: AM /P M , dd/mm/yy 20:35:20 PM, 21/08/98 año = Year(fecha)
diasemana - WeekDay(fecha)
APLICACION DESARROLLADA N° 14 Label7 - dia
Label8 = mes
Se debe ingresar e l nom bre y la fecha de nacim ie nto de una persona y Label9 - año
visualizarse p o r separado: El día, mes, año, núm ero del día de la semana, la LabellO = diasemana
fecha en letras y la fecha y hora actual. ‘convierte el N° del día de la semana en letras
‘Si desea escribir dos instrucciones en una
‘línea, debe separarlas po r dos puntos
Nombre fjO S E MARIA Select Case diasemana
Fecha de Nacimiento 11 7-1 0-86 Case 1 : ndia = "Domingo"
D ía Ingresado P7 Case 2 : ndia = "Lunes "
Mes Ingresado |ïô O k Case 3 : ndia = "Martes"
Año Ingresado |1986
Salir Case 4 : ndia = "Miércoles”
D ía de la semana
Case 5 : ndia = "Jueves"
V'í&rsr&s-. / Z afe Case 6 : ndia = "Viernes"
iHoy es 1 7 /0 7 /1 998 11:26:58 PM
Case 7 : ndia - "Sábado"
End Select
‘convierte el N° del mes en letras.
PASO N° 01 D ib u ja r los controles. Select Case mes
=asi- 2l Case 1: nmes = "Enero"
Labell jfT extl
Case 2: nmes - "Febrero"
Label2 jText2
Case 3: nmes = "Marzo"
Label3 Label7
Case 4: nmes - "Abril"
Label4 LabeIS
Case 5: nmes = "Mayo"
Label5 Label9 Case 6: nmes = "Junio"
LabeIS L abell O Case 7: nmes - "Julio"
Case 8: nmes = "Agosto"
Case 9: nmes - "Setiembre"
Case 10: nmes = "Octubre"
Case 11: nmes = "Noviembre"
PASO N° 02 A s ig n a r las propiedades. Case 12: nmes = "Diciembre"
A sig ne las propiedades a los controles de tal manera que se visua lice n com o End Select
Labell 1 = ndia+", "+Str(dia)+" de "+nmes+" de "+Str(año)
se m uestra en la a plicación a desarrollar. End Sub
150 G ru po E d it o r ia l M egabyte^
O
SGN ISNUMERIC(Valor)
Label2 LabeIS
Esta fu n c ió n perm ite redondear un núm ero a una determ inada cantidad de
Parle Entera
Label3 LabellO Commandl decimales.
Parte Decima! M U E S TR A
Labe!4 LabelH
Round (Valor.; Número de Decimales)
Valor Absoluto Command?
NUEVO
Label5 Labell 2
M O NTHNAM E
R a íz cuadrada
Command3
SALIR
LabelB Labell 3 Esta fu n c ió n m uestra el nom bre del mes a p a rtir de un núm ero entre 1 y 12.
Signo del Número
156 G r u po E d it o r ia l Meeabvte
|¡ I ¡ ¡ i > VISUAL BASIC como debe se r.. . CAPÍTULO III: Elementos de la Programación %
APLICACIÓN DESARROLLADA N° 16 FOR-NEXT
L a siguiente a p lica ció n p erm ite ejecutar desde el V isu a l B a sic algunos P erm ite crear bucles. U n bucle es la re p e tic ió n de una o más instrucciones.
program as. Su sintaxis es:
F O R variable = v.inicial T O v.final S T E P incremento
¡a. u so d e l s h ell
_________________________ M
Instrucción(es)
|P r o g r a m a a E /e c u ta r : N E X T variable
STEP: Sólo es necesario cuando el incremento es diferente de 1.
C A LC U LA D O R A E LE C TR O N IC A EXIT FORM: Permite salir del bucle.
DO-LOOP
MICROSOFT W O R D
Permite ejecutar una o más instrucciones mientras una condición se cumpla
MICROSOFT EXCEL (W H IL E ) o hasta que se cum pla una c o n d ic ió n ( U N T IL ). Tiene cuatro
sintaxis:
EXP LO R A D O R DE W IN D O W S
D o W hile Condición D o Until Condición
SALIR A L D .O .S. Instrucción(es) Instrucción(es)
'mm ™ G ru po E d it o r ia l Megabyte
m s* VISUAL BASIC como debe ser. CAPÍTULO III: Elementos de la Programación
P A S O N ° 0 3 :E s c rib ir las instrucciones para los controles.
APLICACION DESARROLLADA N° 17
Se debe ingresar un texto y luego se debe m ostrar letra p o r letra del texto Instrucciones del botón OK:
ju n to con su v a lo r A S C II y su va lo r B in a rio ; además, el va lo r b in a rio se debe
desplazar de izqu ierda a derecha p o r el fo rm u la rio . Prívate Sub Commandl_C!ick()
TEXTO = Trim(Textl)
Ö E JE M P L O S D E B U C LES • . |n| x| For X - 1 To Len( TEXTO)
Label7 = " "
IN G R E S E U N T E X T O
LETRA = Mid(TEXTO, X, 1)
LE TR A
Label5 = LETRA
VALOR = Asc( LETRA)
V A L O R A SC II Labeló = VALOR
La be 17 = BlNARIO( VALOR)
V A L O R B IN A R IO
Label8 = Label7
‘Mvimiento del valor Binario
OK
For T = 1 Tó 5000 Step 0.1
Label8.Left - T
Next T
N extX
End
P A S O N ° 01: D ib u ja r los controles
End Sub
I ^ Form » -.In i x |
Instrucciones de la función BINARIO:
L a b e ll IfT e x tl
i
APLICACIÓN DESARROLLADA N° 18
ARRAYS Se debe ingresar un núm ero del 1 al 7 y v is u a liz a r el nom bre del día de la
semana.
U n array perm ite almacenar en una sola variable, varios elementos del m ism o
tip o u tiliz a n d o un índice. El p rim e r elem ento de un array se alm acena en - I1-n|
---- x |1
---1----
fo rm a predeterm inada en el índice 0, pero con la instru cció n O PTIO N B A SE
7, le in d ica al V isual Basic que el p rim e r elem ento de un array se almacene Ingrese un número (1-7]
en el índice 1.
C on la palabra P U B L IC se declaran arrays globales y lo debe hacer en la
sección de declaraciones de un m ód ulo .
C on la palabra D IM se declaran arrays a n iv e l del m ód ulo o del fo rm u la rio .
GK
C on la palabra STA TIC se declaran arrays locales a un p rocedim iento.
Salir
A r r a y s E s tá tic o s .
Se caracterizan porque tienen un n úm ero fijo de elementos. E jem plos: 1. D ib u ja r los controles y asignarle sus propiedades.
Dim Nom (19) A s String 2. D eclarar en la sección de declaración del fo rm u la rio .
D ecla ra la va riab le N om de tip o cadena que p erm ite alm acenar veinte Dim D (1 To 7) As String * 9
elem entos (de 0 a 19). 3. A s ig n a r los elementos al array en F O R M L O A D .
Dim A (1 to 15) A s Integer Prívate Sub Form_Load()
'Almacena los elementos en el Array
D eclara la variable A de tipo integer que perm ite alm acenar 15 elementos D (1) = "Lunes"
(de 1 a 15). D(2) = "Martes"
Static N um (1 to 4, 1 to 4) A s Integer D(3) = "Mi ércoles"
D(4) = "Jueves"
D eclara la variable N um de dos dim ensiones (4 * 4) de tip o Entero. D(5) = "Viernes"
A r r a y s D in á m ic o s . D(6) = "Sábado"
D (7) = "Domingo"
Se caracterizan porque sus dim ensiones no son fijas.
End Sub
E l espacio para un array d in ám ico será asignado durante la e jecución del 4. Escribrir las instrucciones del Botón OK.
pro gram a . Un array d in ám ico, puede ser red im e nsion a do en c u a lq u ie r Prívate Sub Commandl_Click()
m om ento de la ejecución del program a. Dim N As Integer
N = Val(Textl)
R E D IM If N >= 1 And N <= 7 Then
Es una in stru cció n que perm ite ca m b ia r e l núm ero de elementos de un array, L ubel2- "El número ingresado representa el día "+D(N)
se debe e scrib ir solamente en un p ro ce d im ie n to . E je m p lo: El se
MsgBox "Sólo números del 1 al 7", 0, "Por favor"
Dim Num () As Integer Textl = ""
D ecla ra ción din ám ica de la va riab le N u m de tip o Entero. Textl.SetFocus
En el m om ento que necesite asignarle espacio puede e scribir: End If
End Sub
Redim N um (N )
D onde N contiene el valor con el que desea redim ensionar la variable N um . El botón S A L IR debe tener la in stru cció n E N D .
|T e x t1 3 |T e x tl 4 | t e x tl 5 1T e x tl 6
C om m and5
Haga c lic k en el botón SI y continúe asignado el m ism o nom bre a los si
guientes controles. Cuando todos los controles tienen un m ism o nom bre se
tiene un array con una sola dim ensión cuyos elementos se d iferen cian por el
PASO N° 2: Convertir las Cajas de Texto en un array.
v a lo r de su propiedad IN D E X de cada co n tro l, por ejem plo: E l p rim e r con
tro l tendrá en su propiedad Index el v a lo r 0, el segundo c o n tro l tendrá el
Cree un array de controles con las cajas de te xto usando cualquiera de los
v a lo r 1, etc.
dos form as indicas y asígnele el n om bre N en la propiedad Ñame a cada
2. Cuando los controles todavía no están dibujados en el formulario.
una de ellas.
Si los controles todavía no los ha d ibujado en el fo rm u la rio , entonces d ib u
je sólo el p rim e r c o n tro l y asígnele, si lo desea, un nom bre diferente al que ¡i,. ORDENACION DE UN ARRAY
tiene en fo rm a predeterm inada, luego selecciónelo haciendo un C lic k en
V alores del Array
dich o co n tro l y pulse las teclas CTRL+C, para co p ia rlo en la m em oria
NUEVO
de la com putadora y después pulse las teclas CTRL+V, para pegarlo en
el fo rm u la rio . I2 1 I4 I 5
Í3
[ ' O R D E Ñ A R ']
L a p rim era vez que U d. pulsa CRTL+V, se visua liza el mensaje anterior,
haga C lic k en el botón SI y continúe pulsando CTRL+V hasta que tenga I8 I 12 !
1 |23 28
RESTAURAR I
la cantidad de controles deseadas. Cada c o n tro l que pega se ubica en la
parte superior izquierda del form ulario uno sobre otro, con el m ism o nombre,
I 43 1 44 |S3 |54
LLENAR
pero con la propiedad IN D E X diferente. Cuando term ine ubíquelos en su
respectivo lu g a r y en el orden correcto.
E D IT A R (E D IT ) d e la B arra de M en ú y C T R L + V eq u iv a le a la opción
P e g a r (P aste).
‘O rdena los valores que se encuentran en la variable A R C0L1 COL 2 COL 3 COLI
Do FILA 1 [ i [2 [6 p p - LIMPIAR EL ARRAY i
sw - 0
F or X = 0 7o 14 F IU 2 |Í2 |— - p------- f -------- |20 LIMPIA LOS BESULTADOsj
A R (X ) = A R (X + 1)
A R (X + 1) = A X | SUMAS INDEPENDIENTES -----
sw - 1
COLUMNA 1 | COLUMNA 2 | COLUMNA 3 | COLUMNA 4 |
E n d lf
Else FILAI 1 FILA 2 | FILA3 1 F ILM 1 1
IfA R (X ) < A R (X + 1) Then
DIAGONAL Ni 1 | \ ) | j DIAGONALN12 [ / ) !
A X = A R (X )
A R (X ) = A R ( X + 1) |25 |15
SAUR 1 1
A R (X + 1) - A X
sw = 1
E n d lf
E n d lf PASO N° 1: Dibujar los controles.
N e x tX
Loop Until sw = O Labell Label2 Label3 LabeM .........................
‘M uestra los valores ordenados en las cajas de textos
F o r X - O To 15 Label5
■
|7^r fr¿r [ f ür l*™ ;
N (X ) = A R (X ) ; 1Text5 ¡Text6 |Text7 jíexl8 Label14 • - Command2 |
Labelß
N e x tX
YA - True : Labd7 •f r ^ T fie x iT ö f í ^ ñ T fr3 rt2 \ Command3 |
E nd Sub
Instrucciones del Botón RESTAURAR
E sta s in s tr u c c io n e s m u e s tra n en la s c a ja s ele te x to lo s va lo re s en la
p o s ic ió n o r ig in a l (a n te s ele o rd e n a rse ).
Comrr¡aiid9 I Commandl 0 I Command'll I Commandl 2 I;
Prívate Sub Command3_Click()
For X = O To 15 Commandl 3 Commandl 4
End Sub
168 G ru p o E d ito r ia l Megabyte
¡
á lll^ É I’' VISUAL BASIC como debe ser.. . > CAPÍTULO III: Elementos de la Programación
PASO N° 2: Convertir las Cajas de Texto en un array. PASO N° 6: Escribir las instrucciones para los controles.
En la ventana de declaración del fo rm u la rio d efin a las siguientes variables:
U tilic e cualquiera de las dos form as explicadas. A signe el nom bre N a cada
una de las cajas de Texto. Dim COL, F1L, X, ST As Integer
Dim A(1 To 4, 1 To 4), SUMA(1 To 4) As Integer
PASO N" 3: Convertir las Etiquetas desde Label9 hasta Labell2 C rear el siguiente p ro ced im ien to en el fo rm u la rio .
en un array de controles. E ste p ro ce d im ien to p e rm ite p a sa r los valores a lm a c en a d o s en la s cajas
A signe a cada una de estas etiquetas el nom bre SC empezando p o r Label9 d e texto a l a rra y d efin id o en la va ria b le A .
en form a ordenada hasta label 12, pero al fin a l cambie el v a lo r de la propiedad
NO TA:
IN D E X de cada etiqueta de tal manera que Label9 se llam e SC, pero que su
E l ín d ic e d e l a rra y d o n d e se p a sa n lo s va lo re s d e la s c a ja s d e texto
propiedad IN D E X tenga el v a lo r 1, L a b e llO tenga en su propiedad IN D E X
em p ie za n con el v a lo r 1.
el va lo r 2, Label 11 tenga en su propiedad IN D E X el v a lo r 3, L ab el 12 tenga
en su propiedad IN D E X el va lo r 4. Sub PASAR()
X=0
Para cam biar el va lo r de la propiedad IN D E X de cada c o n tro l debe empezar For COL = lT o 4
p o r el ultimo (en el e je m p lo em piece p o r L a b e l 12). Esto nos perm ite For FIL = lT o 4
A(COL, FIL) = Val(N(X))
program ar de una fo rm a más cóm oda p o r que el array de controles em pieza
X =X+1
con el In dice uno (1) y no con el cero (0).
Next FIL
Next COL
PASO N° 4: Convertir las Etiquetas desde Labell3 hasta Labelló End Sub
en un nuevo array de controles.
Instrucciones para el evento FORM_ACTIVATE.
Prívate Sub Form_Activate()
Asigne a cada una de estas etiquetas el nom bre SF empezando p o r Label 13
‘Al activarse el formulario llama al procedimiento
en form a ordenada hasta label 16, pero al fin a l cambie el va lo r de la propiedad
‘COMMAND1JCLICK (Limpia los valores) y al
IN D E X de cada etiqueta de tal manera que Label 13 se llam e SF, pero que 'procedimiento COMMAND2_CLICK (Limpia los resultados)
su propiedad IN D E X tenga el va lo r 1, Label 14 tenga en su propiedad IN D E X Commandl jC lick
el va lo r 2, Label 15 tenga en su propiedad ÍN D E X el v a lo r 3 y Label 16 tenga Command2_Cl ick
en su propiedad IN D E X el va lo r 4. End Sub
Botón LIMPIAR EL ARRAY Botón L IM P IA LOS RESULTADOS
MUY IMPORTANTE
Private Sub Commandl_Click() Prívate Sub Command2_Click()
N o se o lvid e em pezar por el ú ltim o co n tro l (en el e je m p lo em piece por
'Limpia los valores del array 'Limpia los resultados
L a b e lló ) para ca m biar el va lo r de la propiedad IN D E X . F orX - OTo 15 F orX - 1 To 4
PASO N° 5: Asignar a los otros controles sus propiedades. N(X) = "" SF(X) = ""
L a propiedad p rin c ip a l a m o d ific a r es C A P T IO N para los botones de Next X SC(X) = ""
comandos com o para las etiquetas, algunas etiquetas tienen además en la N(0).SetFocus Next X
propiedad B O R D E R S T Y L E el v a lo r 1-S ing le Fixed. End Sub End Sub
— I IM P O R T A N T E
Run-time error '13': Con los conocim ientos adquiridos hasta ahora ya está en condiciones de
Type mismatch desarrollar m uchas Aplicaciones.
Error de Tipo
Los Datos o variables
son de diferente tipo.
SISTEMA
DE
VENTAS
Castañeda O 54:42 AM
HORA
mm
: |1 1 :1 8 :2 5 PM
Salir
'v'rrr-—•
MEJORANDO EL ASPECTO
DE LOS FORMULARIOS
f
M A R C O (F R A M E ):
IIB p
P R IN C IP A LE S PRO PIED AD ES D E UN F R A M E :
ÑAME
Perm ite asignarle un nom bre. Por defecto el nom bre es F ra m e l, Fram e2,
Fram e3 etc. Según el núm ero de m arcos que se d ib u je n en el fo rm u la rio .
BAC KC O LO R
Selecciona un c o lo r de fo n d o para el m arco.
BO R D ER STYLE
S elecciona el e stilo del borde.
C A P T IO N
A sig n a un T ítu lo al m arco.
EN ABLED
P erm ite que el m arco se encuentre a c tiv o o no.
FONT
Para cam biar el tip o , tam año y e stilo de letra.
FO RECO LO R
A sig na un c o lo r de las letra.
M O U S E P O IN T E R
Para seleccionar el tip o de puntero de mouse.
V IS IB L E
Para in d ic a r si se debe m ostrar el m arco.
NOTA :
Para agrupar varios controles en un m arco, p rim ero dibuje el m arco y encim a los
controles. C ualquier p ro p ied a d que le cam bia al m arco será tam bién pa ra los
controles que se encuentran dentro de él.
I w m ■ « m m
VISUAL BASIC como debe ser.. . -
E je m p lo : F IG U R A S (S H A P E ):
U d. puede desarrollar la siguiente a p lica ció n usando marcos.
0
a .. M A T R I C U L A D E A L U M N O S
P R IN C IP A L E S P R O P IE D A D E S DE UN SHAPE:
ÑAME
Perm ite asignarle un nom bre. Por defecto el nom bre es S h a p e l, Shape2,
Shape3 etc. Según el núm ero de fig u ra s que se d ib u je n en el fo rm u la rio .
BAC KSTYLE
A S IG N A N D O CO LO RES
Selecciona el e stilo del fo n d o para la fig ura.
Q BCO LO R :
Es una fu n c ió n que p e rm ite asignar colores. BO RDERCO LO R
Su sintaxis es QBCOLOR(Valor). E l v a lo r es un num ero entre 0 y 15 que A sig n a un c o lo r para el borde de la fig u ra .
representa el v a lo r a asignar:
BO RD ERSTYLE
COLOR OSCURO CLARO
Negro 0 8 A s ig n a el estilo del borde.
Azul 1 9 B O R D E R W ID T H
Verde 2 10
Aguamarina 3 11 Para cam biar el ancho del borde.
Ro jo 4 12
Fucsia 5 13 F IL L C O L O R
Amarillo 6 14 A s ig n a el c o lo r que rellen a la fig u ra .
Blanco 7 15
F IL L S T Y L E
L a siguiente in s tru c c ió n asigna el c o lo r azul claro al fo rm u la rio N ° 1:
F orm l.B ackC olor = QBColor(9) Para in d ic a r el e stilo del llenado de la fig u ra .
RGB: SHAPE
Es una fu n c ió n que p e rm ite asignar un c o lo r que se obtiene de los colores Para seleccionar el tip o de la fig u ra que deseamos
R ojo , Verde y A z u l.
Su sintaxis es: R G B (Valorl, Valor2, Valor3). Los tres valores pueden ser I Shape lo - RectanaleHfföSS*‘
un núm ero entre 0 y 255 que representan la intensidad asignada a los colores 0 - Rectangle
R ojo, Verde y A z u l para obtener el c o lo r deseado. E l V a lo r l representa la 1 - Square
intensidad asignada al c o lo r R ojo, el V alor2 representa la intensidad asignada 2 - Oval
3 - Circle
al c o lo r Verde y el va lo r3 la intensidad para el c o lo r A z u l. 4 - Rounded Rectangle
L a s ig u ie n te in s tru c c ió n a sig na un c o lo r rosa do al fo r m u la r io N ° l: 5 - Rounded Square
F orm l.B ackC olor = RGB(255, 0, 190)
184 G ru p o E d ito r ia l Megabyte
MI
W t& m VISUAL BASIC como debe ser.. .
___________________ ____ o
LINEA (LINE): P IC T U R E B O X ( C A J A D E IM A G E N ) :
N ota N* 01 |
B Es opcional. Si se in c lu y e , hace que se d ib u je un cuadro usando las
Nota N 9 02 I coordenadas para espe cifica r las esquinas opuestas del cuadro.
Promedio F Es opcional. Si se u tiliza la opción B, la opción F especifica que el
Observación
cuadro se llena con el m ism o co lo r u tiliza do para d ib uja r el cuadro. N o puede
Opc/ones Dispan/bfes: u tiliza r F sin B. Si se u tiliza B sin F, el cuadro se llena con los valores actuales de
N uevo Calcular el Promedio Salir
F illC o lo r y F illS tyle. E l valor predeterminado para F illS tyle es transparente.
C LS
B o rra el texto o los g rá fico s d ib u ja d o en el fo rm u la rio o en el c o n tro l
Command!
P ictu reB o x.
P or ejem plo la siguiente in stru cció n borra lo d ib u ja d o en el p rim e r c o n tro l
P ictu reB o x.
P ic tu r e l. c ls P A S O N ° 2: E s c rib ir las instrucciones para los controles.
P R IN T D ebe crear 3 p rocedim ientos para que cada uno de ellos d ib u je círculos,
M uestra un texto en un fo rm u la rio o en el co n tro l P ictu reB o x. líneas y rectángulos.
Por e jem plo la siguiente instru cció n m uestra el texto “ D IB U J A N D O ” en el
p rim e r c o n tro l P ictureB ox. Rem Definición de las variables
Public maxcolumna, maxfila, color As Integer
P ic tu r e l.P r in t " D IB U J A N D O ” Public coll, col2, fill, fil2 As Integer
APLICACIÓN DESARROLLADA N° 22 Sub lineas()
En la siguiente a plicación se m uestra dentro de tres controles P icturebox maxcolumna = Picture2.ScaleWidth
círculos, líneas y rectángulos con un tam año, c o lo r y p o sició n al azar. maxfila = Picture2.ScaleHeight
coll = In t ((maxcolumna - 1 + 1 ) * Rnd + 1)
Métodos Gráficos fill = Int((maxfila - 1 + 1 ) * Rnd + 1)
col2 = In t ((maxcolumna - 1 + 1 ) * Rnd + 1)
fil2 = Int((maxfila - 1 + 1 ) * Rnd + 1)
color = I n t ((14 - 1 + 1) * Rnd + 1)
Picture2.ForeColor = QBColor(color)
Picture2.Line (coll, fill)-(col2, fil2)
End Sub
P r i v a t e S u b T i m e r l _ T i m e r () P r i v a t e Su b F orm _L oad()
c írc u lo s R a nd om ize
lin e a s T i m e r l . I n t e r v a l = 100
Finalizar re c tá n g u lo s End Sub
End Sub
End If
If maxradioder > maxradiosup Then íy j Suspender
radio = maxradiosup
El se ^ jj Apagar el sistema...
radio = maxradioder
End If |i;ÍH jn ic iq i
Picturel.ForeColor = QBColor(color)
Picturel.Circle (columna, fila), radio
If (Int(Timer) Mod 10) = O Then 2. Visualizará la siguiente ventana:
Picturel.Cls
Picture2.Cls m Buscai: todos los archivos
A rc h iv o E d ició n Ver O p c io n e s A yuda
Picture3.Cls
Randomize N om bre y u b ic a c ió n | F e c h a de m o difica ció n ] A v a n z a d a s j
End If B uscar ahora |
End Sub Nom bre:
A rc h iv o E d ic ió n Ver O p c io n e s Ayüda E l tam año del g rá fic o que se alm acena en este c o n tro l no depende del
N o m b re y u b ic a c ió n j F e c h a d e m o d ific a c ió n | A v a n z a d a s j tam año del co ntrol, si no que u tiliz a su p ro p io tamaño. La propiedad Stretch
B u sca r a h o ra I
determ ina si el tam año del g rá fic o depende del tam año del co ntrol.
N om bre: |* .B M P " ICO X.W M P --------------- 3
N u e va búsqueda
B u sca r en: |M i P C E xam inar.. T IM E R (R E L O J ):
W in c lu ir s u b ca rp e ta sj
A
EN ABLED
fv? incluir subcarpetas
VISUAL BASIC como debe se r.. < > CAPITULO IV: Mejorando el Aspecto de los Formularios ^
APLICACIÓN DESARROLLADA N° 23 E l g rá fic o del c o n tro l PICTUREBOX se lla m a DINERO.WMF, que
En la siguiente aplicación se u tiliz a n funciones tratadas anteriorm ente y norm alm ente se encuentra en la carpeta: A rch iv o s d e P rogram aSM icrosoft
ejem plos de cóm o m ejora r el aspecto del fo rm u la rio : O ffic e \C lip a r t\P o p u la r
Búsquelos, y si no los encuentra p ractique insertando otros gráficos.
FECHA : J21 -07-1S A las etiquetas donde se m uestran la fecha y hora no les asigne ninguna
- V e n ia d e P ro d u c to s :
Nom bre del Producto JJ- propiedad, porque se visua liza n cuando se ejecuta el program a.
Precio Unitario E l c o n tro l Timer lo puede d ib u ja r en cu a lq u ie r parte del fo rm u la rio porque
C antidad T
cuando ejecuta la a plicación no se v is u a liz a y tiene un solo tamaño.
I.G.V. J”
PASO N° 03: E s c rib ir
las instrucciones de cada co ntrol.
Total I- Instrucciones Form Activate Instrucciones del B. Calcular
Lo que puede hacer : —
Prívate Sub Form_Acüvate() Prívate Sub Command2_Click()
^ I Textl = "" Dim ST, IGV, TPAs Single
J ju e v o ] fíe s u lta d o s Text2 = "" ST = Val(Text2) * Val(Text3)
Text3 = "" IGV= S T * 18 /1 0 0
L a b e lll = "" TP = S T + IG V
PASO N° 1: DIBUJAR LOS CONTROLES: L abell2 = "" Labell 1 =Format(ST, "###,##0.00")
Labell3 = "" Labell2=Format(IGV, "###,##0.00")
Labell Label2 Label3 Label4 Textl.SetFocus Labell3=Format(TP, "###,##0.00")
■Framel----------------
End Sub End Sub
Label5 (Textl Instrucciones del b o t ó n Nuevo.
Label6 |jext2 Private Sub Commandl_Click()
© Form_Activa te
Label7 | t ext3 End Sub
Instrucciones del b o t ó n Salir
Label8 Labell 1
Prívate Sub Command3_Click()
Label9 Labell 2
Dim R As Integer
Labell 0 Labell 3
R = MsgBox("Está seguro de salir", 36, "Cuidado")
-Frame2------------
If R = 6 Then End
Command! Command2 Command3
End Sub
Instrucciones del Evento L O A D : Visualizan la fecha del sistema en la etiqueta 2, y la
palabra VENTAS en el Caption del formulario y activan las instrucciones del control TIMER.
PASO N° 02: ASIGNAR LAS PROPIEDADES. P r í v a t e S ub F orm _L oad()
Asígnele las propiedades a cada uno de los controles que se muestran en el L a b e l2 = F o rm a t(D a te , "d d -m m -yyyy")
F o r m l . C a p t i o n = "V ENTAS" + S p a c e ( 5 0 )
form ulario, de tal manera que tenga un aspecto sim ila r a la aplicación planteada.
T im e r1 . I n t e r v a l = 100
NOTA: End Sub
Los botones de comandos deben tener en su propiedad SY T L E el valor 1 Gráfico y Instrucciones del control T IM E R : Visualizan la hora en la etiqueta 4 y mueven la palabra
en su propiedad PICTURE asígnele los gráficos indicados. VENTAS en el título del formulario.
Los nombres de los gráficos en el orden que se muestran en la aplicación a desarrollar P r i v a t e S u b T i m e r l _ T i m e r ()
son: PAINT.BMP, PREVIEW.BMP, POINT4.1CO, que normalmente se encuentran L a b e l 4 = F o r m a t ( T i m e , " h h :mm: s s AMPM")
en la siguiente carpeta: Archivos de Programa\DevStudio\Vb\Graphics Forml.Caption = Mid(Forml.Caption, 2) + LeftfForml.Caption, 1)
End Sub
G rupo E ditorial M t «
a m
|¡ ! ¡ l i > VISUAL BASIC como debe se r...
IMAGELIST (LISTA DE IMAGENES): El contenido de la Hoja Im ágenes es:
wn
S 1 G en eral [ i m á g e n e s |) C o l o r
Im agen actual
Este c o n tro l perm ite alm acenar im ágenes o g ráficos con la extensión IC O Index: h &ey: 1
(* .IC O ) y con la extensión B M P ( * .B M P ) en la m em oria de la com putadora lag: 1
para poder m an ip u la rlo s en nuestro program a. Im ágenes:
o p ció n C O M P O N E N T E S .
2. D e la o pción P ro je ct e lija C O M P O N E N T E S . A c e p ta r j C a n ce la r
1^ J U s e M a s k C o lo r Im a g e n a c tu a l
in d e x : [g Key: p
lag: r
Im ág enes:
A c e p ta r | C a n c e la r | A yuda
m E s p a c io d e tra b a jo d e la a p lic a c ió n
F o n d o d e la v e n ta n a
jlJ
E d ita r c o n tro l p e rso n a liz a d o ...
S ALIR
B a c k C o lo r p erm ite asignar un c o lo r de fo n d o y M a s k C o Io r asigna un c o lo r
para la mascara del co ntrol.
Una vez que insertó imágenes en el co ntrol Im a g e L is tl, use la propiedad
E l co n tro l tam bién tiene la propiedad U sem askC olor para establecer un valor
Personalizado, escriba las siguientes instrucciones en el botón M o s tra r Siguiente:
que determ ina si el c o lo r asignado en la propiedad M a s k C o Io r es u tiliz a d o Prívate Sub Commandl_Click()
com o una máscara. S ta tic P As In te g e r
P = P + 1
I f P > I m a g e L i s t l . L i s t l m a g e s . C o u n t Then
M A N E T O D E L A S IM Á G E N E S D E L C O N T R O L IM A G E L I S T P = 1
End I f
P ic tu r e l = Im a g e L is tl.L is tlm a g e s(P ). P ic tu re
Para obtener cualquiera de las im ágenes que se encuentran almacenas en End Sub
el c o n tro l Im a g e list se u tiliz a la siguiente sintaxis: Las instrucciones anteriores perm iten mostrar las imágenes una a continuación
Control_ImageList.Listlmages(índice).picture de otra y cuando se llega a la u ltim a muestra nuevamente la primera.
FU N C IO N LO ADPICTURE
E l ín dice es un v a lo r que in d ica el n úm ero de la im agen que se quiere
obtener.Por ejem plo, para m ostrar en el co n tro l Picture 1 la im agen N° 3 del Es una fu n c ió n que p erm ite c o lo ca r en un c o n tro l Im age o P ictu reB o x un
c o n tro l Im a g e list N ° 1 se escribe. g rá fic o . Su sintaxis es:
Nombre_del_Control=loadpicture (ruta y nombre de gráfico)
Picturel = ImageListl.Listlmages(3).Picture Ej empl os:
P ic tu rel = L oadP icture( "graphics\icons\com puter\key04. ico ")
Para saber cuantas imágenes tiene el co n tro l Im a g e L is t u tilic e la propiedad
Im age 1 = L o a d P icture("graphics\icons\com puter\key04.ico")
C ount. Por ejem plo, la siguiente in s tru c c ió n alm acena en la variable N, la P ic tu rel = L oadPicture( "c:\vb\m etafiles\com puter.w m f")
cantidad de im ágenes del co n tro l Im a g e lis t 1.
M U Y IMPORTANTE
N = ImageListl.Listlmages.Count Ud., debe escribir correctam ente la ruta de donde se encuentra el gráfico que desea
colocar en el control PictureBox o en el control Image.
204 G rupo E d it o r i a l M e g a b y t e ^ ”^
VISUAL BASIC corno debe s e r ... C APITU LO IV: Mejorando el Aspecto de los Formularios
c u a lq u ie r o tro tip o de mensaje. g rá fic o seleccionado p o r U d. Debe e le g ir la ú ltim a o p ció n (99-ccC ustom ).
L a selección del g rá fic o los puede hacer en la página Im agen com o se verá
Esta in fo rm a c ió n se visu a liza en determ inados espacios dentro de la barra
más adelante.
de estado llam ados paneles los cuales pueden ser hasta 16. SIMPLE TEXT
Si no se visua liza en la caja de herram ientas, haga c lic k en la ca silla del Perm ite e s c rib ir un texto el cual se v isu a liza en la barra de estado cuando
en la p ropiedad S tyle se e lig e el e stilo 1-sbrS im ple.
c o n tro l llam ado: Microsoft Windows Common Controls 5.0 de la lista
OLEDDROPMODE
de componentes.
D evu elve o establece el m odo en que un com ponente de destino rea liza las
operaciones de co locación.
P R IN C IP A LE S PRO PIED AD ES D E U N STATU SBARS: ENABLED
In d ic a si la barra de estado debe estar activada o desactivada.
Las propiedades principales del co ntrol se obtiene con sólo ele gir la propiedad
SHOWTIPS
C ustum ize (personalizado). Se visualiza la siguiente ventana con cuatro hojas
In d ic a si la barra de estado debe m ostrar el te xto de ayuda que se escribe
o fichas: General, Paneles, Fuente e Im agen.
en la p ropiedad T o o ltip te x t de la h oja Paneles.
E l conte nid o de la hoja General es: E l contenido de la hoja Paneles es:
am ar G e n eral P a n e le s j F u e n te ) Im a g e n ]
G e n e ra l j Pan eles ] F u e n t e | Im a g e n j
Incjex: f panel j Q u it a r p a n e l
Style: H f W BfflllTO Te x t:
T aa A c tu a l W id t h : 11 4 4 0 0 0
Q L E D ro p M o d e : jo - c c O L E D ro p N o n e
A lig n m e n t: Im a g e n
E n a b le d fs? S h o w T ip s
E x a m in a r...
Sfttle: 0 - s b rT e x t
B e v e l: 1 - s b r ln s e t 'W I
A u t o S ize: O - s b rN o A u tc ^~ | E n a b le d Jv'
J J Ayuda
TAG
Permite escribir un texto el cual queda almacenado para poder utilizarlo en cualquier
momento si lo deseamos. A c e p ta r |
ALIGNMENT
Alinea el texto o el gráfico dentro del panel a la izquierda, centro o derecha. E l contenido de la h o ja Im a g e n es:
STYLE
Permite seleccionar el tipo de información que desea mostrar en el panel. Si desea Esta hoja permite
G e n e ra l | P a n e le s j F u e n te Im a g e n j seleccionar un gráfico el
visualizar el texto escrito en la propiedad Text, debe elegir el estilo 0-sbrText. Aquí
. ______
P ropiedad e s: V is ta previa: cual va a reemplazar al
puede elegir que se muestre la fecha u hora del sistema, el estado del teclado, etc.
puntero del mouse cuándo
BEVEL
lo ubiquemos en cualquier
Selecciona el tipo de borde del panel (sin relieve, bajo relieve o en alto relieve). parte de la barra de estado.
A IT O S IZ E El gráfico que Ud. elija se
Para indicar si el tamaño del panel debe estar de acuerdo al tamaño de lo que visualiza siempre y cuando
contiene o no. se halla seleccionado la
M IN IM U M W IDTH E xam inar... VJMzi — i opción 99-ccCustom de la
Para indicar el ancho mínimo que puede tener el panel. -------- propiedad MousePointer
EXAM INAR A c e p ta r I C a n c e la r
J ____ I de la hoja General..
Permite seleccionar un gráfico que va a acompañar a la información que mostramos
en el panel. Ud., debe conocer previamente la ruta de la carpeta donde se encuen EJEM PLO DE UNAAPLICAGON USANDO ELCONTROLSTATUSBAR
tran los archivos de gráficos en su computadora. tm iS M m m n ™ i ^'m rr— — T - idi *i
Una de las rutas donde puede encontrar archivos de gráficos es:
C:\Archivos de Programa\DevStudio\Vb\Graphics'Sicons Y luego en cualquiera
de las carpetas que contiene. S IS T E M A
SIN IM AG EN DE 1
Borra el gráfico asignado al panel ?
ENABLED VENTAS
Para indicar si el panel debe estar activado o no.
VISIBLE
Para indicar si el panel debe estar visualizar o no.
/ X 8 /0 5 /9 9 J o sé C astañ eda 4 42 AM
I
208 G ru p o E d ito r ia l Megabyte 209
^ Íllíl¡|> VISUAL BASIC como debe ser.. . >CAPITULO IV: Mejorando el Aspecto de los Formularios ^
A signe las propiedades al c o n tro l Toolsbar de tal manera que tenga el m ism o PANTALLAS DE PRESENTACIÓN
aspecto de la a plicación m ostrada. Tam bién se puede program ar dentro de 1. Pantalla desarrollada en Power Point.
este co n tro l, p o r eje m p lo: Se desea que al hacer c lic k en la calculadora, se
a ctive la calculadora del w ind ow s.
L a propiedad INDEX del PANEL nos p erm ite saber en cuál de ellos el
usuario h izo c lic k . A l hacer c lic k en el p rim e r panel la propiedad Index tom a
el v a lo r 1, al hacer c lic k en el segundo panel, la propiedad In de x tom a el •' rm *
v a lo r 2 , etc.
Entonces las siguientes instrucciones para el co n tro l son: o ttjR a nrrj i t
Prívate Sub StatusBarl _PanelClick(ByVal Panel As ComctlLib. Panel) T R A N S P O R T S .A
If Panel.Index = 4 Then
Shell "c:\windows\calc.exe", 1
End If f; sai is ¡1
End Sub
U d., puede diseñar su pantalla en Pow er P o in t y pegarla en su fo rm u la rio o
Si U d., ha asignado uno o más caracteres en la p ro p ie d a d K E Y , entonces
a ctiva rla . Si usted pega la pantalla, ésta se v is u a liza rá estática (sin los
ta m b ién puede id e n tific a r e l panel donde se h iz o C lic k , m ediante esta m ovim ientos o efectos asignados) Para e llo una vez que term inó de diseñarla,
propiedad. Por ejem plo: Si ha asignado las letras CAL en la propiedad K E Y preséntela (C lic k en el B o tó n P R E S E N T A C I O N C O N D I A P O S I T IV A ) y
del panel n úm ero 4 (calcula do ra ), entonces puede e s c rib ir ta m b ién las pulse IMPR PANT (Print Screen), luego vaya al V isu al Basic y,haga
siguientes instrucciones en el co ntrol: c lic k en cu a lq u ie r parte d el fo rm u la rio y pulse CTRL+V. Si desea b o rra r la
Prívate Sub StatusBar l_PanelClick(By Val Panel As ComctlLib.Panel) pantalla, borre el co nte nid o de la propiedad P icture del fo rm u la rio .
I f P a n e l . K e y = "CAL" T h e n Para a c tiv a r una p an talla en P ow er P o in t desde V isu al Basic y v is u a liz a r
S h e l l " c : \ w i n d o w s \ c a l c . e x e “, 1 los m ovim ie n to s y efectos que le asignó, puede u tiliz a r el c o n tro l O L E .
End I f
End Sub EL CONTROL OLE
NOTA Perm ite insertar objetos. A l d ib uja rlo s se visua liza una caja de d iá lo g o donde
se puede e le g ir el o bjeto a insertar. Si pulsó C A N C E L A R y salió de la caja
SHELL p erm ite ejecutar program as (*.exe) desde el V isual B asic y el valor l le
de d ia lo g o , para regresar haga un c lic k con el botón derecho del m ouse en
indica que el program a se debe ejecutar con e l tam año d e ventana norm al. D ebe
el c o n tro l O L E y e lija la o pción INSERTAR OBJETO.
especificar correctam ente la ruta y el nom bre del archivo.
I Insellai o b j e t o ... . ........ « . S I
CALCULADORA DEL WINDOWS 3* Tips de objeto: I Aceptar
Edición Ver Ayuda ¡ <• Crear Quevo
Adobe«-Table 2.5 Cancelar
Clip de multimedia
f" Crear desde archivo Corel PHOTO-PAINT 5.0 Imagen
CorelCHART! 5.0 Chart
CorelDRAW! 5.0 Gráfico
I postrar como icono
CorelDRAW! 5.0 Presentation Exchar ,
E l CorelEquation! 1.0 Equation .T I
r ~ B ack 1 CE 1
C 1
Resultado
MC 8 9 / s q rt Inserta un nuevo objeto de Adobe Photoshop
Image en el documento.
MR 4 5 6 %
MS 1 2 3 1 /x
M+ 0 +h f
La opción C rear d esd e A rc h iv o perm ite seleccionar el archivo previam ente
creado
VISUAL BASIC como debe se r... CAPÍTULO IV: Mejorando el Aspecto de los Formularios
Instrucciones del control TIMER
ACTIVAR UNA PRESENTACIÓN EN POWER POINT Private Sub TimerI JTimer()
Una vez creada y grabada la presentación en Power Point, active el Visual Static N As Byte
Basic y en un form u la rio en blanco pegue el control O LE y en la ventana que se Labell(N). Visible = True ‘Muestra de la letra
Labell(N).Top = 2000 'Ubicación vertical
visualiza e lija la opción C rear desde A rch ivo , luego haga c lic en el botón E x a
Labell(N ).Left = P ‘Ubicación horizontal
m in a r para buscar y seleccionar la presentación creada en Power Point ha P = P + 500 ‘Velocidad de movimiento de las letras
ciendo clic en el botón Insertar y luego en Aceptar. En el evento Form Load IfP > FIN Then
del form u la rio debe escribir: FIN = FIN + Label 1(N). Width + 200
P riva t e S u b F o rm _ L o a d () P =0
N= N+ 1
O l e l . V i s i b l e = F a lse
End I f
O le l.A c tin o = 7 I fN > 6 Then
End Sub Tim erl.Inten’al = 0
Com mandl .Visible - True
2. Muestra la palabra SISTEMA letra por letra. End I f
End Sub
3. Mueve las palabras y oscurece y aclara el formulario
SISTEMA . P R E S E N T A C IO N 1-ñJSlJü'
ic s ^ 'l
o * ..j
BIENVENIDOS
En un fo rm ulario debe crear un array de 7 etiquetas. Para ello, D ibuje la etiqueta
N° 01, luego pulse C T R L + C y luego C T R L + V hasta com pletar las siete (desde
Labell(O ) hasta L a b ell(6 )). También debe dibujar un control T IM E R y un
botón de comandos el cual tiene el gráfico llamado: P O IN T4.IC O (opcional).
A cada etiqueta debe asignarle una letra de la palabra S IS T E M A . Labe] 1(0)
debe tener en su propiedad C aption la letra S, L a b e ll( l) la letra I, etc. AL SISTEM A
INSTRUCCIONES:
Definir las variable en la sección de declaración del formulario
P u b lic P As I n t e g e r
P u b li c F IN A s I n t e g e r D ibuje en el form ulario dos
etiquetas, dos control Tirner, un L ab e ll
In stru ccio n es del p roced im ien to FORM ACTIVATE P ic tu re B o x y un b o tó n de
Prívate Sub Form_Activate()
Dim X As Byte com andos. A las etiquetas,
Formt. WindowState = 2 ‘Maximiza el Formulario P ic tu re B o x y b o tó n de
For X = OTo 6 co m a n d o a síg n e le s la s
Labell(X).FontName = "Couríer New" ‘Tipo de letra Label2
Labell(X).FontSize = 72 'Tamaño de letra propiedades como se muestran
Labell(X). Visible = False ‘Oculto en la figura anterior.
Labell(X).BackStyle = 0 ‘Transparente Com m andl
Labell(X).AutoSize = True
Next X
FIN = 2500 ‘Ubicación de la primera letra Definir las variable en la sección de declaración del formulario
Commandl. Visible = False ‘Oculta el Botón OK
P u b l i c N, I As In te g e r
Timerl Anterval = 100
End Sub Public sw, CLARO As Boolean
VERDE j J 1 » 1 1255
=J Em pezar 1 Salir 1
D ib u je los controles com o se m uestra a continuación: barras de desplazam iento y las etiquetas N ° 5 ,6 y 7 tengan el v a lo r cero (0).
Priv a t e S u b F o r m _ A c t i v a t e ()
I t i Form l imi— — .Inlxl H S c r o l l l . V a lu é = 0
H S c ro ll2 .V a lu é = 0
Label4
H S c r o l l 3 . V a lu é = 0
Labell
V S c r o l l l . V a lu é = 0
jlU Labe!5 LabeIS
P ic tu re l.T o p = 0
L a b e l5 = 0
Label2 Label6 L a b e16 = 0
±1 Label7 = 0
Label3 <1 1 jü
Label7 End Sub
Instrucciones del p ro ce d im ie n to C A M B IO , que perm iten ca m b ia r el c o lo r
Command! | Command2 |
del fo n d o del fo rm u la rio de acuerdo al v a lo r de la propiedad Valué de cada
una de las barras de desplazam iento.
P A S O N ° 02: A S IG N A R L A S P R O P IE D A D E S . S u b CAMBIO()
D im ROJO, VERDE, AZUL A s B y t e
A sig n e las propiedades a las etiquetas y botones de com andos com o de
ROJO = H S c r o l l l
m uestra en la a p lica ció n a desarrollar. VERDE = H S c r o l l 2
AZUL = H S c r o l l 3
F o r m l . B a c k C o l o r = RGB(ROJO, VERDE, AZUL)
Instrucciones del F o rm _ L o a d para que al ejecutar la a plica ció n se asignen L a b e l5 = H S c ro lll
las propiedades a las barras de desplazam iento. L a b e l6 = H S c ro ll2
L a b e l7 = H S c ro ll3
End Sub
Prívate Sub Form_Load() Instrucciones del B o tó n E M P E Z A R .
HScrolll.Min = 0 P r í v a t e S u b C o m m a n d l _ C l i c k ()
HScrolll.Max = 255 F o rm _ A ctiva t e
End Sub
HScrolll.LargeChange = 5
HScrolll .SmallChange = 5 D en tro de cada Barra se llam a al p ro ce d im ie n to C A M B IO .
HScroll2.Min = 0 Prívate Sub HScrolll_Change()
HScrolll.Max = 255 CAMBIO
HScroll2.LargeCh.ange - 5 End Sub
HScroll2.SmallChange - 5 Prívate Sub HScroll2_Change()
HScroll3.Min = 0 CAMBIO
HScroll3.Max = 2 5 5 End Sub
HScroll3.LargeChange - 5 Prívate Sub HScroll3_Change()
HScrollJ. SmallChange = 5 CAMBIO
VScrolll.Min = 0 End Sub
VScrolll.Max = Forml .ScaleHeight Instrucciones del c o n tro l V S C R O L L 1 .
VScrolll .LargeChange = 100 P r í v a t e S u b V S c r o l l l _ C h a n g e ()
VScrolll.SmallChange = 25 P ic tu re l.T o p = V S c ro lll
End Sub End Sub
Pasajero |H T 0 RAMIREZ
D.N.I. |1 6895654
Fecha Ö7/Z3/9B
1 PR O F O R M A
•' ............
OBSERVACr .Wc |X IM E N A TORREE
\ _ Q tra F W q r n a - j „ V-lA
INGRESO
PERSONALIZADO
DE DATOS
<X ¿> CAPÍTULO V: Ingreso Personalizado de Datos
C O M B O (L IS T A D E S P L E G A B L E ):
Es un control que combina una caja de textos con una lista y se utiliza para
ingresar datos de una manera muy sencilla para el usuario.
PR IN C IPA L E S PR O PIE D A D E S DE UN CO M BO :
ÑAME
Permite asignarle un nombre. Por defecto el nombre es Com bol, Combo2,
Combo3 etc. Según el número de controles que se dibujen en el formulario.
ENABLED
Para indicar si debe estar activo o no.
FO NT
P erm ite seleccionar el tipo, tam año y estilo de letra.
L IS T
Permite ingresar los valores o datos que el usuario puede elegir de este
control. Por cada elemento que se ingrese se debe pulsar <CTRL> +
<ENTER>. Para insertar un elemento, ubique el cursor al inicio de donde lo
desea insertar y pulse <CTRL> + <ENTER>.
LISTIN D EX
Obtiene el numero del elemento seleccionado. Si se elige el 1er elemento
devuelve cero(O), el segundo uno(l), etc.
LOCKED
Para indicar si se puede cambiar el contenido del control.
SO R TED
t
Para indicar si los elementos deben salir ordenados.
STY LE
Selecciona el modo de elegir los elementos del control. TEXT
Para indicar lo que se va a m ostrar autom áticam ente en el control y
almacena el texto seleccionado.
V ISIB L E
Para indicar si se debe visualizar el combo.
VISUAL BASIC como debe ser.. CAPÍTULO V: Ingreso Personalizado de Datos ;l l ¡ | ¡ | |
APLICACION DESARROLLADA N 28 PASO N° 03: Escribir las instrucciones para los controles.
Esta aplicación debe permitir al usuario ingresar el nombre del alumno, su Instrucciones del botón O T R O A LU M N O
especialidad y tumo. Al hacer click en cualquiera de los Combo se debe
desplegar las opciones posibles a elegir. Prívate Sub Com m andl_Click()
‘Borra el contenido de Textl
Jn Jxj Textl =
‘Muestra el elemento predeterminado del Com bol (Computación)
Alumno Daniel Riveía Combol. Listlndex = 0
'Muestra el elemento predeterminado del Combo2 (M añana)
Especialidad JComputación jr ] Especialidad ^ « 3 Combo2.Listlndex - 0
‘Ubica el cursor en Textl para ingresar un nuevo alumno
Turno Arquitectura
^ U!ri° ¡Mañana j- ]
Secretariado
Textl. SetFocus
Sistemas End Sub
Otro Alumno Finalizar
Olio Alumno Finaliza!
El botón FINALIZAR debe tener la instrucción END.
e . 4V i
Labell
Nombre
1
Label2 jcom bol
Tipo [Permanente
Label3 |Combo2 3 z\
Estado Civil 1Casado
Command! Command2 ZÏ
Categoria | a -i
224 : G r u p o E d it o r ia l
VISUAL BASIC como debe ser... CAPÍTULO V: Ingreso Personalizado de Datos
APLICACION DESARROLLADA N° 29 PASO N° 02: Asignar las propiedades.
Instrucciones del botón Nuevo: limpia las cajas de texto y las etiquetas,
L a b e ll jlT e x t l además muestra el tipo de empleado por defecto y oculta el gráfico.
L a b e l2 jC o m b o l ^ |
Prívate Sub Com mandI_Click()
L a b e l3 L a b e lG ---------- Textl =
Com bol .Listlndex = 0
LabeM |T e x t2
Labeló =
L a b e l5 L a b e l7 Text2 =
Label7 —
Com m andl Com m and2
Picture! .Visible = 0
End Sub
ÍÜ Ü Í> VISUAL BASIC como debe ser... CAPÍTULO V: Ingreso Personalizado de Datos
Instrucciones del C om bol: permiten visualizar en forma automática el In stru ccio n es de Text2: Verifica que se ingrese sólo números en las
pago por hora, según el tipo de empleado que se elija y si ya se ingresó las horas trabajas y calcula en forma automática el total a pagar. Se puede
horas trabajas visualiza el total a pagar. realizar la misma operación usando la función ISNUMERIC.
“ E l q u e a p r e n d e y a p r e n d e y n o p r a c tic a , es c om o el
q u e a r a y a r a y n u n c a s ie m b ra ”
o
# • V ISl’AL BASIC como debe ser.. CAPITULO V: Ingreso Personalizado de Datos
APLICACION DESARROLLADA N° 31 PASO N° 02: Asignar las propiedades.
TEXTO TEXT
Textl En Blanco
Esta aplicación permite asignar un curso a cada profesor. Primero se debe COMBO TEXT LIST
ingresar su nombre y luego seleccionar el tipo de curso: Aplicativos, Combol En Blanco En Blanco
Programación, Otros. Según el tipo de curso, se mostrará una lista de cursos: Combo2 En Blanco En Blanco
A PLIC A TIV O S P R O G R A M A C IO N OTRO S Ud. Puede cambiar otras propiedades que crea conveniente.
Windows 95 Foxpro Internet
Word Visual Basic Correo Electrónico
Excel Visual Foxpro Inglés Técnico PASO N° 03: Escribir las instrucciones de los controles.
Power Point Power Builder
Instrucciones del Form JL oad para asignar las propiedades o valores iniciales
IM P O R T A N T E : de cada Combo.
CLEAR : Permite limpiar el contenido de un combo. Prívate Sub Form_Load()
Nombre del Control. Clear ‘Limpia el contenido del combol
A D D 1TE M : Permite adicionar un elemento a un combo. C om bol.C lear
Nombre del Control. Additem “Elemento ” 'Adiciona elementos al combol
Combol.Additem “APLICATIVOS”
En está aplicación de ejem plo, las propiedades de cada combo se Com bol.Additem “PROGRAM ACIÓN”
asignan en el Evento Form_Load. Combo 1.Additem “O TRO S”
‘Limpia el contenido del combo2
PASO N° 1: Dibujar los controles. Combo2.Clear
‘Adiciona elementos al combo2
a ; .=..l.s l->d Combo2.Additem “WINDOWS 9 5 ”
L a b e ll jfT e x t l Combo2.Additem “W ORD”
L a b e l2 [C o m b o l
zJ Combo2.Additem “EXC EL”
Combo2.Additem “P O IN T”
L a b e l3 |C o m b o 2 .... -1 ‘Permite que se visualice el ler. elemento de cada combo
C om m andl | C o m rn a n d 2 I Combo l.Listlndex = 0
Combo2.Listlndex - 0
End Sub
230 G r u p o E d it o r ia l Megabyte-^
¿ S ü t VISUAL BASIC como debe ser... CAPITULO V: Ingreso Personalizado de Datos " llliJ S P '
Combo2. C 1ear
Combo2 . A d d l t e m "I N T E R N E T "
C o m b o 2 . A d d l t e m "CORREO ELECTRÓNICO" • El botón Calcular permitirá obtener el Sub Total, IGV (18%) y el Total.
Combo2 . A d d l t e m "IN G LÉ S TÉCNICO" • El botón O tra Proform a permitirá limpiar los datos y pedir otros.
Combo2. L í s t l n d e x = 0 • El botón Salir finalizará el programa.
End S e l e c t
End Sub
PASO N° 01: Dibujar los controles.
Instrucciones del Commandl (Nuevo), para ingresar un nuevo profesor. I in. Formi m ém
A signa los valores por defecto a cada com bo y para ello, llam a el LabeH Label2
procedimiento Form_Load que contiene dichas instrucciones. —
Labe!3 ¡T e x tl
Label4 |ïe x t 2
P r í v a t e S u b C o m m a n d l _ C l í c k ()
'L i m p i a y u b i c a e l c u r s o r e n T e x t l Label5 I C om bol Label7
T e x tl =
T e x t l . S e tF o c u s LabelB |C om bo2 Labe!8
'L l a m a a l p r o c e d i m i e n t o F o r m _ L o a d
Form _Load L abe l9 L a b e ll 0 L ab e ll 1
End Sub
Com m andl Com m and2 Com m and3 |
En e l command2 s e e sc rib e la in stru c c ió n E N D . 1
232 G r u p o E d it o r ia l Megabvte
|¡ S S ¡ ^ VISUAL BASIC como debe ser... CAPÍTULO V: Ingreso Personalizado de Datos
PASO N° 02: Asignar las propiedades. In stru c c io n e s del-C om bo2.
A las etiquetas y botones de comandos, asígneles la propiedad Caption, como Estas instrucciones permiten visualizar el precio de la impresora cuando el
se muestra en la aplicación. usuario la selecciona.
P r i v a t e Sub C o m b o 2 _ C lick()
TEXTO TEXT
Textl En Blanco D im n A s I n t e g e r
Text2 En Blanco n = Combo2. L i s t l n d e x .
S e l e c t C ase n
LINEA BORDEWIDTH C ase 0 : L a b e l8 = " 1 8 0 .0 0 "
Linei 4 C ase 1 : L a b e l8 = " 2 7 0 .0 0 "
Line2 4 C ase 2 : L a b e l8 = "3 8 0 .0 0 "
End S e l e c t
combo text LIST End Sub
Combol IBM IBM
Packer Bell Instrucciones del Botón CALCULAR.
Acer
P r í v a t e S u b C o m m a n d l _ C l i c k ()
Combo2 Epson LX-300 Epson LX-300 D im s t , i g v , t t A s S i n g l e
Deskject 400 s t = V a l(L a b e l7 ) + V a l(L a b e l8 )
IBM graphics i g v = s t * 18 / 100
t t = s t + ig v
Ud. Puede cambiar otras propiedades que crea conveniente. L a b e 19 = "Sub T o t a l " + F o r m a t $ ( s t , " # # # ,# # 0 .0 0 " )
L a b e llO = " I .G .V . " + F o rm a t$ ( i g v , " # # # ,# # 0 .0 0 " )
PASO N° 03: Escribir las instrucciones de los controles. L a b e l l l = " T o ta l " + F o rm a t$ ( t t , " # # # ,# # 0 .0 0 " )
End Sub
In stru ccio n es del C o m b o l.
Estas instrucciones permiten visualizar el precio de la computadora cuando Instrucciones del Botón OTRA PROFORMA.
el usuario la selecciona en el combo N°1 haciendo click. P r í v a t e S u b C o m m a n d 2 _ C l i c k ()
T e x tl = "”
P r í v a t e S u b C o m b o l _ C l i c k () T e x t 2 = ""
D im n A s I n t e g e r 'M u e str a en l o s com bos e l p r i m e r e le m e n to
n = Combo1 . L i s t i n d e x C o m b o l. L i s t l n d e x = 0
Select Case n Combo2. L i s t l n d e x = 0
C ase 0 L a b e l 9 = ”"
L a b e l 7 = "8 5 0 .0 0 " L a b e l l O = ""
C ase 1 L a b e l l l = ""
L a b e l 7 = "7 0 0 .0 0 " T e x t l . S e tF o c u s
C ase 2
End Sub
L a b e l 7 = " 6 0 0 .0 0 "
End S e l e c t
End Sub
El botón SALIR debe tener la instrucción END.
234 G r u p o E d it o r ia l Megabyte'^¡|
w
VISUAL BASIC como debe ser... CAPÍTULO V: Ingreso Personalizado de Datos
OPTION BUTTON (BOTON DE OPCION): A P L IC A C IO N D E S A R R O L L A D A N° 33
Si es Soltero debe pedir la edad y el N- de hermanos y su sueldo debe ser
£
S/. 200.00. Si es Casado debe pedir el tiempo de casado y el N- de hijos, su
sueldo debe ser S/. 250.00.
Es un control que permite ingresar datos por selección. De esta forma sólo
se puede seleccionar una opción de un grupo de ellas.
í:i J n jx j
PR IN C IPA LE S PR O PIE D A D E S DE UN O P T IO N BU TTO N:
Nombre Nombre |
Framel Commandl I
M UY IM PO R T A N T E
C Optionl
Para preguntar si un botón de opción está seleccionado se utiliza la f ' 0ption2 Command2
propiedad Valué. Por ejem plo, para preguntar si el botón N°1 está
seleccionado se escribe: Label2 LabeB
Label3 |Texl2
I f O p t i o n l . V a lu é = T rue th e n
LabeW |Text3
También se puede preguntar asi: I f O p tio n l th e n
P a ra s e l e c c i o n a r un b o t ó n m e d i a n t e un com ando s e le
a s i g n a e l v a l o r TRUE y p a r a q u i t a r l a s e l e c c i ó n s e le
a s i g n a e l v a l o r FA LSE , E j e m p l o :
PASO N° 02: Asignar las propiedades.
O p tio n l.v a lu e = T r u e o O p tio n l= T ru e Lo s e l e c c i o n a . Asigne las propiedades como se muestra en la aplicación planteada.
O p tio n l,v a lu e = F a ls e o O p tio n l= F a lse Q u ita la s e le c c ió n .
L a b e l 4 = "N g d e H e r m a n o s "
L a b e l5 = "2 0 0 .0 0 "
T e x t2 . S e tF o c u s
PASO N’ 01: Dibujar los controles.
End Sub
OPERACIONES ARITMETICAS P its ]
Si el usuario hace un click en el botón N° 2, se cambia el contenido de las etiquetas
V alor N * 01
N° 1, N° 2 y N° 3 por: Tiempo de Servicio, N° de hijos y 250.00
P r í v a t e S u b O p t i o n 2 _ C l i c k () V alor NS 02
L a b e 13 = " T i e m p o d e S e r v i c i o "
L a b e l 4 = "N B d e H i j o s "
C Sum a
L a b e l5 = " 2 5 0 .0 0 " j R E S U LT A D O
T e x t2 . S e tF o c u s (" Resta
End Sub
r* M ultiplica
Si no desea escribir las instrucciones en el evento Click de los botones de opciones, r Divide OK SALIR
G r u p o E d it o r ia l Megabyte(
VISUAL BASIC como debe ser. . . | > CAPITULO V: Ingreso Personalizado de Datos
L A A P L IC A C IO N A D E S A R R O L L A R E S :
C H E C K BOX (CA JA DE V E R IFIC A C IO N ):
P tí
Es un control que permite seleccionar una opción. Se diferencia de los botones
de opciones porque se puede seleccionar varias opciones de un grupo.
VISUAL BASIC
PR IN C IPA L E S PR O PIED A D E S DE UN C H E C K BOX:
A P L IC A C IÓ N D E S A R R O L L A D A N° 35
Commandl
® ¡ f ^ 240 G r u p o E d it o r ia l Megabyte
|¡ l l t y ¡ |> VISUAL BASIC como debe ser. . . CAPITULO V: Ingreso ¡
L ISTB O X (CA JA DE LISTA)
PASO N° 03: Escribir las instrucciones de los controles.
G r u p o E d it o r ia l Megabyte^
CAPÍTULO V: Ingreso Personalizado de Datos
A P L IC A C IO N D E S A R R O L L A D A N° 36 Asignar los valores al array; es decir los precios de los pasajes. Se ejecutan
t * V E N T A D E P A S A JE * « 5 3 * 3 1
cuando se activa el formulario.
Al hacer Doble Click o pulsar F7 en cualquier parte libre del formulario elija
A g e n c ia d e T ra n s p o rte " S IN R E T O R N O S .A ."
el evento ACTIVATE.
P a s a je r o ( R u b é n C a s t illo
D .N .I.
Prívate Sub Form_Activate() Instrucciones del Botón Nuevo.
| l 6374657
P R E C IO (0 ) 60 P r í v a t e S u b C o m m a n d l_ C lic k ()
D e s t in o : P R E C IO (1 ) 50
P r e c io 1 5 0 .0 0
L i s t l .L is tln d e x = 0
L im a ^ P R E C IO ( 2 ) 30 C h e c k l.V a lu é = 0
¡ s e r a s * » — P ? [D e s c u e n to ! js .O O
T r u jillo ----- P R E C IO (3 ) 30 T e x t l = ""
P iu r a P R E C IO (4 ) 50 Text2 = ”
T O T A L S /. 4 5 .0 0
End Sub L a b e l7 =
N uevo j S a lir L a b el8 =
L a b el9 =
T e x t l . SetF ocus
D.N.I, y el lugar de destino que se debe seleccionar de una lista, luego debe
End Sub
mostrar en forma automática su precio y opcionalmente un descuento del
10%. Los lugares de destino y su precio son: Lima S/. 60.00, Chimbóte S/.
50.00, Trujillo S/. 30.00, Piura S/. 30.00 y Tumbes S/. 50.00. El precio debe Instrucciones de la Casilla de Verificación (CHECK1), para que al activar
estar almacenado en un array. o desactivar el descuento se visualicen los resultados.
P r í v a t e S u b C h e c k l _ C l i c k ()
PASO N° 1 : D ib u jar los controles. D im D e s , T o t A s S i n g l e
'P r e g u n t a s i t i e n e d e s c u e n t o
I f C h e c k l Then
D es = V a l( L a b e l7 ) * 10 / 100
L a h > a t3 ----------------------- L a b e l8 = F o r m a t(D e s , " # # 0 .0 0 " )
L at»ol3 jT e x t2 Else
L a b e l5 L o b o l7
L a b e l8 = 0
----- I Checkl L o b o ie
End I f
L a b e lB L ab e IS
T o t = V a l(L a b e l7 ) - V a l(L a b e l8 )
L a b e l9 = F o rm a t ( T o t, " # # 0 .0 0 " )
Com m andl | Com m and2 1
E nd S ub ?
N O TA : Instrucciones del Control LIST1, para que al seleccionar un elemento
La barra de desplazamiento vertical del control List se muestra en forma automática cuando no (destino), se visualicen los resultados.
se puede visualizar todos los elementos que contiene.
P r ív a te Sub L is tl_ C lic k ( ) '
D im N A s I n t e g e r
PASO N° 02: A signar las propiedades a los controles. D im D e s , T o t A s S i n g l e
Ud., está en condiciones de asignar las propiedades a los controles como se N = L i s t l . L is tln d e x
muestra en la aplicación a desarrollar. Los elementos se ingresan a la lista L a b e l 7 = F o r m a t( P R E C I O ( N ) , " # # 0 . 0 0 ”)
de la misma forma que en un Combo. Las cajas de texto deben estar en I f C h e c k l Then
blanco. D es = V a l( L a b e l7 ) * 10 / 100
L a b e l8 = F o r m a t(D e s , " # # 0 .0 0 " )
PASO N° 03: E sc rib ir las instrucciones de los controles. Else
L a b e l8 = 0
Definir la variable PRECIO de tipo Array para cinco elementos en la ventana End I f
de declaración del formulario (General - Declarations). T o t = V a l(L a b e l7 ) + V a l(L a b e l8 )
‘CINCO ELEMENTO (DE 0 A 4) L a b e l9 - F o r m a t( T o t, " # # 0 .0 0 " )
Dim PREClO(5) A s Single End Sub
FnrrnRiAr M e g a b y , e « S
wæÆ ï VISU A L BASIC como debe ser.. . CAPÍTULO V: Ingreso Personalizado de Datos
CALCULWiWSDÍAS DE FERTILIDAD SEGÚN ELMÉTODODELRITMO in s tru c c io n e s de lo s b o to n e s
•A S P R O B A B L E S E N C IC L O M E N S T R U A L R E G J L A R D E : ..............................
BOTÓN PERIODO MENSTRUAL REGULAR
NO FER TILID AD F E R T IL ID A D NO FER TILID AD
Prívate Sub Command2_Click()
2 3 /0 1 /0 0 2 9 /0 1 /OU 1 1 /0 2 /0 0
Dim fecha As String
2 4 /0 1 /0 0
2 5 /0 1 /0 0
3 0 /0 1 /0 0 1 2 /0 2 /0 0 Dim L, C, INICIO, FINAL, R, x As Integer
2 6 /0 1 /0 0
3 1 /0 1 /0 0
0 1 /0 2 /0 0
1 3 /0 2 /0 0
1 4 /0 2 /0 0 C = Val(InputBox(“Número de días más corto”,"DE LOS ULTIMOS 6 CICLOS MENSTRUALES"))
2 7 /0 1 /0 0
2 8 /0 1 /0 0
0 2 /0 2 /0 0
0 3 /0 2 /0 0 —
1 5 / 0 2 /0 0
1 6 /0 2 /0 0
L = Val(InputBox(“Número de días más largo “, “DE LOS ULTIMOS 6 CICLOS MENSTRUALES'))
0 4 /0 2 /0 0
0 5 /0 2 /0 0
1 7 /0 2 /0 0
1 0 /0 2 /0 0
INICIO = C - 18
0 6 /0 2 /0 0 JT J 1 9 /0 2 /0 0 FINAL = L - 11
MsgBox “El período fértil empieza a los “ & INICIO & “ días de la menstruación” & Chr(13) & “ y
FUENTE O B S T E T R IZ M at a lla n a H u rta d o - C o p . 7 5 9 7 S e i v icio d e C o n se je ría IN N P A R E S * C hiciayo termina después de “ & FINAL & “ dias de tu mestruación”, 64, “CUlDAIX V’
fecha=InputBox(“ingresa ek día de tu última menstruación”,’’MENSTRUACION IREGULAR”)
D IA S P R O B A B L E S D E F E R T I L I D A D E N
If Not IsDate(fecha) Then
MsgBox “HA INGRESADO UNA FECHA INCORRECTA ”, 16, “CUIDADO”
M e n s tr u a c ió n R é g u la i M e n s t r u a c i ó n li r é g u l a i
Else
If R = 6 Then
1 et. D í a d e M e n stru ac ió n : M a lte s , 0 4 d e E n e r o d e 2 0 0 0
P e ó o d o m a s c o ito : 2 6 d í a s y p e í io d o m a s largo: 31 d ía s Labell = “ 1er. Día de Menstruación: “ + Format(CDate(fecha), “Long Date”)
Labell = Labell & Chr(13) & “Periodo mas corto: “ & C & " días y
D IA S P R O B A B L E S E N C I C L O M E N S T R U A L I R E G U L A R D E . periodo mas largo: “ & L & “ días”
N O FER TILID A D F E R T IL ID A D N O FERTILID AD Frame2 = “DIAS PROBABLES EN CICLO MENSTRUAL IREGULAR DE: “
0 4 /0 1 /0 0
0 5 /0 1 /0 0
1112/0
/011/0
/000 2 5 / 0 1 /0 0 For x = 0 To INICIO - 2
0 6 /0 1 /0 0 1 3 /0 1 /0 0
2 6 / 0 1 /0 0
2 7 / 0 1 /0 0 Listl.Addltem (CDate(fecha) + x) ‘DIAS PROBABLES DE NO FERTILIDAD
0 7 /0 1 /0 0
0 8 /0 1 /0 0
1 4 /0 1 /0 0
1 5 /0 1 /0 0
2 8 / 0 1 /0 0
2 9 / 0 1 /0 0
Next x
0 9 /0 1 /0 0
10/01/00 1 6 /0 1 /0 0
1 7 /0 1 /0 0
3 0 / 0 1 /0 0 For x = INICIO - 1 To FINAL
3 1 / 0 1 /0 0
1 8 /0 1 /0 0 0 1 /0 2 /0 0 List2.AddItem (CDate(fecha) + x) ‘DIAS PROBABLES DE FERTILIDAD
1 9 /0 1 /0 0 02/02/00 Next x
For x = FINAL + 1 To 30
FUENTE O B S T E T R IZ : S u s a n a M a ta l a n a H u rla d o - C o p 7 5 9 7 S e iv ic io d e C o n se je ría IN N P A R E S - C N d a y o
List3.AddItem (CDate(fecha) + x) ‘DIAS PROBABLES DE FERTILIDAD
Next x
Para desarrollar esta aplicación, dibuje en un formulario 2 controles Frame, 2 boto End If
nes de comandos, 4 etiquetas y 3 ListBox. End If
End Sub
In te iva lo d e d e s p la z a m ie n to ,
y e lu e M in: M ax
A L IG M E N T B fó fu l r Wmp
Coloca el control UpDown a la derecha o izquierda del control con el que se
ha relacionado. T a s a d e d e s p la z a m ie n to
In c re m e n t j
O R IE N T A T IO N
Coloca el control en forma vertical o en forma horizontal ! ir'
O LEDROPM O DE
Devuelve o establece el modo en que un componente de destino realiza las | A ce p ta r j Cancetai' J Aphj. y | A y ix l .
248 G r u p o E d it o r ia l Megab
íM B á ? VISUAL BASIC como debe ser... > CAPÍTULO V: Ingreso Personalizado de Datos Í s S S Í Í P
Ejemplo: Si en la propiedad Mask Ud., escribe:
M A SK E D B O X
#### .- Permite ingresar cuatro dígitos.
##| ???? .- Permite ingresar cuatro letras.
##??## .- Permite ingresar dos dígitos, luego dos letras y
Este control permite ingresar y visualizar datos con un formato determinado. luego dos dígitos mas.
Si no le asignamos ningún formato de ingreso o visualización se comporta de ##/##/## o ##-##-## .- Facilita el ingreso de un fecha, pero
una manera similar al de una caja de textos. no controla si la fecha ingresada es correcta.
##:##.## .- Facilita el ingreso de las horas,minutos y
segundos, pero no controla si se ingresada correctamente.
PR IN C IPA L E S PR O PIE D A D E S D E L C O N T R O L M ASK ED BOX :
###,###.## .- Facilita el ingreso de cantidades utilizando
miles y dos decimales.
FORMAT >?<??????? .- Permite ingresar ocho letras, la primera la
Sirve para seleccionar el formado de visualización de los convierte a mayúscula y el resto en minúsculas.
datos. Estos datos pueden ser de tipo numérico, fecha, hora \<####\> .- Permite ingresar cuatro dígitos entre los signos
y texto. Por ejemplo: Formato monetario $#,##0.00; ($#,##0.00) mayor y menor.
Utiliza separador de miles; presenta los números negativos entre paréntesis. ##CAAAAA .- Permite ingresar dos dígitos, -un espacio (opcional)
Formato de porcentaje. 0% y luego cinco valores alfanuméricos (letras o números).
Multiplica el valor por 100 y agrega un signo de porcentaje.
Formato de fecha largo, dddddd NOTA:
Ejemplo: Domingo 13 de Junio de 1999 Para borrar dentro de un programa el contenido de este control, primero debe borrar lo que
Formato de fecha medio, dd-mrm-yy contiene en la propiedad Mask y luego se borra lo que contiene la propiedad Text.
Ejemplo: 13-Jun-99.
Formato de fecha corto, ddddd
Ejemplo: 13/06/99. MaskedBox 1.Mask =""
Formato de hora largo, tttt MaskedBox 1.Text=""
Ejemplo: 1:30:42 A.M.
Formato de hora medio. hh:mm AM/PM ALLOW PROM PT
Ejemplo: 1:30 A.M. Se utiliza para indicar el carácter de petición se puede considerar como un
Formato de hora corto. hh:mm ingreso válido.
Ejemplo: 1:30. PRO M PTCH A R
Se utiliza para indicar el carácter de petición de los datos. El carácter
MASK predeterminado es el subrayado (_), pero Ud., puede utilizar cualquier otro
Sirve para asignar un formado para ingresar datos. carácter.
Los caracteres más utilizados son:
# .- Indica que sólo se deben ingresar dígitos. M UY IM PO R T A N TE
? .- Indica que sólo se deben ingresar letras.
. .-Se utiliza para separar decimales. Si no desea visualizar ningún carácter de petición de datos, borre el carácter
, .- Se utiliza para separar miles. que se encuentra en la propiedad PromptChar y luego pulse la tecla ALT y
: .-Se utiliza para separar en las horas. el número 255.
/ .-Se utiliza para separar en las fechas.
En los cuatro caracteres anteriores verifique la configuración P R O M P T IN C L U D E
de su computadora (Configuración regional).
A .-- Indica que sólo se deben ingresar letras o números. Se utiliza para indicar si al referirnos al contenido de la propiedad Text se va
> .- Convierte las siguientes letras amayúsculas. a tomar en cuenta el carácter de petición.
< .- Convierte las siguientes letras aminúsculas.
C .- Indica que sólo debe aceptar espacios. NOTA:
\ .- Permite incluir cualquier carácter anterior dentro de ( uando se ingresa un valor incorrecto; es decir, no cumple el formato establecido, entonces
la máscara. se ejecutan las instrucciones del evento ValidationError.
O ption E x p l ic i t
Dim CAJA, HORAS, MINUTOS, SEGUNDOS As Byte
Dim FECHA As Date
S i G rupo E ditorial M e g a b y t e « *
CAPÍTULO V: Ingreso Personalizado de Datos
Instrucciones del Control UpDown2
Instrucciones del Procedimiento M U ESTRA TIEM PO
Al hacer click en la flecha hacia abajo disminuye las horas, los minutos o
S u b MUESTRATIEMPO () segundos, dependiendo de donde se encuentre el cursor. En form a
T e x t 2 = F o r m a t(H O R A S , " 0 0 " )
T e x t 4 = F o r m a t( M IN U T O S , " 0 0 " )
predetermina disminuyen los segundos.
T e x t 6 = Form a t(S E G U N D O S, " 0 0 " ) P r í v a t e S u b U p D o w n 2 _ D o w n C l i c k ()
End Sub S e l e c t C a s e CAJA
C ase 2
Instrucciones del evento Form_activate HORAS = HORAS - 1
I f HORAS = - 1 T h e n HORAS = 23
P r í v a t e S u b F o r m _ A c t i v a t e () C ase 4
T i m e r l . I n t e r v a l = 1000 'A c t i v a l a s i n s t r u c c i o n e s d e l T im er MINUTOS = MINUTOS - 1
CAJA = 6 'L o s s e g u n d o s d e m o d i f i c a n e n fo r m a p r e d e t e r m i n a d a I f MINUTOS = - 1 T h e n MINUTOS = 59
FECHA = D a t e C ase 6
SEGUNDOS = SEGUNDOS - 1
M a s k E d B o x l . T e x t = Format(FECHA, " d d / m m / y y y y " ) I f SEGUNDOS = - 1 T h e n SEGUNDOS = 5 9
M a sk E d B o x 2 . T e x t = "N" End S e l e c t
M a s k E d B o x 3 . T e x t = D a t e 'M u e s t r a l a F e c h a d e l S i s t e m a MUESTRATIEMPO
M a s k E d B o x 4 . T e x t = T im e 'M u e s t r a l a H ora d e l S i s t e m a End Sub
HORAS = H o u r ( T im e )
MINUTOS = M i n u t e ( T i m e ) Al hacer click en la flecha hacia arriba aumentan las horas, los minutos o
SEGUNDOS = S e c o n d ( T i m e ) segundos, dependiendo de donde se encuentre el cursor. En form a
MUESTRATIEMPO predetermina aumentan los segundos.
T e x t l = ""
P r í v a t e S u b U p D ow n2 _U p C lic k ()
T e x t7 = 1 S e l e c t C a s e CAJA
T e x t l . S etF o cu s C ase 2
End Sub HORAS = HORAS + 1
I f HORAS = 24 T h e n HORAS = 0
Instrucciones del Control Timer C ase 4
MINUTOS = MINUTOS + 1
'Muestra la hora del sistema I f MINUTOS = 6 0 T hen MINUTOS = 0
P r í v a t e S u b T i m e r l _ T i m e r () C ase 6
M a sk E d B o x 4 . T e x t = T im e SEGUNDOS = SEGUNDOS + 1
End Sub I f SEGUNDOS = 6 0 T h en SEGUNDOS = 0
E nd S e l e c t
Instrucciones del Control UpDownl MUESTRATIEMPO
End Sub
'A l h a c e r c l i c k e n l a f l e c h a h a c i a a b a j o d i s m i n u y e l a f e c h a .
P r í v a t e S u b U p D o w n l_ D o w n C lic k () Instrucciones del Botón Actualizar el Sistema (Fecha)
FECHA = C V D a t e ( M a s k E d B o x l . T e x t ) - 1 P r í v a t e S u b C o m m a n d l _ C l i c k ()
D a t e = C V D a t e ( M a s k E d B o x l .T e x t )
M a s k E d B o x l . T e x t = Format(FECHA, " d d / m m / y y y y " ) M a sk E d B o x 3 . T e x t = D a t e
E nd S u b End S u b
'A l h a c e r c l i c k e n l a f l e c h a h a c i a a r r i b a a u m e n ta l a f e c h a . Instrucciones del Botón Actualizar el Sistema (Hora)
P r í v a t e S u b U p D o w n l_ U p C lic k () P r í v a t e S u b C o m m a n d 2 _ C lic k ( )
FECHA = C V D a t e ( M a s k E d B o x l . T e x t ) + 1 HORAS = V a l ( T e x t 2 )
MINUTOS = V a l ( T e x t 4 )
M a s k E d B o x l . T e x t - Format(FECHA, " d d / m m / y y y y " ) SEGUNDOS = V a l ( T e x t 2)
E nd S u b Time = CVDate ( S t r (HORAS) +":"+Str (MINUTOS) +*: "+Str (SEGUNDOS))
M a sk E d B o x 4 . T e x t = T im e
E nd S u b
256 G ru po E d it o r ia l Megabyte
i y ,SY.VIL BA SIC como debe ser.
A P L IC A C IO N D E SA R R O L L A D A N° 38 Instrucciones del procedim iento Form _Activate
P r i v a t e S u b F o r m _ A c t iv a t e ()
Esta aplicación permite ingresar datos, pero tiene un botón que hace una Rem D a to s a v i s u a l i z a r e n l a d e m o s t r a c i ó n
demostración de cómo ingresarlos. NOMBRE = "OLGA UBILLUS D. "
EDAD = "25 ANOS"
DIRECCION = "A v. IMELDA LOPEZ 2 8 5 "
TELEFONO = "2 2 2 3 2 4 "
Nombre
r DATO = 1
Y = 0
E d ad
T e x tl = : T e x t 2 = "" : T e x t3 = "" : T e x t4 =
D irección
(Demostración C o m b o l. L i s t l n d e x = 0 : T e x t l . S e tF o c u s
T eléfoho End Sub
258 259 « ¡ g »
G r u p o E d it o r ia l Megabyte*
O
VISUAL BASIC como debe ser.. CAPÍTULO V: Ingreso Personalizado de Datos
A P L IC A C IO N D E SA R R O L L A D A N° 39
ARRASTRAR Y COLOCAR
Esta aplicación consiste en el juego “TRES EN RAYA” para lo cual se
Para que usted pueda desarrollar programas donde se permita Arrastrar y utiliza el proceso de Arrastrar y Colocar.
Colocar Objetos, primero debe saber siguiente:
yjS*í
EVENTO DRAGDROP
Es un evento cuyas instrucciones que contiene se ejecutan cuando se termina
el proceso de Arrastrar y Colocar. ü? r ■***«
Recibe normalmente tres valores en las siguientes variables:
SOURCE: Es una variable que representa al control que se esta arrastrando. r~m r fe
Puede utilizar esta variable para asignar valores a las propiedades de dicho ix : r p ^
control.
j & l í i x a Muela
X: Es una variable que representa la posición Horizontal del puntero del mouse.
Y: Es una variable que representa la posición Vertical del puntero del mouse. ■■ ... ..... .
p B t m & x W 0 1 corneto
Si trabajamos con array de controles también devuelve un valor en la variable
INDEX que representa al N° del control del array que se está utilizando.
EVENTO DRAGOVER PASO N° 1: Dibujar los controles.
Es un evento cuyas instrucciones que contiene se ejecutan cuando el proceso
de Arrastrar y Colocar se esta realizando. Picturel Picture2 Array de Pictureó Picture3 Picture4
Recibe los mismos valores que el evento DragDrop, pero además: (de0a8)
STATE: Es una variable que representa cuál es la situación del control que mm
se esta arrastrando en el control de destino. Devuelve los valores 1, 2 ó 3.
0 : El control que se está arrastrando entra al control destino.
1 : El control que se está arrastrando sale del control destino.
2: El control que se está arrastrando se ha movido sobre el control destino. Hcture5 ■ -Picture7
La be ll Labe(2
PROPIEDAD DRAGM ODE
Cuando un control tiene esta propiedad se utiliza para indicar cómo se debe Label3 LabeM
262 G r u p o E d it o r ia l Megabyte
à I Ì VISUAL BASIC como debe ser...
264 G r u p o E d it o r ia l Megabyte
BASIC como debe ser.. .
PREGUNTAS DE REPASO N° 06
1. ¿Cómo quita un formulario de sus aplicación?
2. ¿Qué debe hacer si desea evitar que se muestre la ventana de diálogo
cada vez que agrega un formulario a su aplicación?
3. ¿Se puede grabar dos formularios con el mismo nombre?
CAPITULO VI
4. ¿Cuáles son los pasos para agregar la calculadora de Visual Basic a una Aqirfior Inrmulino
aplicación? N u o to I E ü is te n ltí I
5. ¿Es obligatorio ocultar un formulario para visualizar otro durante la
ejecución de una aplicación?
6. ¿Se puede agregar a una aplicación un formulario que en su propiedad E M t M M t V B D a ta / W fitfin t About L o g In O p t io n s S p la s h T ip O f
RIOS
MANEJO DE VARIOS FORMULARIOS
r- ——
Cada vez que ingresa al Visual Basic, muestra una aplicación que tiene en
forma predeterminada un formulario (Form l). Pero puede agregar más
formularios.
a ¿V ¿V Q D Q D Q.
2 2 2 2 3 8 1 VB D a t a A s is te n t A bout L og In O p tio n s S p la s h Tip Of
F o rm e p a r a D ialog D ialog D ialog S c re e n T he D ay
W iz a rd fo rm u la n
os de
d a t o s ...
O O O O O Q O CJ '
A ddiri ODBC B ro w s e r D a ta G rid Q u e ry s A c e rc a Inicio d e O p c io ... f
L og In de s e s ió n
Abtir
Cancelar |
Ayyda | >
N o£nt> f© d « p r o y e c t o :
j P ro y e c to 1 Id . d e c o n te x to ,
' CD d e la A y u d a d e l
h o m b re d e l a rc h iv o d e A y u d a : p ro y e c to :
C3 F o rm l (F o r m i)
i----------------------------------------- n¡— '—
a F o rm 2 (F o r m 2 ) d e s c rip c ió n d e l p r o y e c to :
a F o rm 3 (F o r m 3 ) I-----------------------------------------------------------------
a Fo rrn 4 (F o r m 4 ) r~
A c tu a liz a r c o n t r o l e s A c tiv e X C
r I 3
Haga click en el signo más (+) si no se visualizan los formularios.
A c e p ta r } C a n c e l a r __ | A yuda
M U Y IM PO R TA N TE A P L IC A C IO N D E SA R R O L L A D A N H40
Esta aplicación es un ejemplo de cómo se manejan varios formulario en una
Si desea referirse a la propiedad de un control que se encuentra en aplicación.
otro formulario, debe utiliza el signo de admiración:
PASO N° 01
Nombre del Form ulario!Control. Propiedad = Valor
Agregue y dibuje los formularios siguientes:
Ejemplo:
La siguiente instrucción m uestra en la etiqueta N° 2 del form ulario
Form3 la palabra HOLA. Esto se puede realizar desde cualquier fo r FO R M I FO RM 2
IN G R ES O LE DA
mulario.
Centro de Estudios
LOAD :
Permite cargar un formulario en la memoria, pero no lo visualiza. Para tener FO RM 3 FO RM 4
acceso a los controles y propiedades de un formulario, éste debe estar car
gado en memoria. INGRESO DE D A TO S: * Nombre J[~
LOAD Nombre del Formulario
DATOS EERSONALES | Dirección f“
UNLOAD :
Permite descargar (cierra) un formulario de la memoria independientemen DATOS ACADEMICOS j Teléfono |~
PASO N° 02
INSTRUCCIONES DEL FORM3
INSTRUCCIONES DEL FORM1 Las instrucciones del Commandl (Datos Personales) oculta el Form3 (Menú
Las instrucciones del Commandl (OK) permiten ocultar el formulario N° 1 Principal) y visualiza el Form4 (Ingreso de datos Personales).
P r í v a t e Sub C o m m a n d ita i c k ( )
y visualizar el formulario N° 2 . F o rm 3 .H íd e
P r í v a t e S u b C o m m a n d l _ C l i c k () F o rm 4 . Show
F o r m l. H íd e End Sub
F orm 2. Show
Las instrucciones del Command2 (Datos Académicos) oculta ei Form3
End Sub
(Menú Principal) y visualiza el Form5 (Ingreso de datos Académicos).
Las instrucciones del Command2 (Cancelar) permiten finalizar la aplicación. P r i v a t e Su b C o m m a n d 2 _ C lick()
F orm 3. H íd e
P r í v a t e S u b C o m m and 2_ _C lick ()
F orm 5. Show
D ím R A s I n t e g e r
R = M sg B o x("E sta s e g u r o " , 36, "C u id a d o ") End Sub
I f R = 6 Then End Las instrucciones del Command3 (Datos Familiares) oculta el Form3 (Menú
End Sub Principal) y visualiza el Formó (Ingreso de datos Personales).
P r í v a t e S u b C o m m a n d 3 _ C l i c k ()
INSTRUCCIONES DEL FORM2 F orm 3. H íd e
Las instrucciones del C om m andl (OK) verifica que se ha ingresado F o rm 6 . Show
correctamente el nombre del usuario y su password. El nombre del usuario End Sub
es JUAN JOSE y su password VISUAL. Las instrucciones del Command4 (Salir) permiten finalizar la aplicación.
La caja dE textos N° 2 (Text2) debe tener en la propiedad Passwordchar el P r í v a t e S u b C o m m a n d 4 _ C l i c k ()
asterisco (*) para que no se vea el password cuando es ingresado. R = M sgB ox( "E sta s e g u r o " , 36, "C u id a d o ")
I f R = 6 Then End
P r í v a t e S u b C o m m a n d l_ C lic k ( ) End Sub
I f U C a s e ( T r i m ( T e x t l ) ) = "JUAN JOSE" A n d UCase ( T r i m ( T e x t 2 ) )
= "VISUAL" Then INSTRUCCIONES DEL FORM4
F o r m 2 .H íd e Instrucciones del botón Nuevo.
F o rm 3 . Show ^ P r í v a t e S u b C o m m a n d l _ C l i c k ()
El se T e x tl _ » »
M sgBox "DATOS INCORRECTOS", 1 6 , "ACCESO DENEGADO"
T e x t 2 _ n»
T e x t l = "" T e x t 3 _ il n
T e x t 2 = "" T e x t4 = " "
T e x t l . S etF o cu s T e x t5 = " "
E nd I f T e x tl S e tF o c u s
End S u b End Sub
Las instrucciones del Command2 (Cancelar) permiten finalizar la aplicación.
Instrucciones del botón Salir.
P r í v a t e S u b C o m m a n d 2 _ C lic k () P r í v a t e S u b C o m m a n d 2 _ C l i c k ()
Dim R A s I n t e g e r F orm 4. H íd e
R = M sgB ox( "E sta s e g u r o " , 36, "C u id a d o ") F o rm 3 . Show
I f R = 6 T h e n End End Sub
275
w X ÉÍfo VISUAL BASIC como debe ser.. CAPÍTULO VI: Manejo de Varios Formularios
INSTRUCCIONES DEL FORM5 T IPO S D E FO R M U L A R IO S
Instrucciones del botón Nuevo. Formulario Modal:
P r í v a t e S u b C o m m a n d l _ C l í c k () Consiste en un formulario que NO permite continuar ejecutando la aplicación
T e x tl = o pasar a otro formulario sin que se cierre correctamente. Para mostrar un
T e x t2 = formulario y que funcione de tipo Modal sólo debe escribir del método Show
T e x t3 = el número 1 o la palabra vbModal. Ejempo: FormS.Show 1
T e x té = Formulario No Modal
T e x t5 = Consiste en un formulario que SI permite continuar con la ejecución de la
T e x t l . S e tF o c u s aplicación o pasar a otro formulario sin necesidad que el formulario se cierre.
End Sub Para mostrar un formulario y que funcione de tipo No Modal se debe escribir
del método Show sin ningún parámetro. Ejempo: Form3.Show
Instrucciones del botón Salir.
P r í v a t e S u b C o m m a n d 2 _ C lic k ()
TIPO D E IN T ER FA Z
F o r m 5 .H i d e
F o rm 3 . Show SDI (Interfaz de Documentos Simples)
End Sub Permiten crear aplicaciones con los formularios estándar o normales como
los utilizados en los ejemplos anteriores.
INSTRUCCIONES DEL FORMÓ MDI (Interfaz de Documentos Múltiples)
Instrucciones del botón Nuevo. Permiten crear aplicaciones que mantienen varios formularios (secundarios)
P r i v a t e S u b C o m m a n d l _ C l i c k () dentro de un formulario principal llamado MDI. Los MDI sólo aceptan
T e x t l = "" controles que tengan la propiedad Align como StatusBar, ToolBar y Picture
T e x t 2 = "" (puede dibujar otros sobre este control) o aquellos que no se visualicen al
T e x t 3 = "" momento de ejecutarse el formulario como el control Timer.
T e x t 4 = "" DESARROLLAR UNA APLICACIÓN CON UN FORMULARIO MDI
T e x t l . S e tF o c u s Para desarrollar la aplicación anterior con formularios MDI y secundarios
E nd Sub siga los siguientes pasos:
Elija la opción Proyecto y luego Agregar Formulario MDI. En este formulario
Instrucciones del botón Salir. MDI diseñe el Menú Principal y al resto de formularios asígneles en su
P r í v a t e S u b C o m m a n d 2 _ C lic k () propiedad MDIChild el valor TRUE.
F o r m ó . H id e
F o rm 3 . Show P R O C E D IM IE N T O M A IN
End Sub Si desea que su aplicación ejecute primero un procedimiento, entonces en la
opción Proyecto/Propiedades del Proyecto/Objeto Inicial, elija Sub Main. El
¿Qué instrucciones debe tener el botón OK si se quiere desarrollar la aplicac. procedimiento Sub Main lo debe crear en un módulo. Por ejemplo, en la aplicación
anterior con botones de opciones? anterior agregue un módulo y un formulario (Form7) y diseñe en él una pantalla
f . _ |□ | x | de presentación la cual se visualizará por 3 segundos antes de mostrar el formulario
N° 1 (Bienvenida). En este formulario debe dibujar un control Timer.
In g ie r o d e D ato .-
Instrucciones del Timer Instrucciones del procedimiento Main
(• .D a to s P e rs o n a le s Prívate Sub Timerl_Timer() Prívate Sub Main ()
C' D a to s A c a d é m ic o s £ n Form7.Show
Timer 1. Inten’al = 0 Fonn 7¡Timer. Interval = 3000
D a to s F am ilia re s
Forml.Show End Suh
r Sa lir End Sub
OK |
IMPORTANTE: Cada aplicación Sólo acepta un formulario MDI y los formularios
secundarios no se pueden llamar de tipo Modal.
276 G r u p o E d it o r ia l Megabyte < I p f i^ G r u p o E d it o r ia l Megabyte 277 « 9
VISUAL BASIC como debe ser.. . CAPÍTULO VI: Manejo de Varios Formularios
APLICACION DESARROLLADA N° 41 Los botones MODIFICAR y ELIMINAR sólo se deben activarse cuando
el usuario selecciona un registro.
Desarrolle una aplicación que permita manejar y compartir información de
El botón ADICIONAR debe permitir regresar al formulario N° 1 para seguir
tres formularios. adicionando registros.
El primer formulario debe permitir el ingreso o adición de registros como se El botón VER ESTADISTICA debe permitir pasar al siguiente formulario
muestra en la figura siguiente:
(N° 3) para visualizar una estadística de los registros que se van adicionando.
o
El botón MODIFICAR debe llevar los datos del registro seleccionado al
NOMBRE
formularios N° 1 y eliminarlo del formulario actual para poder modificarlos y
EDAD
si después de modificarlo se hace un click en el botón adicionar se vuelve a
adicionar el registro, con los datos ya modificados.
D IS T R IT O A D IC IO N A R El botón ELIMINAR debe permitir eliminar el registro que el usuario a
V E R R E G IS T R O S
seleccionado. Antes de eliminar el registro se debe pedir una confirmación.
S E X O ( M /F )
S A L IR
El formulario N° 3 debe mostrar la estadística de los registros adicionales como se
muestra en la siguiente figura.
El ingreso de datos debe tener las siguientes características:
1. El nombre, distrito y sexo se deben convertir autom áticam ente a - E S T A D IS T IC A D E L O S R E G IS T R O S IN G R E S A D O S M C T E 3
- Ini xj
NOMBRE D IS T R IT O SEXO
:^ 12 LAM BAYEQUE M -
El botón VER REGISTROS de mostrar el formulario N° 2 para visualizar
JU A N
RO DO LFO 56 C H IC L A Y O M los registros adicionados.
M A R IA 23 REQUE F
L U IS 22 M ONSEFU M
K A R IN A 14 FERREÑAFE F El botón ADICIONAR debe mostrar el formularios N° 1 para poder ingresar
90 C H IC L A Y O M
LU K Y
A D R IA N A 1 O LM O S F jd
nuevos registros.
A D IC IO N A R V E R E S T A D IS T IC A M O D IF IC A R E L IM IN A R
uno de ellos le debe dibujar sus controles y propiedades. Así: Label2 • Labell O
Labell 1
FORMULARIO N 2 01 Commandl
Labe)4 Labell 2
Command2
Label5 Labell 3
L a b e ll
LabelS Labell 4
Labell 7
L abel3 ]T e x t3 G om m andl
End Sub
SUB v e r i f i c a |
▼
s j l LI ± r
Y luego pulse la tecla ENTER para crear el procedimiento a nivel de
form ulario llamado VERIFICA:
j(General) |VERIFICA
d
AL formulario, etiquetas y botones de comandos asígneles su propiedad Private Sub Form L o a d () —
G r u p o E d it o r ia l Megabyte 283
282 G r u p o E d it o r ia l Megabyte<
|¡ l l l lÉ I > VISUAL BASIC como debe ser... CAPÍTULO VI: Manejo de Varios Formularios
Instrucciones del evento Keypress de TEXT2. Instrucciones de los controles del FORM ULARIO N° 2.
P r iv a te Sub T ext2 _ K eyP ress(K eyA scii As In te g e r ) Definir la variable NUM de tipo entero a nivel del formulario. Esto se hace
Dim TECLA A s S t r i n g * 1 en el Objeto GENERAL y el Evento DECLARATIONS. D im N U M As
TECLA = C h r ( K e y A s c i i )
I f (TECLA < "0" Or TECLA > "9") A n d K e y A s c i i <> 8 Then
Integer
K e y A sc ii = 0
End I f
(General) -r (Declarations)
End S u b
Dira MUM As Integer
Las instrucciones de la caja de textos N° 3 son similares a las de la caja de
textos N° 1. < 11
Instrucciones del evento Keypress de TEXT3. Crear un nuevo procedim iento llamado SELECCIONA, que permite
P r ív a te Sub T e x t3 _ K e y P r e s s (K e y A s c ii As I n te g e r ) seleccionar todo el registro cuando el usuario hace click en cualquiera de las
' S I SE INGRESA EN MINUSCULAS LO CONVIERTE A MAYUSCULAS listas además permite activar los botones de comandos Command3 y
I f K e y A s c i i >= 9 7 A n d K e y A s c i i <= 1 2 2 T h e n Command4.
K e y A s c i i = K e y A s c i i - 32 Para ello en cualquier parte libre de la ventana de código escriba: SUB
End I f SELEC C IO N A y luego pulse la tecla EN TE R .
End Sub
1 tW P r o i e c l l - F o rm 3 (C o d e )
Las instrucciones de la caja de texto N° 4. ¡F o r m [L o a d
Permiten aceptar sólo las letras F o M y si se ingresan en minúsculas se P riv a te Sub C o rra n e in c i2 _ C 1 i c k ( ) “¡H
F o r m l. Show — ^
deben convertir a mayúsculas. F o rrn 3 . H ic ie
End Sub
Primero se pregunta si el valor ASCII del carácter pulsado es 102 ó 109 que
corresponden a las letras <f> o <m> en minúsculas. Si la respuesta es P r iv a te Sub F o rm A c t í v a t e ()
verdad se le resta 32 y si el valor ASCII es diferente de 70, 77 y 8 que
End Sub
corresponden a las letras <F>, <M> en mayúsculas y a la tecla de Retroceso
(BackSpace <-), el carácter es ignorado, es decir no se visualiza, porque le
asignamos el valor cero (0) a la variable Keyascii.
y SUB
m 11 i
S E L E C C IO N A
►n
.
SISTEMA
DISEÑO
DE
MENÚ
C A P IT U L O V II: D iseñ o de M e n ú
D IS E Ñ O D E M E N Ú
Para activar el editor de menú puede seguir uno de los siguientes pasos:
1. De la barra de menú elegir la opción Tools (Herramientas) y luego Menú
Editor.
2. Presionar las tecla <CRTL> + E.
3. Hacer un click en el botón de Diseño de Menú.
CAPTION
Permite escribir la opción que deseamos visualizar en el menú.
Puede usar el & para subrayar una letra de una opción.
ÑAM E
Permite asignarle un nombre a cada opción. Es obligatorio que toda opción
tenga un nombre. Este nombre debe ser único, es decir, no deben, existir dos
opciones con el mismo nombre y además los nombres no pueden tener
espacios en blanco.
INDEX
Se utiliza en caso que queremos usar un array de opciones.
SHORTCUT
Permite asignar teclas de acceso rápido a cada opción. No puede usarse
para las opciones principales.
CHECKED
Sirve para indicar con un aspa si una opción está activa.
I p f l^ G r u p o E d it o r ia l Megabyte 295 a »
V4s?0¡k ', VISUAL BASIC como debe ser. CAPITULO VII: Diseño de Menú
W IN D O W L IST
Permite especificar si un menú mantiene una lista de las ventanas abiertas
usando un aspa a la izquierda del elemento de la lista que representa la
ventana activa.
FL E C H A IZQ U IER D A
Permite mover una opción más a la izquierda dentro del menú con la finali
dad que se ubique en un nivel más alto.
FL E C H A D ER EC H A
Mueve una opción más a la derecha con la finalidad que sea una subopción
de la que se encuentra en la parte superior. Las opciones principales deben
IN G R E S O
estar bien a la izquierda y las subopciones más a la derecha según el nivel
que le corresponde.
.
FL E C H A ARRIBA . . permjte mover una opción hacia arriba.
F L E C H A A B A JO : Permite mover una opción hacia abajo.
NEX T (Siguiente) : Permite ir a la opción siguiente.
IN SER T (In sertar) : Permite insertar una nueva opción.
D E L E T E (Elim inar) : Permite borrar una nueva opción.
NOTA
Para crear una línea de separación entre grupos de opciones, escriba
sólo un guión en el CAPTION y especificar cualquier nombre en ÑAME.
NO TA:
La aplicación desarrollada anterior puede tener también un menú de opcio Cada opción se considera un botón de comandos, esto quiere decir
nes. Por ejemplo en el formulario N° 03 se puede escribir el menú siguiente que Ud. puede escribir instrucciones dentro de cada una de ellas, las
menu. cuales se ejecutan cuando el usuario elige dicha opción.
C a Q tio n : ] S JN G R E S O
N am e: j IN G R E S O | C ancel
Las instrucciones de cada opción en esta aplicación son las mismas de los
In d e & : |~ Shortcut: [(None) 3 botones de comandos del formulario N° 03 de la aplicación N° 30.
H e lp C o n te x tID : jo NegotiatePosition: Jo - N one T 1
fP Risible f W in d o W L is t
Si no desea ocultar el formulario del menú principal cuando se llame a un
r~ C hecked í*7 E n a b le d
formulario, no escriba la instrucción FORM3.HIDE
Next 1 insert j D e le te I
1 le J p C o n t e x t lD M é l p ¿ íle : |
jd
Se utiliza para indicar si el tamaño de los botones de la barra de herramientas
1"
D u tt o n tJ o ig h t. J2 6 4 \H r ? A l lo w C u s t a t r iiz e W W ro p p a b le
depende del tamaño del formulario.
B u tto n W id t h : j ? 8 8 .0 0 S h o w T ip s Fs E n a b le d ENABLED
Permite activar o desactivar la barra de herramientas.
A c e p te « ¡ C a n c e la r Ayude
L
(99-ccCustom). La selección del gráfico los puede hacer en la página Imagen ¥«>lue [o tb r U n p r e s s e d ' ~^|
como se verá más adelante. SM ® jo tb rO e fe u lt V^idth ( P la c e h o ld e r ) |
IMAGELIST lag |
Se utiliza para seleccionar el control ImageList desde donde queremos T o o lT t p T e g t J~ 11
F? V is ib le & fc n e b le d f~ h jix e d S t a ie
Ud., debe dibujar primero el control ImageList en el formulario y asignar los
gráficos antes de comenzar a darle las propiedades al control ToolsBar
(Capitulo IV).
BORDERSTYLE INDEX
Selecciona el estilo del borde de la barra de herramientas. Visualiza o selecciona cualquiera de los paneles creados en la barra de
APPEARANCE estado. También sirve para identificar a cada uno de los botones.
Selecciona la apariencia de la barra de herramientas. CAPTION
OLEDROPM ODE Permite escribir un texto el cual se va a visualizar en el botón de la barra de
Establece el modo en que un componente de destino realiza las operaciones herramientas.
de colocación. KEY
HELPCONTEXTID Permite asignar uno o más caracteres que van a identificar a cada panel.
Permite indicar un número de contexto asociado a un objeto. Se utiliza para No acepta números.
proporciona Ayuda interactiva para la aplicación. STYLE
BUTTONHEIGHT Permite seleccionar estilo de cada botón.
Permite indicar la altura de los botones.
P R O D U C TO S C L IE N T E S V E N TA S U T IL IT A R IO S S A L IR
Nuevos Usuarios
M W\ a
Calculadora Borrar Usuarios
Actualizar la Fecha y Hora Cambiar Clave
BIENVE Copia de Seguridad
D.Û.S.
BIENVENIDOS
AL AL
SISTEMA S I S T ERealizar
M I Qrl+R
------------- Consultar Ventas ►
Presupuestos
Registro de Ventas
2 9 /0 5 /9 9 C h ic la y o - P e r ú \ ' I 6 :4 4 A M
f\ 29/05/99 C h ic la y o - P e rú Í> 1
...... »
3:1 4 A M
USUARIO PASSWORD
Esto permite agregar Sub Opciones a cualquier botón de la Barra de JULIO XYZ
Herramientas, como por ejemplo: PEDRO ABCD
ANA 1234
(General) (Declaraciones)
¡aa
Public US As String
USUARIO
CLAVE
Instrucciones del procedimiento Form_Activate del Formulario N° 01,
OK CANCELAR para que al activarse este formulario que contiene el menú, se asignen las
restricciones de acuerdo al usuario que se ingresó en el formulario N° 02.
P r i v a t e S u b F o r m _ A c t i v a t e ()
S e l e c t C a s e US
NOTA; C a s e "JU L IO "
Para llenar un formulario con puntos se debe utilizar la instrucción PSET, Rem NO TIE N E NINGUNA R E ST R IC C IÓ N
cuya sintaxis es: C a s e "PEDRO"
N om brejC ontrol.P set (x,y), (color) A c tu a l i z a r _ P r e c i o s . E n a b le d = F a ls e
Donde X, Y son las coordenadas del control donde desea escribir el punto y C u e n ta _ C o r r ie n te . E n a b le d = F a ls e
U s u a r io s .V is ib le = F a lse
COLOR, es un valor que indica el color del punto, puede utilizar la función C a s e "ANA"
RGB o QBCOLOR. M a n te m ie n to .E n a b le d = F a ls e
Si no se especifica el nombre del control, el punto se dibuja en el formulario I n t e r n e t . E n a b le d = F a ls e
activo. V e n ta s . V is ib le = F a lse
Las propiedades DrawWidth se utiliza para indicar el grosor del punto. End S e l e c t
End Sub
Por ejemplo, las siguientes instrucciones muestran un punto de color celeste
en el formulario activo. NOTA:
D raw W idth - 0 No olvide de utilizar el nombre correcto que asignó en la propiedad ÑAME a cada opción.
P s e t (2 0 0 0 ,6 0 0 0 ), Q b c o lo r (11) Cuando grabe el módulo creado obtiene la extensión *.BAS.
PASO N° 02: Asignar las propiedades a los controles INSTRUCCIONES DEL FORM ULARIO N° 02
Instrucciones del Procedimiento Form_Activate.
Al formulario N° 02, a las etiquetas y botones de comandos asígneles la P r í v a t e S u b F o r m _ _ A c t i v a t e ()
propiedad Caption como se indica. T e x t l = ”"
El formulario N° 03 debe tener el valor FALSE en sus propiedades ControlBox T e x t 2 = ""
y ShowinTaskbar y en su propiedad WindowState el valor 2 (Maximizado). T e x t l . S e tF o c u s
End Sub
IMPORTANTE
Configure el Visual Basic de tal manera que ejecute primero el formulario N° 02.
Dentro de cada hoja se deben dibujar las etiquetas, cajas de texto y botones
de comandos correspondiente. Microsoft Visual Basic A las opciones principales
no se les puede asignar
Nose puede colocar aquí una marcade verificación Checked, entonces
fid isi JSL5I
desactive esta casilla a la
Labell INGRESO DE DATOS
opción que Visual Basic tie
PERSÖHÄL|s|T ACADEMICOS J FAMILIARES Aceptar ; Ayuda ne seleccionada.
Nombre
Dirección
Microsoft Visual Basic Pulsó dos o más veces la fle
Teléfono cha a la derecha saltando
Fecha de Nac.
O El elem ento de m enú ha saltado un nivel uno o más niveles. Pulse la
Sexo flecha a la izquierda en la
NUEVO SALIR
opción seleccionada para
A c e p ta r J j | A yu d a corregir este error.
Especialidad p
N! de hermanos [""
Gclo | Microsoft Visual Basic C Escribió dos opciones con el
Lugar de Origen |~
Turno | mismo nombre (Ñame).
Aula | ” Tipo deVivienda | El elemento de la matriz de controles de menú debe tener un índice Dos opciones pueden tener
0 el mismo Caption, pero noel
NUEVO | SALIR [ NUEVO [ SALIR [
mismo nombre.
i Aceptar j Ayuda
PREGUNTAS DE REPASO N° 07
P u * r t D E la in
L â rfi b r a q u a
3
-*•
S
Up
3
control SSTAB?
MANEJO
La C REATIVID AD es m uy importante, form úlese nuevas
aplicaciones o intercambie aplicaciones propuestas entre sus
compañeros de estudio y desarróllelas con la fin alidad de
DE
enriquecer sus conocimientos.
ARCHIVOS
312 G r u p o E d it o r ia l Megabyte ^ |§ |¡ |j j i
W
> CAPÍTULO VIII: Manejo de Archivos < € ¡8 ¡1 ^
DRTVELISTBOX
O
j— i c: [CETDI]
D IR LIST BO X
Q l Archivos de programa —
: \i DevStudio
FILELISTBO X
ADDSCCES.DLL
AD D SC CU S.D LL !
aplicación sueldo neto, ene
aplicación sueldo neto.vbp H
G r u p o E d it o r ia l Megabyte 315
VISUAL BASIC como debe ser... CAPITULO VIII: Manejo de Archivos
Las principales propiedades del control FileListBox son: A P L IC A C IO N D E SA R R O L L A D A N° 45
ARCHIVE
Para indicar si muestra los archivos con atributo de modificado. La siguiente aplicación muestra las carpetas de la unidad selecciona y los
FTLENAME archivos de la carpeta que se selecciona, además permite establecer el tipo
Obtiene el nombre del archivo seleccionado. de archivos a visualizar (ingresando la extensión) y cuando se muestran
fflDDEN archivos *.EXE, los podemos ejecutar.
Para indicar si muestra los archivos ocultos.
NORMAL
Para indicar si muestra los archivos con atributo de normal.
PATH U N ID A D C A R P ETA A R C H IV O
le : [CETDI]
_ J C :\ ADDSCCES.DLL
â
Archivos de prograr- ADDSCCUS.DLL
aplicación sueldo neto.exe
aplicación sueldo neto.vbp
aplicación sueldo neto.vbw I
Para desarrollar esta aplicación sólo se debe programaren el evento Change de los
controles DriveListBox y DirListBox.
G r u p o E d it o r ia l Megabyte 317 w m
VISUAL BASIC como debe ser. CAPÍTULO VIII: Manejo de Archivos
C O N M O N D IA L O G
PASO N° 03: ESCRIBIRLAS INSTRUCCIONES PARALOS CONTROLES.
N o h a y fu e n te s in s ta la d a s . P R O P IE D A D E S PA R A E L C U A D R O A B R IR Y G U A R D A R
P a ra in sta la rla s, a b r a la c a r p e t a F u e n t e s e n el P a n e l d e co n tro l.
DEFAULTEXT
Indica la extensión predeterminada de los archivos.
KILENAME
También puede asignar a la propiedad Flags, entre otros, los siguientes valores: Obtiene el nombre del archivo seleccionado.
FILTER
&H200 Activa el botón Aplicar en el cuadro de diálogo. I establece los filtros para los tipos de archivos a visualizar.
&H 100 Especifica que el cuadro de diálogo permite los efectos de tachado, La sintaxis apara establecer un filtro es:
subrayado y color. Filter = descripciónl \filtrol \descripción2 \filtro2...
&H2000 Especifica que el cuadro de diálogo selecciona sólo tamaños de Para separar cada descripción y filtro debe utilizar el carácter N° 124 (|).
fuente dentro del intervalo especificado por las propiedades Min y Ejemplo, las instrucciones:
Max.
NOTA: C'onimonDialogl.Fílter = “Documentos(*.Doc)|*.Doc|Gráficos(*.Bmp)|*.Bmp|Todos|*.*”
Utilice el operador OR para asignar dos valores a la propiedad Flags, por CommonDialogl.ShowOpen
ejemplo, se puede escribir en un botón de comandos:
Com monD ialogl.Flags = &H2 Or &H100 Muestran la siguiente ventana de Abrir:
C om m onD ialogl. ShowFont Abrir 1
Buscar en | _ j| Vfb zJ £ j f t j f ü ü j
CO LO R
_ j Clisvr _ J samples L_j Winapi
Obtiene el color seleccionado para la letra. _ ] Graphics _ J Setup _ j Wizards
FO NTBO LD _ J Help __1setupkit
Obtiene el nombre del tipo de letra seleccionada. Sino especifica la propiedad Filter, el combo de Archivos de Tipo se muestra
FONTSIZE en blanco, permitiendo ver todos los archivos.
Obtiene el tamaño de letra seleccionada.
PASO N° 03: ESCRIBIR LAS INSTRUCCIONES PARA LOS CONTROLES. USO DE LA IM PRESO R A
Instrucciones del botón FUENTE Para manejar la impresora dentro de un programa se debe utilizar el objeto PRINTER.
Prívate Sub Commandl_Click() PRINCIPALES PROPIEDADES DELOBJETO PRINTER:
CommonDialogl.FontName = "ARIAL" ‘Tipo de letra predeterminada COLORMODE
CommonDialogl.Flags = &H3 Or &H100 Se utiliza sólo para impresoras a color para indicar si va a imprimir en color o negro (escala de
CommonDialog 1.ShowFont grises). Si le asigna el valor uno (1) imprimir en negro y dos (2) imprime en color.
Labell. FontName = CommonDialogl .FontName COPIES
Indica el número de copias a imprimir.
Labell .FontSize = CommonDialogl .FontSize CURRENTX
Labell. Fontltalic = CommonDialogl .Fontltalic Establece la posición Horizontal donde deseamos imprimir.
Labell. FontUnderline = CommonDialogl.FontUnderline CURRENTY
Labell.ForeColor = CommonDialogl .Color Establece la posición Vertical donde deseamos imprimir.
End Sub
DEVTCENAME
Obtiene el nombre del dispositivo.
DRIYERNAME
Instrucciones del botón GRÁFICO Obtiene el nombre del controlador.
Prívate Sub Command2_Click() FONTBOLD
CommonDialogl.Filter = "WMF\*.wmf\ICO\*.ico\BMP\*.bmp\Todos\*. *" Permite indicar si se imprime en negrita.
CommonDialogl. ShowOpen PONTITALIC
Permite indicar si se imprime en cursiva.
Picturel.Picture - LoadPicture(CommonDialogl.filename) FONTSTTRIKErHRU
End Sub Permite indicar si se imprime con letras tachadas.
FONTUNDERLINE
Instrucciones del botón FONDO Permite indicar si se imprime con subrayado.
Prívate Sub Command3_Click()
FONTNAME
Permite establecer el tipo de letra para la impresión.
CommonDialogl.Flags - &H2 FONTSIZE
CommonDialogl.ShowColor Permite establecer el tamaño de letra para la impresión.
Picturel.BackColor - CommonDialogl.Color HEJGHT
Labell. BackColor = CommonDialogl .Color Para indicar la altura del papel donde desea imprimir.
End Sub
WIDTH
Para indicar el ancho del papel donde desea imprimir
ORIENTARON
Instrucciones del botón LETRAS Permite establecer si se imprime en forma horizontal o vertical. Asignándole el valor
Prívate Sub Command4_Click() I se imprime vertical y 0 Horizontal.
CommonDialogl .Flags - &H2 PAGE
CommonDialogl.ShowColor
Devuelve el número de la página que se esta imprimiendo.
PAPERBPM
Labell.ForeColor = CommonDialogl.Color Establece la forma de introducir el papel a la impresora. Los principales valores que
End Sub puede tener son:
1 Utilizar papel de la bandeja superior.
4 Esperar a la inserción manual de cada hoja.
7 (Predeterminado) Utilizar papel de la bandeja activa.
8 Utilizar papel del alimentador por tracción.
^ ^ r c h Í vo s H 0 E 3 I
A parte de las propiedades de la caja de texto, tiene las siguientes:
|j ÁBRÍR j | GRABAR |
: M ic ro s o ft D o la T o o li 6 R ein icia liza la com putadora sin preguntar si deseamos grabar un archivo
A d m inistrador visual de d a to s ... : VB A c tiv e X C o n tro l In te r fa c e W iz a rd
1 VB A c tiv e X D o c u m e n t Mwji a tio n W iz a rd
I VB A d d In T oolbar
que tenemos sin grabar.
D iseñador de in fo rm e s ... • tT-7.r
i VB A p p lic a tio n W iz a rd
V isual Basic crea de una manera m uy fá c il y rápida los discos de instalación , Ot>í el t*« ie paquete * * desea c*ear
‘ - > 4 ’ pars el paquee. Si va a á ñ itu k su apicación en dwjjetes
de cualquier aplicación que usted desarrolle con la fin a lid a d que la aplicación «b e oea» múltiples «c b vw ,:ab y especftcsr un tamaño oe
A’’’ ' Paiola cpqón apropíadí.
la instale y ejecute en cu alqu ier com putadora sin necesidad que ésta tenga J ! ®
el V isu a l Basic.
■ Î
Para crear los discos de instalación grabe correctamente su aplicación y salga Jifa de empèqüRôdo: Opdones de .cab
del V isu a l Basic, luego de su ventana de acceso e lija : H erra m ie n ta s de
Ur único archivo .cab
M icro so ft Visual B a sic 6.0\A sistente p a ra E m paquetado y D istribución. (* archvcs .cat<
JT J Internet txptorer *
lanario de ardv/o .cab:
Microsoft Ollice 2000 Profesional ►
fTíre 3
j r j Microsoft Office Took ►
^ Microsoft Visual Studio SO Herramientas de Microsoft Visual Studio S O
-ä Microsoft Web Pubfcshing ► L ÍJ Herramientas empresariales de Microsoft Visual SL..
■ _Tj PLATINUM WotkView fot Internet Explorer ► Microsoft Visual SourceSafe Ayjda { Cancefcr | <Antcror | S qugte > |
™ -3 Power 8 0 ► Microsoft Visual Basic S O
_ jj favoritos
^ > .3 Servicios en línea ► Microsoft Visual FoxPro 6.0
l _ j documentos
Configuración
> - i j Sybase
. T j The Hacker Antivirus
1. Distribuir la Aplicación
&
^ fiuscar
Ayuda
- i j WinZip Para e llo , haga c lic k en el botón Distribuir y siga las instrucciones del
J3 Ejecutar..
j j Explotador de Wndows
A sistente.
'¿ i- Internet Explorer
*J* Apagar el sistema. MS-OOS En M étodos de D is trib u c ió n E lija D isquetes y en U nidades de D isco
|§É!"í£!í?r V Outlook Express
■3 e lija la unidad donde va a crear los discos de instalación.
Se visu a liza la ventana de Asistente de ■-J Asistente de empaquetado y distribución - Método de distribución •jpAsiitente de empaquetado y distribución •Unidad de duquete
Em paquetado y D is trib u c ió n donde se ; Eifa el tpe de dístróución qjc desea reafc». a?a unauneW de cüsruete er, labta de abafe
I J
1. Empaquetar la aplicación. Ayuda i Cancela- | < Açÿerer j rí<giighte > j { | Obelar j <Antero- iOjjjrte>|
Para e llo haga c lic en el botón Em paquetar. Si no ha creado el ejecutable
( * .E X E ) para la a plicación se visu a liza el siguiente mensaje:
A l finalizar, V isual Basic le pedirá que inserte los discos de usará
Asistente de empaquetado y d is tr ib u c ió n com o instaladores.
f) \ Para poder continuar, el Asistente requiere el archivo ejecutable 'Horarios.EXE' A s is te n te d e e m p a q u e ta d o y d is trib u c ió n E l
para este proyecto. Haga clic en Examinar para buscar el archivo o en Compilar
para compilar el proyecto.
1 J In s e rte e l d is c o 1 d e 2 p a ra in ic ia r la c re a c ió n d e d isq u e te s.
! Compilar | Cancelar
A c e p ta r jj C a n c e la r j
H aga c lic k Compilar y siga las instrucciones del Asistente.
: &y 4 ? ® 4 * ffl E ®
I l'UODl'CTOS
* 12 * H X g ÜË s 31 * 1=
M ‘ > v iM tf:r.rú
m * n i im« . -í (« s s j -.í k ti; í t s •I •» yj". a*
m
I l 11 ITARIOS BEBBm
m i m UTILIIASIoa
p|3 al «I ____________________ I lT
G I Sfc. 1 1(5 fi :.9 on ir. 6 C d 12
Sus p rincipales propiedades son:
AUTOREW IND Para el primer caso sólo necesita crear un documento en Word con el texto que
In dica si después de te rm ina r el vídeo retrocede al in ic io . clesea mostrar en la ayuda y guardarlo con un formato RTF (Archivo/Guardar Come >)
AUTOSTART y luego compilar este documento con el programa M icrosoft H elp WorkSItop que
In dica si se visua liza autom áticam ente el vídeo cuando le asignamos el es un utilitario del Visual Basic que debe instalar en su computadora.
nom bre del archivo. En segundo caso, debe rea liza r lo siguiente:
FILENAM E Las opciones que va a e x p lic a r y que van a lla m a r a las otras ventanas de
A cepta la ruta y el nom bre del a rch ivo de vídeo que deseamos visualizar. ayuda se deben de separar del resto del texto de ayuda p o r S a lto d e P á g in a
FULLSCREENM O DE M a n u a l (Pulsando C O N T R O L + E N T E R ). Cada tema a e x p lic a r tam bién
In d ica si el a rch ivo debe ocupar toda la pantalla al ejecutarse. debe de estar en una página diferente.
PLAYCOUNT
In d ica la cantidad de veces que se debe visu a liz a r el a rchivo. OPCIONES DEL MENU PRINCIPAL
% VISUALIZAR VIDEOS
MOVIMIENTOS
Private Sub Commandl_Click() Esta opciói permite regiarar las carçras que se realisan por cada producto,registrar
sus veitas, devoluciones, controlar y visualuar el stock inventariado y valoreado, etc.
C om m onD ialogl.Filter = “Videos
(*.Avi)|*.avi|Todos (*.*)|*.*” REPORTES
Provee de la opciones que brindan iifonmcion útil y oportuna al usuario como por
CommonDialog 1.ShowOpen ejemplo D producto más vendido, el producto menos venduto, el total de ventas
diarias, semanales,mensuales, etc.
Acti veM oviel .filename=CommonDialog 1.
Hü SELECCIONAR UN ARCHIVO Filename UTILITARIO
Brinda al usuario las herramientas mas H itadas como por ejempb : Calculadora,
End Sub Configuraciones (Panel de Ccntrol), maitenimiento de usuarios, es decir, eliminarlos,
cambiar su clave, etc.
^1 1 l_ J « ix J 'çg |q |> i _ J a r m
1.
U b ic a r el cursor inm ediatam ente después del títu lo del tema (segunda Help Fio: jhola hip
asignado a cada opción, asígneles el form ato oculto. Created C:\JJ\tUTOH.hlp. l . O l ì bylcs
Compile time: 0 minute«. 0 seconds
0 note a. II wairriflgii
• •••■: ~ 1-7 7 : O P C IO N E S D E L M E N U P R IN C IP A L
De esta manera se ha creado un a rch ivo de ayuda el cual se puede llam ar
PRODUCTOS
OPCIONES DEL M E N T PRINC IPAL
MOVIMIENTOS
d e sd e c u a lq u ie r p a rte de n u e s tra a p lic a c ió n u s a n d o e l a r c h iv o
REPORTES W IN H E L P .E X E . Por eje m p lo, la siguiente instru cció n ejecuta el a rchivo de
REPQRXfiSRErOKTfS UTILITARIOS ayuda llam ado T U T O R .H L P que se encuentra en C:\JJ y archivo W IN H E L P
I II I IIARK>SUTI Ll.TABIQS
______________ ] se encuentra en C :\W IN D O W S .
f .g 1
S h e ll " C :\W IIW D O W S \W IN H E L P C :\J J \T U T O R " , 1
N O TA : NOTA: Después de ejecutar el archivo de ayuda, cambie el formato de Doble
• El nombre de cada opción usted lo elige, pero sólo utilice letras y sin espacios blanco. Subrayado por Subrayado Simple a las opciones, luego vuelva a compilar y ejecutar
• Después de estos pasos, grabe el documento con formato RTF y compílelo. el archivo de ayuda para observar el nuevo comportamiento de este archivo.
1 C:\AfdNvos de pfogramaNDev5tudioWBHAGENDA.mdb
2 C VArchivos de prograrnaSDevStudioWBMI rutto
3 CAAichivos de programaVDevStudioWB\Btblio mdb Nuevo
FERNANDEZ'
FERREYROS Modificar
GRANADOS
INOÑAN
LIMO
LINARES _ZJ
.
s
Situación
<• Regular
r 1/2 Beca
filó
Pensión
2j
Eliminar
C Beca Fecha de Inscripción
C Otro 116/08/1999 -i-j
Grabar
Otros
V Traslado
Observaciones Cancelar
A m ejorado notablem ente en los
últim os tie s meses de estudio.
Salir
MANEJO
DE
BASE DE DATOS
I Ina BASE DE DATOS es un c o n ju n to de in fo rm a c ió n ú til organizada de
iiik i fo rm a específica referente a un tema o p ropósito concreto. Por ejem plo:
l.i in fo rm a c ió n que se m aneja en u n In s titu to , en una farm acia, etc. La
11111il inación almacenada en una base de datos se organizada princip alm en te
m ediante tablas.
TABLA
I la unidad básica de alm acenam iento de una base de datos y perm ite
tener la inform a ción organizada. E je m p lo:
I a base de datos In s titu to se puede o rg an izar en las tablas:
A lu m n os, Pagos, Notas, Profesores, Cursos, etc.
t Ina tabla almacena los datos en registros (fila s ) y campos (colum nas). Los
■ impos son los datos que deseamos alm acenar en una tabla. E je m p lo de
una Tabla: ALUMNOS.
REGISTRO DE DATOS
11ii registro contiene in fo rm a c ió n que pertenece a cada entrada de la base
<lo datos. E je m p lo de un R egistro
1 03 | Liliana Alarcón 1 V 1 M ~
CAMPO DE DATOS
l iii cam po es una unidad de alm acenam iento para guardar un elem ento de
«latos sim ple en un registro. E je m p lo:
NOMBRE____________
Carlos Morales
Karina Rio-ja___
Liliana Alarcón
Jorge Ríos_____
Tito Ramírez
G r u p o E d it o r ia l Megabyte 347
v i s u a L BASIC como debe ser.. . CAPITULO IX: Manejo de Base de Datos %
M U Y IM PO R TA N TE CREAR BASE DE DATOS USANDO VISUAL BASIC
£ n un cen tro d e estu d io s n o rm a lm en te se indican las tablas estándares De la opción A d d -In s (C om plem entos) de la Barra de M enú, e lija Visual
o b á sic a s q u e d e b e n ir en una b a se de d a to s p o rq u e la b a se d e d a to s Data M anager (A d m in is tra d o r V isu a l de D atos). Observará la siguiente
c a s i sie m p re va ría n d e u na in stitu ció n a otra. pantalla:
Si U d., es estudiante es m u y im p orta nte que se organice solo o con sus Aiehivo i Ventana Ayuda
com pañeros de estudios para v is ita r a empresas o entrevistar a diferentes S p i B j [ifjg lllJ -I ~
Para saber la in fo rm a ció n que maneja un colegio se debe hacer una entrevista
al d irector.
IC .S A r c h iv o s d & p io g ra m a S D e v S tu d io W B SAG E N D A. h id b
j j C. Sài c h iv o s d e proç» amaSD é v S tú dióS V B MI. m d b
3 C A A ic h iv o s d e p to g ia m ^ S D e v S tu d í o S V B ih h o m db
Jjalir
C R E A C IÓ N D E U N A B A S E D E D A TO S
A rc h iv o U tilid ad V e n ta n a Ayyda
<3*1 1 1
MU
Borrar J ________g u a rd a r________I
Por cada cam po d e fin id o haga c lic k en el botó n O k (A ce pta r) y al fin a li
zar liaga c lic k en el botón Cióse (C errar) para cerrar la ventana. Puede
c o n fig u ra r a cada cam po para que V is u a l Basic p erm ita o no aceptar
jü campos con lo n g itu d cero, es d e c ir que se ingresen valores o no en el
_______ campo al a dicion ar registros.
*» * "i* \ M U Y IM P O R T A N T E
D espués de h a c er c lic k en el botón C ióse d eb e tam bién de h a c e r click
' n el botón B U IL D T H E T A B L E (G e n e ra r la Tabla) p a ra que la tabla
t/uede c o n stru id a .
U suario: admin
I Ina vez construida la tabla, haga c lic k con el b otón derecho en el nom bre
ilc la labia construida y e lija la o p c ió n O P E N (A b rir ) para ingresar o dar
En la ventana Properties, haga c lic k con el botón derecho y e lija la opción
m .m tenim iento a los registros. La pan talla que vis u a liz a depende de los bo
N e w Table (nueva tabla), se vis u a liz a la p antalla:
iones de la barra Estándar (D ebajo del M en ú ) que tenga activados.
Esliuctura de la tabla
fjo m b re d e la ta b la :
li ¡ " i , ñ¡j ' r ’;V - I I I er. Botón abre la tabla com o R ecordset tip o Tabla.
y s ta d e cam pos: Nom bre: I I 2do. Botón abre la tabla com o R ecordset tip o Dynaset.
Tipo: r . I I 3er. Botón abre la tabla com o R ecordset tip o Snapshot.
Tam año: r
O rden: r OH, 11' IX) RECORDSET DE TIPO HOJADE REPUESTADINAMICA
1 P erm itir lo n g itu d cero I ii objeto Recordset de tip o hoja de respuestas din ám ica es una variedad
Posición:
I N ecesario 11> i ib jeto Recordset que puede u tiliza rse para m an ip u la r datos de una o más
T e x to d e valid a ció n : 1 i ililas subyacentes. E l objeto consiste en un co njun to d in ám ico de registros
Regla d e va lid a ció n : 1 iiiic puede contener campos 7de una o más tablas o consultas de una base
A g re g a r cam po | Eljminar cam po 1 Valor p re d e te rm in a d o : I di' datos y que puede ser actualizable.
< m i l lO R E C O R D S E T D E T IP O D E R E S P U E S TA IN S T A N T A N E A
L ista d e índices:
I ii i ibjeto Recordset de tip o instantánea es un co njun to estático de registros
•|in* puede u tiliz a r para e xam inar datos de una o más tablas subyacentes.
r
Cam pos: |
I ii objeto Recordset de tip o instantánea puede contener campos de una o
A g re g a r índice
m i. labias de una base de datos, pero no puede actualizarse.
C e rra r < M tJ K T O R E C O R D S E T T IP O T A B L A
l ii objeto Recordset de tip o tabla es una representación en el có digo de una
i ilila base que puede u tiliza rse para agregar, m o d ific a r o e lim in a r registros
Escriba el nom bre de la tabla (Table Ñ am e) que desea crear dentro de la
<l< una labia. En la m em oria sólo se carga el registro actual en cada momento.
base de datos y para empezar a ingresar los campos haga c lic k en A d d
I’.u.i determ inar el orden de los registros del objeto Recordset se u tiliz a un
F ield (A g re g a r C am po), se visua liza la p an talla siguiente: im lii c predefinido.
debe estar indexada. Se visua liza la pan <ï- [..] r~ >- r- <~ > r- < Actualizar Ordenar filtrar Ceirai
NOMBRE I DIRECCION [DISTRITO
talla: *¿alor :
r _
ITELEFONO EDAD
*
Aceptar i Cancelar ;
1
Para ind e xa r una tabla, haga c lic k con el botó n derecho en el nom bre de la L o s b o to n e s
tabla y e lija la o pción D esing (D iseñar). De esta manera U d puede m o d ifi perm iten G ra
car la estructura de la tabla e indexarla. bar, O rd e n a r,
Para indexar haga c lic k en el b otón ADD INDEX (A g re g a r In dice ), se Seleccionar re
| H H i Haga clic con el botón secundario del mouse para ver las propiedades del control Dat.H E
visualiza la pantalla siguiente, escriba el nom bre del indexado y seleccione el gistros y cerrar
cam po o campos que desea usar en el indexado. la ventana.
IC» Primai io
BARRA DE DESPLAZAMIENTO
O-arhpoS India-sido»' $7 Ú n ic o
r*' I o r im i a i n u lo s h R |i/i VW i
r.. iT ït T í h n i
lis ta barra p e rm ite d esp la za rn o s p o r los re g is tro s a d ic io n a d o s para
visualizarlos o editarlos. Tam bién in d ic a el registro actual y la cantidad de
registros que tenemos.
G r u p o E d it o r ia l Megabyte
VISUAL BASIC como debe ser. > CAPITULO IX: Manejo de Base de Datos m i
CREARBASE DE DATOS USANDO MICROSOFTACCESS Luego se visua liza la siguiente pantalla:
Base de d a to s e n blanco
Nombre de archivo: ▼]
A siste n te p a ra b ases de d a to s
Guardar como tpo: |Bases de datos de Microsoft Access (*.mdb) j* ]
ES TA V E N T A N A T IE N E 3 O P C IO N E S :
1. B A S E D E D A T O S E N B L A N C O .
P E R M IT E C R E A R U N A N U E V A B A S E D E D A T O S .
2 . A S IS T E N T E P A R A B A S E D E D A T O S .
P E R M IT E C R E A R U N A N U E V A B A S E D E D A T O S U S A N D O U N
A S IS T E N T E ( A Y U D A )
3 . A B R IR B A S E D E D A T O S E X IS T E N T E .
P E R M IT E A B R IR O V I S U A L IZ A R U N A B A S E D E D A T O S Y A
CREADA.
Entonces haga c lic k en el p rim e r b o tó n de o pción para crear una nueva base
de datos y luego haga c lic k en el b otón aceptar.
Esta pantalla tiene 6 hojas o fichas. Haga c lic k en la hoja T A B L A S y luego
NO TA: en el botón N U E V O para crear cada tabla de la base de datos.
si se e n cu en tra en el m en ú p r in c ip a l d e l A c c e ss h a g a click en la o p
ció n a rch ivo y lu e g o en la o p ció n n u e v a b a se de datos.
Vista Diseño
Asistente para tablas
Importar tabla M icro so ft A ccess
[Vincular tabla CE3
Crear una nueva tabla en vista
Hoja de datos.
No hay ninguna cla ve principa l definida.
Tabla! : Tabla
Tablai : Tabla i- ~ lx
tos j Descripción |j
Nombre del campo I Tipo de datos
Nombre del campo I Tipo de datos 1Descripción]E
Si U d., desea haga c lic k en el botón S I para que la tabla tenga un campo
clave. Estos campos se emplean más adelante.
U na vez que grabó la tabla cierre la ventana para regresar a la ventana
in ic ia l donde debe hacer c lic k en el botón A B R IR para ingresar los registros
o en el botón D IS E Ñ O para m o d ific a r la estructura de la tabla.
jd
Propiedades del campo
Propiedades del campo
MUY BIEN
General J Búsqueda |
General j Búsqueda |
Tamaño del campo U na vez in g re sa d o lo s registros, g rá b e lo s y cierre el A ccess. D e esta
Formato
Máscara de entrada m a n era la base de da to s ya está lista p a ra m a n eja rla con Visual Basic.
Título
Valor predeterminado
Regla de validación
U na vez creada la ba se de datos usando Visual B a sic o M icrosoft A ccess
Texto de validación c o n s u s r e s p e c tiv a s ta b la s Ud. p u e d e m a n e ja r la in fo r m a c ió n en
Requerido No
c u a lq u ie r fo r m u la r io .
Permitir longitud cero No
Indexado No
C uando necesite c a m b ia r la estructura de la tabla se recom ienda utilizar
el M ic r o s o ft A c c e s s (o p c ió n D is e ñ o ), p o r q u e p e r m ite h a c e r e sta s
En la colum na N O M B R E D E L C A M P O escriba el nom bre de cada campo m o d ific a c io n e s un a m a n e ra m á s fá c il. A n te s d e e llo d e b e c e r r a r la
a p lic a c ió n d o n d e este u tiliza n d o d ic h a tabla.
que desea crear dentro de la tabla.
En la colum na T IP O D E D A T O S ind iqu e el tipo, tamaño y otras característica
Las tablas creadas en Visual B asic y M icro so ft A ccess con com patibles,
de cada campo.
E n la co lum na D E S C R I P C I O N puede e s c rib ir en fo rm a opcional un texto p o r lo tanto si la creó en A ccess la p u e d e lla m a r desd e Visual B asic y
que p erm ita dar una e xp lica ció n acerca de cada campo. v ic e v e r sa .
f l l f l j f t ^ G r u p o E d it o r ia l Megabyte 357
ílÉllÉifl» VISUAL BASIC como debe s er... CAPÍTULO IX: Manejo de Base de Datos
E X C L U S IV E
CONTROL DATA: Perm ite in d ic a r si la base de datos puede trabajar en un sistema m ultiusu a rio
(Red). E l va lo r False in d ica que el sistema es de tip o m u ltiu s u a rio , es decir
los registros pueden ser accedidos p o r varios usuarios al m ism o tie m p o y el
E l control Data perm ite manejar los registros de una o más tablas en un fo rm u v a lo r T rue in d ic a que es de tip o personal.
lario. Ud. puede acceder a los registros para actualizarlos, im p rim irlo s, etc. KEAD O N LY
E l c o n tro l Data nos ayuda a crear de una fo rm a m uy sencilla aplicaciones
Permite indicar si la base de datos es de sólo lectura. Si es de sólo lectura las
para poder acceder y a dm in istrar bases de datos sin e s c rib ir casi ninguna
m odificaciones que se le haga a un registro no son reconocidas o grabadas.
in stru cció n . Cuando se m anejan bases de datos se u tiliz a siem pre el objeto
KECORDSOURCE
R ecordset.
Perm ite in d ic a r el n om bre de la tabla que se desea manejar.
V IS IB L E
OBJETO RECORDSET
U n objeto Recordset representa registros de una tabla. Están form ados por Para in d ic a r si el c o n tro l se debe visualizar.
registros (fila s ) y campos (colum nas).
APLICACIÓN DESARROLLADA N° 48
E xiste n tres tip o s de o b je to s R eco rd set: Siguiendo los pasos m encionados al in ic io de este capítulo, crear una base
M a rca d o r no d e fin id o .O b je to Recordset de tip o hoja de repuesta D iná m ica de datos llam ada A G E N D A que tenga una tabla llam ada A M IG O S y a di
O b je to R ecordset de tip o de respuesta Instantánea cione algunos registros.
O b je to Recordset tip o Tabla I .a tabla debe tener la siguiente estructura:
P R IN C IP A L E S P R O P IE D A D E S D E L C O N T R O L D A T A : CAMPO T IP O T/
N om bre Texto 25
ÑAME D irección Texto 20
Perm ite asignarle un nom bre. Por defecto el nom bre es D a ta l, Data2, Data3 D istrito Texto 20
etc. Según el núm ero de controles que se d ib u je n en el fo rm u la rio . Teléfono Texto 10
B O F A C T IO N Fecnac F echa/H ora
P erm ite in d ic a r la acción que se debe rea liza r cuando se encuentre al in ic io Sexo Texto 1
de la tabla. L a acción puede ser: Peso Sencillo
0 M O V E F IR S T : se ubica en el p rim e r registro.
1 BOF : se ubica antes del p rim e r registro.
I I lo rm u la rio debe fu n c io n a r de la siguiente manera:
C A P T IO N
Para in d ic a r el texto a visu a liza r en el c o n tro l Data. ■ Su A C C E S O A U N A B A S E D E D A T O S
CONNECT
Nombre ¡TITO R A M IR E Z
Para in d ic a r el tip o de base de datos que se desea manejar. Por defecto es
Dirección
A rrF s s ¡EL DO RADO 456
Distrito |j.L.O . —
DATABASENAM E
T eléfono
Para in d ic a r el nom bre de la base de datos a manejar. (236975
Fecha de Nac.
EN ABLED 107/1V I 970
E O F A C T IO N Peso |S7
P erm ite in d ic a r la acción que se debe rea liza r cuando se encuentre al fin a l
W ) D a ta i ►1 1 SALIR 1
de la tabla. L a acción puede ser:
0 M O VE LAST : se ubica después del ú ltim o registro.
1 EOF : se ubica en el ú ltim o registro. I .os botones del control Data permiten ir al registro Primero, Anterior, Siguiente
2 AD D NEW : adiciona un nuevo registro. y Ú ltim o.
G r u p o E d it o r ia l Megabyte 359
VISUAL BASIC como debe ser.. . CAPÍTULO IX: Manejo de Base de Datos
DESARROLLO NOI A:
El fo rm u la rio debe tener 07 Etiquetas, 07 Cajas de Texto, un c o n tro l Data y < nando crea una base de datos en V isu a l Basic, ésta se graba en form a
un botón de Comandos. I»'(‘determ ina la carpeta:
C:\Archivos de Programa\DevStudio\VB
Si* Form i U n ix ] » uando crea una base de datos en Access, ésta se graba en fo rm a prede-
i. i m ina la carpeta: C:\Mis Documentos. Si no recuerda en qué carpeta se
L a b e ll |T e *t1
i abó la base de datos, búsquela haciendo c lic k en: Botón Inicio, Buscar ;
Label2 ¡Text2
1/ chivos o carpetas.
L abel3 |T e xt3
MUY IMPORTANTE
lro . A l c o n tro l D ata se le debe asignar 02 propiedades: Si no se muestra el nom bre de la tabla o tablas, s ig n ific a que no grabó la
labia dentro de la base de datos o no a asignado p rim e ro la propiedad
PROPIEDAD DATABASENAME, donde se selecciona el nom bre de
I )A IA B A S E N A M E . En este ú ltim o caso se muestra el siguiente mensaje
la base de datos con la que desea trabajar. En la aplicación a desarrollar la
de error:
base de datos se lla m a AGENDA. Microsoft Visual Basic
Haga c lic k en los tres puntos que se m uestran en esta propiedad para a c ti A c e p ta r A yud a
va r la ventana y seleccionar la base de datos.
L a ventana que se visua liza es la siguiente:
2do. A cada caja de texto se le debe asignar 02 propiedades:
B u s c a re n : | _> l V b ~ T ] fin | gj< -| j i 3 : f f | f | DATASOURCE, donde se selecciona el nom bre del c o n tro l Data que se
— J Clisvr ;_ J Repostry _ _ | vbonline está usando. En fo rm a predeterm inada es D A T A 1 .
— I G raphics
— I H elp
___ I samples
— I Setup
__J W in a p i
_J W izards
DATAFIELD, donde se selecciona el cam po que desea v is u a liz a r en
— I N u e v a ca rp e ta _ J setupkit * ^ 1 AG EN D A cada caja de texto.
1O dbc | T em piate Biblio
— I report £ □ T sql N w ind
CONTROL DATASOURCE DATAFIELD
T e x tl D a ta i N om bre
Nom bre de archivo: | | Abrir
Text2 D a ta i D irección
A rchivos de tipo: fBases de datos (“ m db) ]▼] Cancelar j Text3 D a ta i D istrito
A yuda j Text4 D a ta i Teléfono
Text5 D a ta i Fecnac
Es recom endable seleccionar el nom bre de la base de datos, porque sí Ud. Textó D a ta i Sexo
lo escribe debe in d ic a r tam bién con m ucho cuidado la ruta exacta donde Text7 D a ta i Peso
está ubicada.
I 11 botón S a lir debe tener la in s tru cció n E N D .
G ru po E d it o r ia l Megabyte 361
é ü ü ^ VISUAL BASIC como debe s e r ... , '■v a i K CAPÍTULO IX: Manejo de Base de Datos % m
U n io n P R IM E R O : Botón Ú LTIM O :
A P L IC A C IO N D E SA R R O L L A D A N° 49
I'riv a le S u b C o m m a n d 4 _ C lic k () Private Sub Command3_Click()
D esa rro lla r la a plicación a nterior usando botones de comandos. I )ata I . R eco rd set. M o v e F irst Data 1.Recordset.Mo veLast
( o m m a n d l. E n a b le d = True Command I.Enabled = False
Reg N» 1003 ( om m and3. E n a b le d = True Command3. Enabled = False
N o m b re | L IL IA N A A L A R C O N
( <nnmand2. E n a b le d = F alse Command2. Enabled = True
C o m m a n d 4 .E n a b le d = F alse
D ir e c c ió n jM A R IA IZ A G A
Command4. Enabled = True
D is tr ito JcH I C L A V O NR = /
l.a b elS = F orm at$(N R , ”0000") NR = Datal. Recordset. RecordCount
T e lé fo n o |2 2 7 1 91
Doto* Personales :
E l c o n tro l D b lis t perm ite m ostrar el contenido de un cam po de los registros N o m b ro | M A N U E L C A R B A JA L
de una tabla. En la lista de componentes, este co n tro l se llam a: D ire c c ió n |S A L A V E R R Y 9 87
D is J r ito
M ic ro s o ft Data B ound L is t C on trol. T e lé f o n o
|C H I C L A V O
12 0 9 8 7 5
Fecha de N ac 11 8 / 0 6 / 1 9 6 0
G r u p o E d it o r ia l Megabyte 365
|fllllll> VISUAL BASIC como debe se r... CAPÍTULO IX: M anejo de Base de Datos
NO M ATCH : MANTENIMIENTO DE REGISTROS
Se u tiliz a para preguntar si un reg istro fue encontrado. D evuelve el va lo r
Falso si el registro fue encontrado y Verdadero en caso contrario. I I m antenim iento de registros consiste en re a liz a r program as para: A d ic io
S intaxis para preguntar si el registro fue encontrado: nar, M o d ific a r y E lim in a r registros.
I f N o t C o n tro l D ata. R e c o rd se t.N o m a tc h then Métodos U tilizados:
S intaxis para preguntar si el regist. no fue encontrado: A D D N E W : Perm ite a d icio n a r un re g istro a una tabla.
I f C o n tro l D a ta .R e c o rd se t.N o m a tc h then I I ) IT : Perm ite m o d ific a r los datos de un re g istro de una tabla.
Ejemplo: M L L E T E : Perm ite e lim in a r el re g istro actual de una tabla.
D im R A s String < A N C E L U P D A T E : Perm ite cancelar las m o d ifica cio n e s realizadas a un
R = “N O M C L I = ‘ “ + T e x tl + ic g is tro o la ejecución de A D D N E W m ientras el reg istro no este grabado.
D a ta 1.R eco rd set.F in d F irst R
I f D a ta l.R eco rd set.N o M a tch Then I a sintaxis de estos m étodos es:
M sg B o x "E L N O M B R E N O E X IS T E " ,1 6 ,”Lo s ie n to "
E n d if Control_Data.Recordset.Nombre_Método
P R O G R A M A C IÓ N D E L O S C O N T R O L E S
A PL IC A C IÓ N D E S A R R O L L A D A N° 51
In s tru c c io n e s d e l b o tó n O K .
P riv a te S u b C o m m a n d 1 _ C lic k () MANTENIMIENTO DE RESGISTROS MC
D im R A s String
D a to s P e rs o n a le s :
I f Trim ( T e x tl) = Then
MsgBox “DEBEINGRESARELNO M BREA CONSULTAR”,48, "LOSIENTO" A m ig o s Nombre IDANIEL ALARCON
T e x tl = CARINA RIOJA j Dirección |WIRACHORA315
CARLOS M ORALE
T extl. S e t F o cu s íDANIEL ALARCO Distrito ILA VICTORIA
E lse IM A N U EL C A R B A JJ T eléfono I232689 .......
R = “N O M B R E = *“ + T extl + Fecha de Nac. 115/10/1966
D a ta l .R eco rd set. F in d F irst R Sexo
I f D a ta l .R e c o rd se t.N o M a tc h T h en
Peso [S8 Cancelar
M sg B o x “E L N O M B R E IN G R E S A D O N O E X IS T E " ,16, "Ingrese el
nom bre exacto a co n su lta r ”
O p c io n e s d e M a n te n im ie n to
E lse
Adicionar Modificar Cerrar
T e x tl = “ ”
T e x tl. S e tF o c u s
End If M M Datai ► H
End If
E nd Sub
l 'ste p ro g ra m a p e r m ite d a r m a n te n im ie n to a lo s re g is tro s de una
Instrucciones del D b lis tl para que al e le g ir un registro se visualicen todos lab ia, co m o p o r e je m p lo , c o n s u lta rlo s , m o d ific a r sus datos, e lim in a rlo s
sus datos. y a d ic io n a r n u e v o s re g is tro s .
P riv a te S u b D B L is tl _ C lic k ()
D im R A s S tring M U Y IM PO R TA N TE
R = “N O M B R E = + D B L is tl.Text +
D a ta I . R ecordset. F in d F irst R
i slos son los program as básicos para m anejar registros, por lo tanto es m uy
E nd Sub im portante que U d., los p ractique varias veces con diferentes tablas.
E l botón S A L IR debe tener la in stru cció n E N D .
m G ru p o E d ito r ia l Megabyte
VISUAL BASIC como debe ser. . . CAPÍTULO IX: Manejo de Base de Datos ^
Escribir las instrucciones de los controles.
1. Dibujar los controles. C rear dos procedim ientos (A c tiv a r y D esactivar) y e s c rib ir las siguien-
¡a§„ Fo rn ii I□ I x | tes instrucciones:
............................................ F ra m e l SubACTIVAR() Sub DESACTIVARO
L a b e l2 |T e n t1 F ram el.Enabled = True F ra m el. E nabled = False
!*". Labo13 [Tr-TT Frame2. Enabled = False Frame2. E nabled = True
'
isll
- L a b e l4 |T e x t3 D BListl. Enabled = False D B L istl .E nabled = True
L a b e l5 |T e x t4 End Sub End Sub
L a b e lG jT e x tS
L a b e l7 ffe x Í6 ’
C om m andl Botón ADICIONAR
: : : : : : : : : : : : L a b e ls jText7 C om m and2
Private Sub Command3_Click() Botón GRABAR
ACTIVAR P rivate Sub C o m m a n d l _ C lic k()
F r a m e 2 ....................... ........................ Data 1.Recordset. AddNew D ESAC TIVAR
C om m and3 I C om m and4 | C om m and5 | C om m and6 j Textl.SetFocus D a ta l.R e c o rd se t. U pdate
End Sub R em A ctualiza el D B listl
: : : : : : : : 1n | ^ ]Da>ai ► 1m| : D B L istl.L istF ie ld - ’’nom bre ”
Botón MODIFICAR E n d Sub
Private Sub Command4_Click()
ACTIVAR Botón CANCELAR
NOTA:
D atal .Recordset.Edit P rivate Su b C om m a n d 2 _ C lick()
D ib u je p rim e ro los F ra m e y en c im a los b o to n es de com andos.
Textl.SetFocus D E SA C T IV A R
End Sub
2. Asignar las propiedades. D a ta l. R e c o rd se t.C a n c e lU p d a te
E n d Sub
CONTROL DATA Instrucciones del botón ELIMINAR
CONTROL DATABASENAM E Private Sub Command5_Click()
RECORDSOURCE Dim R As Byte
Datal Agenda Amigos R=MsgBox(“Estásegurodeeláninaresteregistro”,36, “CUIDADO”)
IfR = 6 Then
CAJAS D E TE X T O D atal. Recordset. Delete
CONTROL DATASOURCE DATAFIELD D atal.Refresh
Textl Datal Nombre End I f
Text2 Datal Dirección End Sub
Text3 Datal D istrito
Telefono
CONTROL DBLIST1 Instrucciones del Form_Load
Text4 Datal
Private Sub D BListl_Click() Prívate Sub Form_Load()
Text5 Datal Fecnac
Dim C A? String Framel.Enabled - False
Text6 Datal Sexo
C= "NOMBRE= “‘+DBListl+ Datal. Visible - False
Text7 Datal Peso Datal.Recordset.FindFirst C End Sub
End Sub
D B L IS T
CONTROL ROWSOURCE LISTFIELD Instrucciones del botón SALIR
D blistl Datal Nombre Prívate Sub Command6_Click()
I f M sgBox(“Está seguro de Sari ir ”,36, ’’CERRAR”) = 6 Then End
A los botones de comandos y fram es, asígneles su propiedad C aption, com o End Sub
se muestra en la a plicación a desarrollar.
I |¡ |¡ ^ 368 G ru po E d it o r ia l M e g a b y t e <^ ^ ^
G r u p o E d it o r ia l Megabyte 369
M. % VISUAL BASIC como debe ser.. . CAPÍTULO IX: Manejo de Base de Datos
I n la siguiente ventana debe seleccionar en Origen de D atos el nombre de
A S IS T E N T E D E L V I S U A L B A S IC P A R A B A S E D E D A T O S
la tabla y en Campos Disponibles puede seleccionar los campos que desea
visualizar. También puede seleccionar una columna (Campo) por el cual quiere
Visual Basic tiene un asistente que permite desarrollar en forma automática un for ordenar los registros. Cada uno de los botones de esta ventana muestra un
mulario con los programas básicos para manejar y dar mantenimiento a las tablas y mensaje indicando su función con sólo llevar el puntero del M ouse hasta él.
registros de una base de datos. I.n la siguiente ventana, Visual Basic le pide seleccionar los botones que
Para ello, de la opción Complementos de la Barra de M e nú elija Asistente para ilesea tener en el formulario.
Formulario de Datos.
pe
NOTA: ,
Si no tiene la opción Asistente para Formularios de Datos, ingrese a la opcion
Administrador de Complementos y active VB Data Form Wizard.
Cuando elige la opción Asistente para Formularios de Datos, se puede visualizar £>r*jen de registros:
Orden* cok*iwaD«: j* ]
dBMAó f IV
:¡;
d 'iE
¡JBfíSE 5 0
Iin la última ventana, le pide el nombre del formulario. E n forma predetermina
Fo>Pro?■<<
le asigna el nombre F R M seguido del nombre de la tabla. Para ver su
ejecución, puede hacer que este formulario se ejecute primero (Proyecto/
Propiedades del Proyecto).
El formulario que se crea en forma automática depende el tipo que eligió.
<if'fr págmjyte > | Por ejemplo, si ha elegido Un único R egistro, se visualiza:
Después de hacer click en el botón Siguiente de la ventana anterior, Visual Basic le ■¡.AMIGOS
M 3\
pide el nombre de la Base de Datos con la que desea trabajar y en la siguiente NOMBRE:
ventana le pide la forma de visualizar los registros. La primera y segunda forma se DIRECCIÓ N:'
utilizan para una sola tabla y la tercera forma para dos tablas. DISTRITO :
TELEFONO:
FÈCNÀC:
SEXO:
PESO:
M U Y IM P O R T A N T E
Ud., puede mirar las instrucciones de cada uno de los botones de comandos
del formulario creado.
Fecha de N ac f2 0 T T 0 T l9 7 0
P eso 68 S exo |p
P eso [53
G ru po E d it o r ia l Megabyte 377
s , '% VISUAL BASIC como debe se r... CAPÍTULO IX: Manejo de Base de Datos
TOP
Es una palabra que se puede e s c rib ir después de S E L E C T que perm ite ¿ D O N D E P R A C T IC A R O U T IL IZ A R LAS IN S T R U C C IO N E S SQL?
m ostrar los N prim eros registros ordenados.
Ias instrucciones S Q L vistasanteriormente sepueden utilizaro practicarlasen un formulario
con el control D A T A o en la ventana de administración visual de datos (VISDATA).
Ejemplos:
L a siguiente in stru cció n muestra las 3 prim eras personas más delgadas (de 1. EN UN F O R M U LA R IO CON E L C O N TR O L DATA.
m enor peso). Cuando quiera practicar o utilizar las instrucciones S Q L en un formulario, debe
asignar toda la instrucción S Q L a la propiedad R E C O R D S O U R C E del control D A T A
y luego actualizarlo (Refresh).
SE LE C T TOP 3 * F R O M A M IG O S O R D E R B Y P E SO
I’
or ejemplo, para visualizar todas las personas que viven en el distrito La Victoria y
ordenadas por su nombre, se escribe:
Si se desea las tres prim eras personas más gordas, sólo debe realizar la I )cital.ReconEoutce-”Select *fivmcunigoswheivdisnito = ‘La Victoria’orderbynombre”
ordenación en fo rm a descendente. Datal.Refresh
SE LE C T TOP 3 * F R O M A M IG O S O R D E R B Y P E S O D E S C A P L IC A C IÓ N D E SA R R O L A D A N° 54
I.a siguiente aplicación permite seleccionar registros, ordenarlos y seleccionar cam
NOTA: pos a visualizar utilizando instrucciones S Q L dentro de un formulario con el control
Las siguientes personas que tiene el mismo peso de la tercera también se visualizan. DATA.
Después del valor puede u tiliza r la palabra PERCENT para m ostrar un porcentaje i» . I N S T R U C C I O N E S SQL E N F O R M U L A R IO S
determinado de registros. N OM BR E
C AR LO S M O R ALE S
D IR EC C IO N
A R E Q U IP A 365
D IS T R IT O
C H I C LAVO
TELEFO N O I
20 20 20
pesg T T
1 8 /0 7 /1 9 8 9 ;M 60;
D A N IE L Ä LA R C Ö N W IR A C O C M A 3 1 B L A VIC TO R IA 23P689 Ï5 /1 Q /1 % 6 ‘ m 80 i
L ILIA N A ALA R C O N M A R IA IZ AG A C H I C LAVO 227131 2 0 /1 2 /1 9 9 0 : F 50:
L a siguiente in stru cció n muestra el 10% de las personas más delgadas (de M A N U E L C AR BA JAL SA I A V I H R Y a t ) / C H IC LAY O 209870 Ï 8 / 0 6 / 1 3 6 0 !M ÍJSi
T l f lb R A M IR E Z L L D O R A D O 46 6
m en or peso). J .L 0 . 23G976 i 0 7 /1 Ï / I 3 / Ù 1
, S E L E C C IO N A R .
G e n e r a r e l fo rm u la rio
IJd. debe ingresar las condiciones en fo rm a correcta. Por ejem plo, para
3. S ustitución G lo ba l: Que perm ite reem plazar el contenido de un campo mostrar:
por un nuevo contenido. Los que viv e n en C h ic la y o : D IST R IT O = "C H IC LA YO "
Los que su serie de teléfono es 20: T E L E F O N O L IK E "20*"
Eüü S u s t it u c ió n g lo b a l Los que nacieron en 1970: YE A R (F E C N A C ) - 1970
M " 1111■1 1 — — D IR E C C IO N
I .os que su nombre em pieza con la letra C: N O M B R E L IK E "C*"
■ D IS T R IT O
FECNAC Los que vive n en la V ic to ria y nacieron en el mes de A b ril: D IS T R IT O =
NOM BRE
PESO "IA V IC TO R IA " A N D M O N T H (F E C N A C ) = 4
SEXO
TELEFO N O M ostrar los que tienen sexo m asculino: SE X O = "M"
R e em plazar con:
NOTA:
Tara indicar los campos a visualizar en el listado y para asignarle un ancho
determinado a cada campo, debe hacer click con el botón derecho en el control
C ancelar / 'ibgrid, mientras lo está diseñando y elegir la opción editar.
H> VISUAL BASIC como debe ser.. CAPÍTULO IX: Manejo de Base de Datos
A c tiv a r la c a s illa de M ic r o s o ft D A O 3.51 O b je c t L ib ra r y que se
V A R IA B L E S T IP O R E C O R D S E T encuentra en la o pción Proyecto/Referencias:
C O N T R O L D B G R ID
P O N P T if lN : S E X O .. — M --------------------------— ----------------------------------------------------------
[ñ iR T R IT O
CONTRO L DATASOURCE
NOM BRE 1D I R E C C I O N
L U IS B A L A R E Z O P U M A C A H U A 122
CHI C LA V O 273858 18/07/69 M 60
Dbgri 1 Datai
CAR LO S M O RALES A R E Q U IP A 256
CHI C L A V O 237143 1 8/09/76 M 70
-------- J O R G E R I O S L A L I B E R T A D 123
W Í R Á C O C H A 3 35 205048 5/01/68 M 65
JO SE C A S TA Ñ E D A
-------- T I T n R A M I R F 7 1f i n n R A n n 4 F¡r .1 i n ? ^ R S 7 «S
205897
7 /1 1 / 7 fl
18/06/60
M
M
F¡7
66
PASO N° 03: Escribir las instrucciones de los controles.
M A N U E L C A R B A JA L S A L A V E R R Y 345
Primero debe activar la casilla de M icrosoft D AO 3.51 Object Library luego definir
la variable R de tipo Recordset.
R E G I S T R O S MOSTRADOS > S A L IR I J® Proyectol - Formi (Código) EJapa
I (General) TJ f(D eclaraciones)
NOTA:
En la p r o p ie d a d CAPTION d e l DBgridsedebe m o s tra r la c o n d ic ió n q u e e l u s u a rio a Dim R As Recordset
G r u po E d it o r ia l Megabyte 389
|¡1 ¡¡É » VISUAL BASIC como debe ser.. . CAPÍTULO IX: Manejo de Base de Datos
Instrucciones del Evento Forni Actívate. Instrucciones del Botón OK.
Estas instrucciones m uestran en L is t l los nom bres de los campos y en L is t2 listas instrucciones perm ite vis u a liz a r los registros que cum plen la c o n d i
los operadores lógicos, además asigna a la variable R el D atal.R eco rdse t. ción que el usuario a form ado.
M A N I I N IM II Frame3 LabeIS
f~~ Option4 I (î ext3
; d» i a m « » ; r - o p tio n s i
Apellidos jfx Label6
: <" Option6
1T exl4
N o m b res f u u JO : <" Option?
(><)
I «cha .«te lr.»tstipoi<í«i
.(Î G /Ü 8/1 a a y -g-j m j H | 4 I D a ta i
I roslado
U b40IVOCIOI'«5 Cancelo»
NOTA
En la segunda ventana sólo debe dibujar un Dbgridl.
► I» il
ASIGNAR LAS PROPIEDADES
Base de Datos: Instituto. Tabla: Alumnos. El control Datal, Dblistl y Dbgrid (página N°2), deben tener las propiedades que
Apellidos Text 25 los ligan con la base de datos.
Nombres Text 25
Tumo Text 1 C O N T R O LD A T A
Ciclo Integer CONTROL DATABASENAM E RECORDSOURCE
Aula Text 3 Datal Agenda Amigos
Situación Text 1 C O N T R O L D B LIS T
Pensión Single CONTROL ROW SOURCE L IS T F IE L D
Traslado Boolean (Si/No) Dblistl Datal Apellidos
Trabaja Boolean (Si/No) CONTROL DBGRID
Fecha Date/Time CONTRO L DATASOURCE
Observaciones Memo Dbgril Datal
DESARROLLO: El resto de controles deben tener las propiedades como se muestra en la aplicación
En la ventana de declaraciones del formulario, declare la variable R E G de tipo a desarrollar.
Recordset y en Form Actívate asigne Datal.Recordset a la variable REG. Esto El Combol debe tener en su propiedad LIST las palabras desde Primero hasta
permite reemplazar durante todo el programa Datal.Recordset por REG. Puede Décimo. El Combo2 debe tener en su propiedad LIST los números desde 101 hasta
utilizar cualquier otra variable y si desea utilizarla en varios formularios de una 108. El control U p D o w n 1 debe tener:
aplicación, debe declarar la variable en un módulo.
Propiedad Valor
ngm Buddy Control Text4
Increment 1
Max 160
1 Min 1
Value 50
Wrap True
G ru po E d it o r ia l Megabyte 397
 VISUAL BASIC como debe se r.. . ■'"¿■-.y CAPITULO IX: Manejo de Base de Datos ^Ü H
C u a n d o se elige la opción elim in a i; se muestra una ventana de advertencia:
MANEJO DE FOTOS
%EMPLEADOS
NO M B R E S In fo rm a c ió n d e lo s E m p lea d os
U sando V isu al Basic usted puede grabar fotos en sus tablas. Para e llo , debe TE FOTO
d e fin ir el cam po tip o B in a rio si la tabla la crea con V isu al Basic o de tip o ALARCON GARCIA LILIANA NOMBRE [TERRONES PALACIOS LOURDES
CASTAÑEDA PACHECrg ri i j i .t
O b jeto O L E si la crea con Access. MEDINA CHISCUL CE!
Para m ostrar la fo to grabada en un reg istro puede u tiliz a r el c o n tro l Im age. PORRO INFANTES OS
RAMIREZ VASQUEZ T JJ
ESTA SEGURO DE ELIMINAR A ESTE EMPLEADO
Este co n tro l tiene las propiedades D ataSource y D ataF ield ig u a l que las TERRONES PALACIOS ™
cajas de texto para poder conectarse con el cam po que tiene la fo to . Las O p cio n e s D is p o n ib le s
fotos a u tiliz a r deben estar escaneadas y almacenas en una carpeta deter ADICIONAR I MODIFIc w i i n
GRABAR
m inada. En esta a p lica ció n la base de datos se lla m a P erso n a l y la tabla CANCELAR
Seleccionar su Foto
DESARROLLO DE LAAPLICACIÓN
C uando se elige la o p ció n A d ic io n a r o M o d ific a r se m uestran otros botones P A S O N ° 0 1 : D IB U J A R L O S C O N T R O L E S .
para poder c u m p lir con dicha o pción:
Labell Frame2
| n | •<|Pa(a1 T jÑ I Command?
.S in fo te ___ J
G r u po E d it o r ia l Megabyte 399
|111¡¡1|> VISUAL BASIC como debe ser... CAPÍTULO IX: Manejo de Base de Datos ^Í¡É11I^
PASO N ° 02: A S IG N A R L A S P R O P IE D A D E S A L O S C O N T R O L E S . In s tru c c io n e s d e l b o tó n E lim in a r
Al control Datal asígnele las propiedades Da taBaseName y RecordSource, P rív a te S u b C o m m a n d 3 _ C lic k ()
al D b c o m b o l las propiedades RowSource, Listfield y en su propiedad Style IfMsgBox( "ESTA SEGURO DE ELIMINARA ESTE EMPLEADO",36, "CUIDADO ")=6 Then
asígnele el valor 1 y estire el control para visualizar varios registros. A las R E G D e le te
cajas de texto y al control Image 1 asígneles en su propiedad DataSource y D a ta l.R e fre sh
DataField los campos correspondientes. A los botones de comandos, asíg E nd I f
neles en su propiedad Caption el texto c o m o se muestra en la aplicación a E nd Sub
desarrollar. In s tru c c io n e s d el b o tó n G r a b a r
P rív a te S u b C o m m a n d 4 _ C lic k ()
P A S O N ° 03: E S C R IB IR L A S IN S T R U C C IO N E S . REG. U pdate
D B C o m b o l .L istF ie ld = "N O M B R E "
D e f in ir las v a ria b le s a n iv e l de fo r m u la r io . D E SA C T IV A R
O p tio n E x p lic it E nd Sub
D im R E G A s R eco rd set
In s tru c c io n e s d e l b o tó n C a n c e la r
Instrucciones de los procedimientos a crear P rív a te S u b C o m m a n d 5 _ C lic k ()
REG. C a n ce l U pdate
Sub DESACTIVARO Sub ACTIVARQ D E S A C T IV A R
F ra m e 1.E n a b le d = F alse F ra m e 1.E n a b le d = True E nd Sub
C o m m a n d 4 .V isib le = F alse C om m and4. Visible = True In s tru c c io n e s d e l b o tó n S e le c c io n a r su F o to
C o m m a n d s.V isib le = F alse C om m and5. Visible = True P rív a te S u b C o m m a n d ó _ C lic k () ____________ ___________
C o m m a n d ó .Visible = F alse C o m m a n d ô .Visible = True R em C a rá cter N ° A L T + 124 ▼ ▼ ▼
C om m a n d 7 .V isib le = F a lse C om m and7. Visible = True C o m m o n D ia lo g l .F i l t e r - "F otos D isp o n ib le s\* .b m p \T o d a s (*. * j| * . * "
Im a g e 1.Stretch = True C o m m o n D ia lo g l. S h o w O p e n
Im a g e 1.Stretch = True
Im a g e 1 .B o rd erS tyle = 1 Im a g e l.P ic tu r e = L o a d P ic tu re ( C o m m o n D ia lo g l.file n a m e )
End Sub End Sub
E nd Sub
Instrucciones del Evento Form_Activate In s tru c c io n e s d e l b o tó n S in F o to
P r iv a te S u b F o rm _ A c tiv a te () P rív a te S u b C o m m a n d 7 _ C lic k ()
D E S A C T IV A R Im a g e 1 .P ictu re = L o a d P ic tu re("")
D a ta l.V is ib le = F a lse E nd Sub
S e t R E G = D a ta l.R e c o r d s e t In s tru c c io n e s d e l c o n tr o l D B c o m b o l - E v e n to C h a n g e
E n d Sub P rív a te S u b D B C o m b o l_ C h a n g e ()
D im C A s String
In s tru c c io n e s d e l b o tó n A d ic io n a r C = "N O M B R E L1KE + D BC om bol +
P r iv a te S u b C o m m a n d 1 _ C lic k () R E G F in d F irst C
A C T IV A R I f R E G N o M a tc h Then
R E G A ddN ew F ra m e l .V isible = F alse
T e x tl .S e t F o cu s E lse
E nd Sub F ram e 1 .V isible = True
End If
In s tru c c io n e s d e l b o tó n M o d if ic a r E nd Sub
P r iv a te S u b C o m m a n d 2 _ C lic k ()
A C T IV A R In s tru c c io n e s d e l c o n tr o l D B c o m b o l - E v e n to C lic k
REG. E d it P rív a te Su b D B C o m b o l_ C lic k (A r e a A s In te g e r)
T e x tl. S e t F o cu s D B C om bolJC hange
E nd Sub E nd Sub
VE N D E D O R E S DATOS D EL VEN D ED O R
JÖÖ4
CODIG O
Para m anejar dos o más tablas de una base de datos se puede u tiliz a r un
ÜO R G E CASTRO
NO M BR E
c o n tro l Data para cada una de ellas o u n ir las tablas y u tiliz a rla s con un solo
|20 1 66 5
c o n tro l Data. Esto depende del tip o de a p lica ció n que se desea desarrollar. TELÉFO NO
IN F O R M A C IÓ N D E L A V E N T A R E A L I Z A D A
La siguiente a plica ció n muestra un e je m p lo de m anejar dos tablas con un CODIGO 1004 (y
solo c o n tro l D ata para cada una de ellas y tam bién un solo c o n tro l D ata para FE C H A DE V E N T A 11 4 /0 2 /0 2 G R ABAR
las dos. D IS T R IT O DE V E N T A
í "" X
M O N TO I.. CANCELAR
VENDEDORES VENTAS
C o d ig o T ext 3 Codigo T ext 3
En las dos primeras páginas cada tabla se m aneja con su respectivo control
N om bre T ext 30 FechaVenta Date
Data, pero en la tercera se encuentran unidas y se u tiliz a un solo control Data.
T elefono T ext 10 M on to C urren cy
En esta a plicación se u tiliz a n 3 controles Data, e l D a ta i m aneja la in fo rm a
D is trito V e n ta T ext 20
ción de la tabla V E N D E D O R E S , el D ata2 la in fo rm a c ió n de la tabla V E N
T A S y el c o n tro l D ata3 m aneja la in fo rm a c ió n de las dos tablas que se
FechaVenta es la fe ch a en la cu a l cada ve n d e d o r re a liz a la venta y encuentran unidas a través de una in s tru c c ió n S Q L en una consulta (Q uery)
DistritoVenta es el nom bre del d is trito donde se rea liza la venta.
llam ada IN F O R M E .
L a a plica ció n debe p e rm itir v is u a liz a r las ventas realizadas p o r cada vende U S O D E V A R IA S T A B L A S rT n ra
dor, reg istra r las ventas y listarlas en fo rm a general, p o r d is trito o p o r fecha. VENTAS f R E G IS T R A R f L IS T A D O
Para una m a yo r com odidad, se debe rea liza r en un sólo fo rm u la rio usando el POR : _____________________________
c o n tro l SsTab, com o se m uestra a co ntin ua ció n : (* D IS T R IT O In g re s e el D istrito | V E r | TO DO S |
r FEC H A
U S O D E V A R IA S T A B L A S :TaP
C O D IG O NOMBRE T E LE F O N O FEC H Al M O N T O l D IS T R IT O
v e n t a s ! T R E G IS T R A R
X ► 001 J U L IO D A V IL A 232426 0 3 /0 1 /0 0 ! 50 ETEN
001 J U L IO D A V IL A 232426 1 0 / 0 2 /0 0 5 0 J.L.O .
DATOS DEL VENDEDO R
VENDEDORES 001 J U L IO D A V IL A 232426 2 2 /0 2 /0 0 ! 600 TUM AN
JU CODIGO
por 0 02 T E R E S A U B IL L U S 362166 2 5 /1 2 / 9 9 2 5 0 L A V IC T O R IA
0 02 T E R E S A U B IL L U S 362166 0 6 / 0 1 /0 0 ! 1 0 0 J .L O.
J U LIO D A V I LA
T E R E S A U B ILLU S 0 02 T E R E S A U B IL L U S 362166 0 2 /0 2 /0 0 ! 1 0 0 PO M A LC A
NOMBRE
NOEM I M O NTAÑO 0 02 T E R E S A U B IL L U S 362166 0 5 /0 2 / 0 0 5 0 PO M A LC A
JO R G E C A S TR O 1232426 0 02 T E R E S A U B IL L U S 362166 2 2 /1 0 / 9 9 1 00 PCI M A LC A
TE LÉ FO N O
0 04 JO R G E C A S T R O 201665 1 5 /0 2 /0 0 2 0 0 LA V IC T O R IA
VER SUS V E N TA S
<| --------------- — > r
V E N T A S R E A L IZ A D A S
FE C H AI M O N T O lD IS T R IT O
001 0 3 /0 1 /0 0 5 0 ET E N
001 1 0 /0 2 /0 0 50 J.L.O [T<|< ¡V E N D E D O R E S ► TÜTl | l < | < ¡V E N T A S » |m | Il<[ 4 IIN F O R M E ► | h] S A LIR |
001 2 2 /0 2 /0 0 6 00 TU M AN
E l asterisco ( * ) ind ica que al unirse las tablas deben pasarse todos los cam
.+: 1 0 V E N D E D O R E S
é 1 0 V E N TA S
~ I
pos de ambas tablas.
Si Usted, desea in d ic a r sólo algunos campos debe e scrib irlo s en lug ar del
asterisco separados p o r una coma.
VisData
E s c rib a u n v a lo r p a ra e l p a rá m e tro : | A c e p ta r
Cancelar
EF
EBS5¡mBH3ZEI
A rc h iv o U tilid a d V e n ta n a A^
a l i gol » I b
Si
g il In s t r u c c ió n S Q L
g ; E S * P r o p e r t ie s
í+ M i VENDEDORES E je c u ta r
lf. (p VENTAS
S E L E C T * F R O M V E N D E D O R E S IN N E R J O IN V E N T A S O N
ÉJ É P IN F O R M E _____
V E N D E D O R E S , c o d ig o — V E N T A S . C O D IG O Ih I * | p»ta1 ► I » ll | l< | 4 l o a l» 2 ► 1M i | w l « Í 0 a la 3 ► | H l C o rn M n d? |
-------------------- —--------------.--- ------- —---—...................... .... ........................... |
PASO N° 02: AS IG N AR LAS PROPIEDADES A LOS CONTRO LES
:
CONTROL DATA
L is to U s u a r io : a d m in C O N TRO L DATABASENAM E RECORDSOURCE C AP TIO N
Datai Tienda Vendedores Vendedores
D E S A R R O L L O D E L A A P L IC A C IÓ N N° 60 Data2 Tienda Ventas Ventas
PASO N° 01: DIBUJAR LOS CONTROLES Data3 Tienda Informe Infome
DECO M BO
!T»i. o¡ CONTROL ROWSOURCE L IS T F IE L D S TY LE
Lot.olí
DBcombol D atai Nombre 1
DBcombo2 Datai Nombre 1
(DBConiol L a b e l2
408 G ru po E d it o r ia l 40 9
G ru po E d it o r ia l Megabyte
VISUAL BASIC como debe se r.. . CAPÍTULO IX: Manejo de Base de Datos
Error '3131' en tiempo de ejecución : Ha escrito en forma incorrecta 1. E x p liq u e los com ponentes de una base de datos.
Error de sintaxis en la cláusula FROM. la instrucción Select. Por ejem 2. ¿Qué es la estructura de una tabla?
plo, no dejó espacio después
3. ¿Qué propiedades com o m ín im o se le deben asignar a una caja de textos
de la palabra WHERE.
o etiquetas para m ostrar el contenido de un campo?
4. E x p liq u e las p rincip ale s propiedades del c o n tro l Data.
lerminar Depurar Ayuda 5. ¿Cuál es la d iferen cia entre los controles D B lis t y D B com bo?
6. ¿Cuáles son los m étodos que perm ite n m anejar registros?
I Microsoft Visual Basic No ha ingresado información 7. ¿Qué es un cam po calculado?. E x p liq u e cóm o se pueden obtener
Error '3315' en tiempo de ejecución :
en el campo indicado antes de 8. E x p liq u e todo lo referente a la in s tru c c ió n S Q L Select.
grabar. 9. ¿Cuál es la ventaja de u tiliz a r variables tip o Recordset?
El campo 'ALUMNOS.OBSERVACIONES' no puede ser una cadena de
longitud cero. Por cada campo creado se pue
10. E x p liq u e las propiedades del o bjeto F ield.
de indicar que puede quedar
vacío o no, a c tiva n d o o 11. E x p liq u e los m étodos BeginTrans, C om m itT ra ns y R ollbackT rans
desactivando la siguiente ca 12. E x p liq u e cóm o se puede alm acenar una fo to g ra fía en un campo.
’ • ..i-- i í K’ "■
silla del campo: 13. E x p liq u e la in s tru cció n In ne r Join.
-jf,L -, j Terminar Depurar =J Ayuda
P Permitir longitud cero 14. ¿Qué requisitos deben c u m p lir las tablas para que se unan?
15. ¿Cuáles son los errores más com unes cuando trabaja con base de datos
Microsoft Visual Basic
y cuales son las posibles causas.
Error '3426' en tiempo de ejecución : Le asignó al D B list las propie 16. ¿ C u á l es la d if e r e n c ia e n tre las p ro p ie d a d e s A llo w U p d a te y
Esta acción fue cancelada por el objeto asociado. dades DataSource y Datafield. A llo w A d d n e w del c o n tro l D B g rid ?
En un programa de consulta el 17. ¿Cuáles son las propiedades básicas que se le deben asignar al control
control D B list debe tener sólo
D ata?
las propiedades Rowsource y
Listfield. 18. ¿Cuál es la d ife re n c ia entre D B c o m b o y el C om bo?
Terminar i Depurar j] Ayuda 19. ¿C óm o se e vita que el conte nid o de los campos que se m uestran en las
cajas de texto se puedan m od ifica r.
Microsoft Visual Basic 20. ¿Cuál es la d ife re n cia entre los controles D B lis t y L ist?
Error '3020' en tiempo de ejecución : No se puede grabar o cancelar
Es muy importante que usted, se form u le nuevas aplicaciones
Update o CancelUpdate sin AddNew o Edit. un nuevo registro o las m odifi
o intercambie aplicaciones propuestas entre sus compañeros
caciones realizadas sin antes
de estudio y desarrollarlas con la fin a lid a d de enriquecer
usar Addnew (botón adicionar)
sus conocim ientos
o Edit (botón modificar).
Depurar Ayuda
uuikjjd
F a c h a eJb V a n c r n i a n l d
I.Q.V. r 10.000
R r# o b d* C o m p ra m :m s
U t lid n d S / T TTSuC
F ttc iü de Vento (PÚbJicol f
PROGRAMACION
DAO
CAPÍTULO X: Programación DAO
En este ca pítulo se desarrollan entre otras, las siguientes a p lic a d -«es:
. P R O G R A M A S D E L IS T A D O V E S T A D IS T IC A 35E 1
L IS T A D O S ■rfclCMEIMtta
TO TAL PO R VENDEDOR
T O T A L P O R D IS T R IT O
\LIZADAS
T O T A L P O R V E N D E D O R V D IS T R IT O
N V E N D E D O R E S CON M AS V E N T A S I k im im I I I
D IS T R IT O C O N M A Y O R V E N T A SEGUN EL M O NTO
M O N T O T O T A L V E N D ID O S E G U N L A C A N T ID A D
C A N T ID A D T O T A L DE V E N T A S J5ÖÖ 50
002 06-01 -2 0 0 0 100
005 06-01 -2 0 0 0 600
004 1 5 -0 2 -2 0 0 0 200
001 1 0 - 0 2 -2 0 0 0
L i_l
C A N T ID A D D E R E G IS T R O S M O S T R A D O S
C A N I ib Ä b
REG R ESAR I
G ru po E d it o r ia l Megabyte 415 4 ¡ g $
O
m à > VISUAL BASIC como debe ser...
CAPITULO X: Programación DAO
P R O G R A M A C IÓ N D A O
MÉTODOS PARA MANEJAR LAS BASE DE DATOS
L a program ación D A O (O bjetos de A cceso a D atos) perm ite m anejar la
in fo rm a c ió n de una base de datos sin el co n tro l D A T A . En este tip o de OPENDATABASE
p rogram ación la in fo rm a c ió n se m aneja a través de determ inados objetos A b re una base de datos. Su sintaxis es:
que tiene V isu al Basic.
SetVariable_BD=Opendatabase(“ Nomb_Base_Datos” ,Exclusivo,Modo,Origen)
L os objetos de acceso a datos más u tiliza d o s son:
Variable_BD
D BENGINE Es el nom bre de la v a riab le (O b je to ) que va a representar a la Base de
E l objeto D B E n g in e representa al m o to r de bases de datos M ic ro s o ft Jet. D atos en la aplicación . Se debe declarar tip o D A T A B A S E a n iv e l de fo r
Es el o bjeto de n iv e l más alto y contiene y co n tro la todos los demás de la m u la rio (en la ventana de declaración del fo rm u la rio ) si sólo se va a u tiliz a r
je ra rq u ía de objetos de acceso a datos. en un fo rm u la rio , o a n iv e l de m ó d u lo (en la ventana de declaración del
WORKSPACE m ó d u lo ) si se va a u tiliz a r en varios fo rm u la rio s de una a plicación .
U n objeto W orkspace representa una sesión de un usuario. L a sesión de un N om b_B ase_D atos
usuario em pieza cuando éste se conecta a la base de datos y te rm ina cuando Es el nom bre de la base de datos que desea abrir. S i esta en una carpeta
c ierra la base de datos. d iferen te a la actual, debe espe cifica r tam bién la ruta.
DATABASE E xclusivo
Representa a la Base de Datos que se encuentra activa. Es un v a lo r ló g ic o (True o False). E l v a lo r True in d ic a que la base de datos
RECO RDSET se abre en fo rm a e x c lu s iv a (para un sólo usuario). E l v a lo r False in d ic a que
Representa todos los registros de una tabla o los que resultan de una consulta la base de datos se abre en fo rm a com p artida (para va rios usuarios).
con la in stru cció n S E LE C T . M odo
FIELD Es un v a lo r ló g ic o (True o False). E l v a lo r T rue in d ic a que la base de datos
Representa un cam po de una tabla. se abre en m odo sólo de lectura, es decir, no se puede m o d ific a r. E l va lo r
FIELDS False in d ic a que la base de datos se abre en m odo de lectura y escritura, es
Es una co le cción de objetos F IE L D y representa a todos los campos de una d e c ir se puede m odificar.
tabla. L a fo rm a de re fe rirn o s a un solo cam po está e xp lica d o en la página Origen
N ° 353 (Variables tip o Recordset). Se u tiliz a para in d ic a r los argum entos de cone xió n al m om ento de a b rir una
base de datos. E l argum ento orige n se expresa en dos partes: el tip o de la
NOTA base de datos, seguido de un punto y com a (;) y los parám etros opcionales.
C uando inicia una aplicación, Visual B a sic crea en fo r m a p re d eterm in a E l tip o de la base de datos, com o p or ejem plo "O D B C ;" o "F o xP ro 2 .5" debe
da los o bjetos D B E N G IN E Y W O R K SP A C E (D B E ngine. W orkspaces(0)). indicarse en p rim e r lugar. Los argumentos opcionales van a continuación sin
E stos objetos se deben utilizar cuando n ecesite m a n ip u la r bases de datos un orden específico y separados p o r caracteres p unto y coma.
que tengan activada la seguridad o crear un alcance distinto de transacción.
Todos los objetos Database abiertos en un o bjeto W orkspace com parten un NOTA:
m ism o alcance de transacción com ún. Es decir, cuando se usa el m étodo S ó lo e l n o m bre d e la b a se de d a to s es obligatorio, el resto d e p a rá m e tro s
B eginT rans en una base de datos, se a p lica a todas las demás bases de e s o p c io n a l.
datos abiertas en el o bjeto W orkspace. D e l m ism o m odo, el uso del m étodo S i n o e sp e c ific a e l v a lo r p a r a lo s p a r á m e tr o s E x c lu s iv o y M o d o , su
C o m m itT ra n s contra una base de datos se a p lica al resto de las bases de va lo r p re d e te rm in a d o es FALSE.
datos abiertas en el o b je to W orkspace.
416 G ru po E d it o r ia l M e g a b y te
417
G ru po E d it o r ia l M e g a b y t e
ü f r VISUAL BASIC como debe ser.. . CAPÍTULO X: Programación BAO 41111
OPENRECORDSET DbF orwardOnly
A b re una tabla de una base de datos activada previam ente. Su sintaxis es: E l o b je to Recordset es una snapshot de desplazam iento hacia adelante.
O bserve que los objetos Recordset creados con esta o p c ió n no pueden
Set Variable_RS = Variable_DB.OpenRecordset(“ Nomb_Tabla” ,Tipo,Restricciones) d uplicarse y que sólo adm iten el m étodo M o v e N e x t para desplazarse por
los registros.
Variable_RS DbSQLPassThrough
Es la variable que va a representar a los registros de la tabla en la aplicación. Se e vita el procesador de consultas del m o to r de base de datos M ic ro s o ft
Se debe declarar tip o R E C O R D S E T en el m ism o n ive l que declaró la variable Jet. L a consulta especificada en el argum ento orige n de O penRecordset
de tip o D A T A B A S E . se traslada a un se rvid o r de O D B C para su procesam iento.
Variable_DB D bSeeC hanges
Es la variab le tip o DataBase que u tiliz ó para a b rir la base de datos. Genera un e rror en tie m p o de e jecución si o tro usuario m o d ific a los datos
Nomb_Tabla que se están editando.
Es el nom bre de la tabla que desea abrir. Tam bién puede e s c rib ir el nom bre
de una consulta que creó y grabó en la ventana de instrucciones S Q L, ade CLOSE
más puede e s c rib ir tam bién directam ente una in s tru cció n S Q L. C ie rra los objetos de acceso a datos, co m o p o r e je m p lo la base de datos y
Tipo tablas. Su sintaxis es :
Es o pcion al y se puede u tiliz a r sólo cuando abre una tabla, para in d ic a el tip o Variable.Close
de R ecordset con el que desea a brirla. Estos tipos pueden ser: D onde Variable es el nom bre del objeto que desea cerrar.
D bO penT able D bO penD ynaset D bO penS napshot
R estriccion es NOTA
Es o p cio n a l y consiste en una constante que asigna una re s tric c ió n para el L a s c o n sta n te s d b C o n s is te n t y d b ln c o n s is te n t son m u tu a m e n te
m anejo de la tabla que esta abriendo. excluyentes. Puede u tiliz a r una o la otra, pero no ambas en la m ism a
instancia de O penRecordset.
Estas constantes son: U tilic e el ind icad or dbSeeChanges cuando desee interceptar los cambios
realizados p o r o tro usuario u o tro program a de su sistema m ientras esté
DbDenyW rite: editando o e lim in a n d o el m ism o registro.
L o s demás usuarios no pueden m o d ific a r n i agregar registros. Todos los eventos u tiliz a d o s con el c o n tro l D A T A , co m o p o r e jm plo ,
DbDenyRead: FindF irst, M ove N e xt, etc., tam bién se pueden u tiliz a r en la program ación
L o s demás usuarios no pueden ve r los registros (sólo objetos R ecordset de DAO.
tip o tabla).
dbReadOnly
S ólo puede ve r los registros y los demás usuarios pueden m o d ific a rlo s .
DbAppendOnly
S ólo puede agregar registros nuevos(sólo objetos Recordset de tip o hojas de
respuestas din ám ica).
d b lnconsistent
Se p erm ite n actualizaciones inconsistentes (sólo objetos Recordset de tip o
hoja de respuestas d inám ica).
D bC onsistent
S ólo se perm ite n actualizaciones consistentes (sólo objetos Recordset de
tip o hoja de respuestas dinám ica).
G ru po E d it o r ia l Megabyte 419
Í Ü Ü b > VISUAL BASIC como debe ser. . . < 3§ ¡CAPITULO X: Programación DAO
h r njJJ ± r N o m b re Ja r r o z
V a lo r d e C o m p ra {Too
U tilid a d % j 10 g ra b a r |
2. A b r ir la Base de Datos y la tabla o tablas en el evento F o rm _ A c tiv a te 1*
[ a c e it e H e c h a d e V e n c im ie n to 13 0 -0 9 -2 0 0 1 C a n c e la r |
del fo rm u la rio . ALG O D O N
(A R R O Z Jül
Por ejem plo, las siguientes instrucciones abren la base de datos llam ada
V E N T A S que se encuentra en C :\M IS D O C U M E N T O S y la tabla llam ada P r e c io d e C o m p ra
F ra m e 2
í A c e p ta r ]| Ayuda | C om m and3 j C om m and4 j C om m and5 j
C om m and! O
H| A CTUALIZARJCOMBO DESACTIVAR
1
5 ACTIVAR Textl =
Exit Sub Text2 - 0
Crear los siguientes procedim ientos: ¡NFORMA: Text3 = 0
MsgBox “No Se Pueden G rabar”, 64, Text4 = Date
Sub DESACTIVAR() Sub ACTUALIZAR JJOMBOQ “Verifique” Textl.SetFocus
Combo 1.Enabled = False Combo l.C lear End Sub End Sub
Frame ¡.Enabled - True RS.MoveFirst
Frame2.Enabled = False Do While Not RS.EOF Instruc. del Botón Cancelar Instruc. del Botón Modificar
Frame 3. Enabled = False Combol.Addltem (RS(0)) Prívate Sub Command2_Click() Prívate Sub Command4_Click()
End Sub RS.MoveNext Textl = XNOMBRE RS.Edit
Loop Text2 = XVALOR DESACTIVAR
Sub ACTIVAR() RS.MoveFirst Text3 = XUTILIDAD XNOMBRE = Textl
Combo 1.Enabled = True End Sub Text4 = XFECHA XVALOR = Text2
Frame ¡.Enabled - False ACTIVAR XUTILIDAD = Text3
Frame2. Enabled = True SubMUESTRA() End Sub XFECHA = Text4
Frame 3. Enabled = True Textl = RS(0) Textl.SetFocus
End Sub Text2 = RS( 1) End Sub
Text3 = RS(2) Instrucciones del Botón Eliminar
Text4 = RS(3) Prívate Sub CommandS_Click()
CALCULAR IfMsgBox("ESTASEGURODEELIMINARESTEPRODUCTO", 36, "CUIDADO")- 6 Tlien
End Sub RS.Delete
El procedimiento ActualizarjCombo, borra el contenido del Combol y muestra CommandSjClick
E n d lf
nuevamente todos los nombres de los productos. El procedimiento Muestra, visualiza ACTUALIZARJCOMBO
los datos del registro actual en las cajas de texto y llama al procedimiento Calcular. End Su
G ru po E d it o r ia l Megabyte 427 W »
|> VISUAL BASIC como debe ser.. . CAPÍTULO X: Programación DAO
TEXTMATRIX A P L IC A C IÓ N D E SA R R O L L A D A N° 62
Perm ite obtener el contenido de una celda indicada p o r el num ero de fila y C on la m ism a base de datos y tabla anterior, desarrollar el siguiente programa:
colum na. Por ejem plo, la siguiente instrucción muestra en Label 1 el conteni
do de la celda de la fila 2 y co lum na 1.
L a b e l 1 = M S F le x G r id l .T extM a trix(2 , 1) AÑO DE VENCIMIENTO PORCENTAJE DE DESCUENTO 2
TEXTSTYLEFIXED
Establece el e stilo de las letras de las celdas fijas. N* PRODUCTO 1 V. COMPRAI UTILIDAD % VENCIMIENTO ll.G .V . | p COMPRA UTILIDAD SA P. VENTA
1 TRIGO 25.00 5.00 * 12-12-2001 4 50 29.50 1.48 30.98
L os valores que se les puede asignar a las propiedades anteriores son: 0 2 CAFE 15.00 65.00 * 10-10-2000 2.70 17.70 11.51 29.21
texto norm al, 1 R e lie v e , 2 In c ru sta d o ,3 R elieve con so m b rea d o y 4 __ 3 FRIJOLES
4 LECHE
25 00
8.00
1 0 .0 0 *
2.00 X
31-12-2005
16-09-1999
4.50
1.44
29.50
9.44
2.95
0.19
32.45
9.63
In c ru s ta d o c o n so m b re a d o . 5 ARROZ 100.00 1 0 .0 0 * 30-09-2001 18.00 118.00 11.80 129.8
6 AZUCAR 86 00 50.00 * 16-08-2003 15.48 101.48 50.74 152.22
W ORDW RAP __ 7 ALGODON 260.00 15.00 % 31-12-2005 46.80 306.80 46.02 352.82
8 ACEITE 36.00 1 0 .0 0 * 01-01-2001 6.48 42.48 4.25 46.73
Acepta un valor True o False que indica si el texto de una celda se puede truncar
PARA ORDENAR. HAGA CLICK EN LA COLUMNA QUE DESEA
entre dos palabras o si una palabra se extenderá pasado el borde de la celda.
MÉTODOS DEL CONTROL MSFLEXGRIP
AD DITEM Este programa muestra todos los campos de la tabla productos y los siguientes
Perm ite a d icio n a r fila s al c o n tro l M s F le x g rid . campos calculados: IG V (18% del V alor de C om pra), Precio de C om pra (IG V
Su sintaxis es: M s F le x g r id .A d d ite m (“T e x to ", P o sició n ) + V a lor de Com pra), U tilid a d en Soles (Precio de Com pra por el Porcentaje de
T exto es el te xto de desea alm acenar en la fila que adiciona. En fo rm a U tilid a d entre 100) y el Precio de Venta (Precio de Com pra + U tilid a d en
predeterm inada, este te xto se coloca en la p rim e ra co lu m n a (Izqu ierda ). Si soles). También ordenar los registros por el campo donde se haga c lic k , además
deseamos a d icio n a r te xto a diferentes colum nas al m ism o tiem po, se debe debe mostrar sólo los productos que se vencen en un año ingresado o los que
u tiliz a r el carácter de salto de colum na: V B T A B . tienen un determ inado porcentaje de utilidad.
P o sic ió n es un v a lo r o p cio n a l que in d ic a dónde se va a a d ic io n a r la nueva Esta aplicación está desarrollada en una nueva aplicación. Si usted, desea de
fila . N i no lo in d ica , la nueva fila se ubica al fin a l del co ntrol. sarrollarla en la m ism a aplicación anterior (Form 2), entonces debe de declarar
CLEAR las variables D B y RS en un m ódulo con la palabra P U B L IC y el evento Form
B o rra la in fo rm a c ió n m ostrada en el co n tro l, pero no el num ero de fila s y Actívate del fo rm u la rio vo lve r a abrir la base de datos y la tabla.
colum nas que contiene. Por e je m p lo: M s F le x g rid .C le a r. A q u í se u tiliz a el m étodo F in d N e x t que p erm ite buscar el siguiente registro
M OVE que cum pla una condición. Es algo sim ilar a F indfirst, FindLast y FindPrevious
M u e ve el co n tro l a una nueva p o sició n en la pantalla. que buscan el p rim e ro , u ltim o y a n te rio r reg istro que cu m ple una co nd ició n
Su sintaxis es: respectivam ente. T am bién se da ejem plos de cóm o m a n ip u la r un objeto
M s F le x g rid .M o v e C olum na, F ila , A n cho , A lto Recordset.
C olum na: es un v a lo r que in d ic a la p o sició n h o riz o n ta l donde deseamos
u b ica r el co ntrol. PASO NH LD IBUJA R LOS CONTROLES.
F ila : es un v a lo r que in d ica la p osición v e rtic a l donde deseamos u bicar el
Jíex*1 Commendi | La b e C |Text2 Command2 |
control.
A n c h o , es un v a lo r o p cio n a l que in d ic a el nuevo ancho del objeto.
A lto , es un v a lo r o p cio n a l que in d ica el nuevo alto del objeto.
R EM O V EITEM
B o rra toda una fila del co ntrol. ■Km
Su S intaxis es:
M s F le xg rid .R e m o ve lte m V alor Label3
HAVING
Instrucciones del botón SALIR Perm ite seleccionar los registros agrupados que desea v is u a liz a r porque
P rív a te S u b C o m m a n d 4 _ C lic k () en estos casos no se puede u tiliz a r la palabra W here.
RS. C ióse
D B. C ióse Teniendo en cuenta la base de datos llamada TIENDA y sus tablas Vendedores y
E nd Ventas cuyas estructuras se indicaron en el capítulo anterior, se muestran los
E n d Sub siguientes ejemplos:
Contenido de la tabla Ventas
CODIGO FECHAVENTA MONTO IDISTRITOVENTA
001 03-01-2000 50 í TEN
CREA TUS PROPIAS B A SE DE DATOS Y 001 10-02-2000 50 J.L.O.
Contenido de la 001 22-02-2000 600 TUMAN
ESCRIBE LOS PROGRAM AS PARA tabla Vendedores 002 22-10-1999 100 POMALCA
« LA PRÁCTICA » 004
005
005
22-10-1999
06-01-2000
01-02-2000
60 MONSEFU
600 REQUE
200 MONSEFU
005 22-10-1999 250 REQUE
005 04-01-2000 150 POMALCA
JULIO DAVILA 3 700 6. M o s tra r el nom bre del vendedor, año de las ventas, to ta l v e n d id o
DANTE MILLAN 4 1200 observación, c o m is ió n en porcentaje y co m is ió n en soles. Se debe
v isu a liza r el total vend id o p o r cada vendedor sólo del año 2000 , una
2. M o s tra r el nom bre de cada vendedor, la cantidad de ventas realizadas y observación que indique cum plió o no la venta m ínim a (650 soles), además
el total vendido, ordenados alfabéticam ente, pero sólo los que vendieron debe, m ostrar la co m is ió n en porcentaje y e soles que le corresponde.
más de 650 soles. SelectNombre,Year(Fechaventa)AsAño,Sum(Monlo)AsTotal,lifiTotal <650,"NoCumplioLaVenia
SELECTNOMBRECOUNT(NOMBRE)ASCANTIDAD,SUM(MONTO)ASTOTALFROM Minima'V’SiCumplióLaVentaMinima")AsObservación, Iif(Total<650,"0%"Jit(Total>=650AndTota!
<800,"5%","10^ "))As[ComLsion %!Jif(TotaI>=652AndTotal<800,Total*5/100,Total *l(V100)As
INFORME G R OU PBYNOMBRE HAVINGSUM(MONTO)>650ORDERBYSUM(MONTO)
[ComisionEnSoles] FromInfoimeGroupByNombre,YeaitFechaventa)HavingYear(Fechaventa)=2000
Resultado
Resultado NOMBRE 1 AÑOl TOTALl OBSERVACION 1COMISION X 1 COMISION EN SOLES
DANTE MILLAN 2000 950 SI CUMPLIO LA VENTA MINIMA 10% 95
NOMBRE CANTIDAD 1 TOTAL!
JORGE CASTRO 2000 200 NO CUMPLIO LA VENTA MINIMA 0% 20
JU LIO DAVILA 3 700
JULIO DAVILA 2000 700 SI CUMPLIO LA VENTA MINIMA 5% 35
DANTE MILLAN 4 1200 TERESA UBILLUS 2000 250 NO CUMPLIO LA VENTA MINIMA 0% 25
L lU
001 10-02-2000
y DATOS = MSFlexGrid l.Rows
For X = 1 To NCAMPOS
DATOS = DATOS & vbTab & RS(X - 1)
CANTIDADDEREGISTROSMOSTRADOS
N extX
MSFlexGridl.Addltem (DATOS)
P A S O N ° 1: D IB U J A R L O S C O N T R O L E S . RS.MoveNext
Loop
RS.MoveFirst
Label3 = RS.RecordCount
End Sub
Instrucciones de la opción Vendedores.
Prívate Sub VENDEDORES_Click()
Labell = ‘LISTADO DE VENDEDORES"
Set RS = DB. OpenRecordset( “ VENDEDORES ”)
LLENAR
End Sub
Instrucciones de la opción Ventas.
Prívate Sub VENTAS Clickf)
Labell = “RELACIÓN DE LAS VENTAS REALIZADAS”
Set RS = DB. OpenRecordsetf “ VENTAS ”)
Sólo debe dibujar tres etiquetas y un MsFlexGrid. Sólo asigne propiedades a LLENAR
las etiquetas y diseñe un m e n ú c o m o se indica en la aplicación a desarrollar. End Sub
2 -
1 -
i í g l i i l
D A N T E M ILLAN JORGE CASTRO
iPUl JU LIO DAVILA TERESA UBILLUS
- 2
- 1
12. E xp liq u e los m étodos del control M s F le x G rid .
13. ¿Qué s ig n ific a D A O ?
14. E x p liq u e los m étodos para m anejar una base de datos con D A O .
15. E xp liq u e el co ntrol M s F le x G rid
16. ¿En qué partes de la aplicación se pueden d e fin ir las variables Database
y Recordset.
17. E xp liq u e la propiedad Sort del co n tro l M s F le x G rid .
18. ¿Cuál es la d iferen cia entre W here y H aving?
19. E x p liq u e las form as de a b rir una tabla usando D A O .
20. ¿Cóm o se pueden u n ir tres tablas?
O J
- O í 'í
o
I R EGR ESAR ! No olvides que para pasar al siguiente capítulo, debes obtener
un 20 en esta autoevaluación.
D e £|@ B jâ f S
Design Preview Today 0G:34 | CloseI T O l of i [ F i T T ir ^
--------------------- l;,
------ --
Choose an Expeil: Dr:
r
f<TTÏÏ7
' —À 3 1
IIHUli
r r t
.ZZJEL r s i E
!; !
Standard Listino Cross-Tab Mail Label Another Report
Cancel
Reccté: 9
Help
CREACIÓN
DE
REPORTES
mam h m
CAPÍTULO XI: Creación de Reportes € m
Visual Basic permite diseñar reportes de una manera fácil y rápida. A con
tinuación se explica el programa Cristal Report que es el generador de
reportes predeterminado de la versión 5.0 de VB. Si usted tiene la versión
6.0 utilice el DATAREPORT que se explica a partir de la página N° 461.
C R E A R R E P O R T E S C O N C R IS T A L R E P O R T
-"JÜ i
File Edit Insert Format Database Report Window Help
j i n i r ZEZ
Crystal Reports Pro
C h o o se an E xpert: Or:
S ta n d a rd L istin g Cross-T ah M a il L a b e l A n o th e r R e p o rt
C a n ce l
=7^
2—
3— H e lp
S um m ary G ra ph T op N Drill D o w n
C u stom >>>
G ru po E d it o r ia l Megabyte 447
p m
o
w Æ M ' VISUAL BASIC como debe ser... CAPÍTULO XI: Creación de Reportes
Una vez seleccionado el tipo de reporte que desea diseñar, debe elegir el
tipo de base de datos a utilizar. Haga click en Archivo (DATA FILE). Una vez seleccionada la base de datos haciendo doble click en su nombre o
con el botón Agregar (Add), haga click en el botón Terminar (Done) para
*1 salir de la ventana.
S tep 1: T ables 12: Fields 13: Sort j 4: Total j 5: S elect 16: Style |
Step: Choose d ata to report on. Y o u can choose multiple tables and add indexes.
La siguiente ventana que se visualiza depende del tipo de reporte elegido.
2Sl
D e? y m. s f s o |,£J) #4 £3 M Ü S i H ] ] f i #
S te p 1: T a b le s 2: F ie ld s J3: S o rt j 4: T o ta l | 5: S e le c t j 6: S ty le j
Design Preview Today 06:34 | Close | | ¡ ] 1 of 1 f ] |||
S te p : S e le c t fields to in c lu d e in rep o rt. Y o u c a n re o rd e r th e m a n d c h a n g e h e a d in g s .
---------------------------- —
D a ta b a s e Fields: R e p o r t Fields: | #| ; |
R e p o r t Fields: A
D a ta b a s e Fields:
A d d -> !
- - A M I G O S ...... A ll - »
1 1
D IR E C C IO N
D IS T R IT O <- R em o ve
J F l F F ÍlN f l
« • A ll
B ro w s e D a ta ... iF o rm u Ía ...i|
1 J1JICUL
Jn n r \ m i iuî:
Records: 9 100%
G ru po E d it o r ia l Mega b y 1 c 451
^ |§ y § |> VISUAL BASIC como debe ser... CAPÍTULO XI: Creación de Reportes ^
TOTALIZAR O CONTAR GRUPOS DE REGISTROS A D D ->
Permite indicar el campo por el cual va a seleccionar a los registros que
Después de indicar el campo o campos para la ordenación, Ud. puede indi desea visualizar en el reporte.
car que los campos sean sumados, contados, promediados u obtener el va Luego debe formar la condición que deben cumplir los registros para que se
lor máximo o mínimo muestren en el reporte. La condición se forma con los operadores y con los
ü J
valores que Ud. puede elegir.
S tep 1: Tables 12: Fields 13: Sort 4: Total |5: Select 16: Style |
registros. Estos gru
pos de registros de Step: Choose fields to subtotal, count etc. E a ch tab is a group (or subtotal break). SEL EC C IO N A R EL E ST IL O DEL R E PO R T E
penden del campo A M IG O S .N O M B R E | Q ..... Ud. puede mejor el aspecto del reporte, para ello haga click en la opción
por el cual los regis Subtotals printed on any cha n ge of A M IG O S .N O M B R E 6.STYLE, observará las siguiente pantalla. Elija el estilo de reporte que
tro están ordenados. n , r n
Report Fields:
T otal Fields: mejor le parezca. Por cada estilo de reporte se muestra un ejemplo de cómo
Report Fields: _ J
se visualiza.
Haga click en el bo A M IG O S .D IR E C C IO N — A d d ->. I
tón N E X T » o en A M IG O S .D IS T R IT O
A M IG O S .T E L E F O N O . I
S te p 1: Ta b le s | 2: Fields j 3: Sort 14: T o ta l | 5: Sele ct 6: Style |
visualizará la panta
lla siguiente: Browse Data... I r zl Title: I
Style:
✓ A d d Grand Totals . . _ A d d picture,
L e a d in g Break s u c h as
« B a ck J Next » j Cancel
I I preview Report | Preview Sample | Trailing Break co m pa n y logo:
Ta b le
D ro p Ta b le
E x e cu tiv e , Le a d in g Break
ADD GRAND TOTAL E x e cu tiv e , Trailing Break
S ha din g
Indica si al final del reporte se debe visualizar el total general. R e d / B lu e Border
M a ro o n / Te a l Box
P re vie w Tip...
_Ll =
m
AMIGOS DISTRITO — Add ■> I
la pantalla siguiente:
CRYSTAL REPORT
[ü 3 ¡euuaUo vI |l -T.j
CHICLAYO
LA VICTORIA
Es un control que se utiliza para activar desde un formulario cualquier re
LAMBAVEQUC_______________________________________ porte diseñado. Lo puede dibujar en cualquier parte del formulario porque
no se visualiza cuando se ejecuta la aplicación. En la lista de componentes
Drowse Data . | Speed Tip .- |
se encuentra con el nombre: Crystal Report Control.
« fciack I fW >> I Cancel | | Preview Beport | Preview Sample j Sus principales propiedades son:
G ru po E d it o r ia l Megabyte 453
J VISUAL BASIC como debe ser... CAPÍTULO XI: Creación de Reportes
CU STO M (Personalizado) Su desea indicar el archivo de reporte a imprimir dentro de un programa,
Tiene las opciones que permiten personalizar el reporte. entonces su nombre debe estar entre comillas e incluir la ruta del archivo.
Páginas de propiedades
La opción File (A un Archivo) graba en un archivo el reporte para su uso
Base de datos | Selección | Informe enlazado a datos Base de datos | Selección ] Informe enlazado a datos posterior. La opción A MAPI envía el reporte a otra persona en un mensaje
General j Ventana de impresión | Impresor a | Imprimir a un archivo General Ventana de impresión ] impresora ] Imprimi» a un archivo
RepoitFHeNafne: |j | Wl: p ---- !®W fSÓ---- de correo electrónico el formato especificado por la propiedad PrintFileType.
[¿estination lo p rrsr— H ^iar- rK“' REPORTSOU RCE
,-------------------- ——------- — : (• S¡rabie FixedQouble
(* A una ventana A una impresora C A un archivo
r A la MAPI
Title jEJEMPLO DE REPORTE
P CfintroIBox P (dinButton
.
p
”
MasBulton
Para indicar la fuente de los registros para el reporte.
O-CRPTREPORT: Muestra en el reporte todos los especificados al diseñar
el reporte.
3-CRPTDATACONTROL:Los registros que muestra dependen de los que
Aceptar ~] I Aceptar ~ | contiene el control Data. Se utiliza junto con la propiedad Datasource y
Páginas de piopiedadet El normalmente cuando se filtran registros con la instrucción SELECT.
General 1 Ventana de impresión | Impresora ¡ Imprimir a un archivo Base de datos | Selección ¡ Informe enlazado a datos I A C T IO N
[ Base de datos ji Selección 1 Informe enlazado a datos General | Ventana de impresión | Impresora )• • uñ t
Activar el reporte asignándole el valor 1. Por Ejemplo, para activar el reporte
yserName: J~" Piintrtejiame: ■J
Cgnneci I PrintFteTupe. I Registro ~3 que está ligado al control CrystalReportl se escribe: CrystalReportl.Action = I
S E L E C T IO N FO R M U L A
Permite escribir una condición que selecciona los registros a visualizar en el
reporte. Los nombres de los campos deben estar entre llaves. Por ejemplo:
Si tenemos un reporte con la tabla Amigos y queremos mostrar sólo los que
Cancelar I
viven en Chiclayo, entonces debemos asignar a esta propiedad la siguiente
condición: {DISTRITO} = "C H IC L A Y O "
D A TA SO U RCE
Su uso en reportes es opcional y permite indicar el nombre del control data Cundo hemos realizado un reporte con dos o más tablas, cada campo debe
que está ligado a la tabla de la cual se desea obtener el reporte. estar acompañado del nombre de la tabla a la que pertenece. Por ejemplo:
Si tenemos un reporte con la base de datos Tienda (tablas Vendedores y
R E P O R T F IL E N A M E Ventas) y queremos mostrar todas las ventas cuyo monto esta entre 50 y
Permite indicar el nombre del reporte que desea imprimir, además usted 100, esta propiedad debe tener: {V E N T A S.M O N T O } >=50 AND
tam bién puede seleccionar el destino del reporte que por defecto es {VENTA S.M ON TO} <=100
WINDOWS (A una Ventana).
Con la opción A la V entana, el reporte se mostrará en la pantalla como una PRINTFILETYPE
presentación preliminar. Si ya tiene una impresora conectada y lista para Especifica el tipo de archivo va a imprimir cuando utiliza como destino del reporte un
imprimir puede elegir la opción Printer (A un Impresora). Archivo (File).
Los principales valores que puede tener son:
General J 0 Registro: Es la propiedad predeterminada y muestra la información columnas, no
fìeportFileNarne: | ] utiliza comas ni separadores. Muestra todos los registros con una anchura fija de
: destination
C A una ventana A una impresora A un archivo
campo.
<• A la MAPI
Haga click aqui para 1 Separado por tabuladores: Presenta los datos en forma tabular. Encierra los datos
buscar el archivo de de campos alfanuméricos entre comillas y separa los campos con tabuladores.
Reporte. 2 Texto: Guarda los datos en formato de texto ASCII con todos los valores separados
por espacios. Este estilo se parece mucho a una página impresa.
Acepta» ~| Cancela»' j Aplicar | Ayuda
Indica el título que debe tener el reporte cuando se muestre en una ventana. ÙÜJ
úúS
úüü
JÖCÖ-E CASTRO
DAKTE tATLL-4ÍV
IHj'ZAfAJELKA
WINDOWCONTROLS ÛÛ?
úúS
JOprJEARMANDO
MARV. JC/LV4
I°
<& B
<!
O
O
Pí
z -
A: - í » - **-s. . ' ü
r CAPITULO XII: Programación ADO
PROGRAMACION ADO
Para poder acceder a una base de datos desde el Visual Basic con los
controles ADO, primero se debe preparar o configurar la conexión, la cual
se puede realizar con:
ODBC:
Significa Conexión de Base de Datos Abierta y nos ayuda a conectarnos a
una gran variedad de base de datos. El Windows tiene su controlador de
Base de datos ODBC.
Estos dos tipos de conexiones para base de datos las puede realizar desde
el escritorio de Windows o desde el mismo Visual Basic.
G ru po E d it o r ia l Megabyte 461
o
WÆ&m VISUAL BASIC como debe ser... CAPÍTULO XII: Programación ADO
3. La elección del controlador depende del tipo de base de datos a la cual
CONFIGURAR LA CONEXIÓN DESDE EL WINDOWS le desea crear el origen de datos. Por ejemplo. Si a creado la base de
ODBC datos en Microsoft Access o en el mismo Visual Basic debe elegir
1. Ingrese al Panel de Control (Inicio, Configuración, Panel de Control) y Microsoft Access Driver (*.MDB). Si a creado la base de datos en
haga doble click en el icono Fuente de Datos ODBC. Se visualiza la Visual FoxPro debe elegir Microsoft Visual Foxpro (*.DBF). Si a creado
ventana de Administración de Orígenes de Datos ODBC con todos los la base de datos en Power Builder debe elegir Microsoft SQ1 Any Were,
orígenes de datos ya creados. si la base de datos esta en SQL Server elija el control SQL Server, etc.
I' I
y«TI II 9 Ewvarfo.* Ayu<ij Mi' .~3B
f_________ áL cí •'
La siguiente ventana que se visualiza, depende del tipo de base de datos
#4 ^ 1 elegido. Por ejemplo, al elegir Microsoft Access Driver (*.MDB) y hacer
ÄK- * a r 's sä *
click en el botón Finalizar. Se visualiza la ventana de instalación de ODBC
& tO sa
M J para Microsoft Access.
'■3P Instalación de ODBC para Microsoft Access L ili
W ’ ' «ä "i tí?
,£ L Nombre d<?l ¡¡rigen do dalos ¡
Dcíciipcióti
__i M. PC Ba.odcdotu,
Base de dalos; Ayuda I
Se puede crear tres tipos de orígenes de datos: Seleccionar. I üeai... Compactai
Avanzado.. |
O rígenes de Datos de U suarios (DSN de Usuarios)
; Bas« dç datos del sistema
Los cuales se pueden ver y utilizar sólo en el equipo donde los crea y por el
usuario que los crea. Nr>giirv=i
Los cuales se pueden ver y utilizar por todos los usuarios de la computadora OpcionesI
donde se crea.
O rígenes de D atos de A rchivo (DSN de Archivo)
Los cuales permiten conectarse a un proveedor de usuarios y por lo tanto se Escriba el nombre que le desea asignar a su origen de datos que esta creando
pueden utilizar por todos los usuarios que tengan instalado el mismo contro y opcionalmente una descripción. Este nombre que usted escriba, se utilizará
lador. Estos orígenes de datos no necesitan estar dedicados a un usuario ni en los programas que desarrolle en Visual Basic para referirse a la base de
ser locales en un equipo. datos. Luego haga click en el botón Seleccionar para buscar la base de
2. Seleccione el tipo de origen de datos que desea crear y haga clic en datos para la cual esta creando el origen de datos.
botón Agregar. Se visualiza la ventana para seleccionar el controlador
del origen de datos. S eleccionar b ase d e datos EJ
Nom bre de base de datos Directorios: Aceptar
r.rn d b c :\
Cancelar |
n
r~l Archivos de progra A yuda
Q C O N T A B IL ID A D .
Ü3D B 2 P Sólo lectura
Q HH
I“ Exclusivo
Q IB M V J ava _^J
L J j
J Enum erar archivos de tipo: Unidades:
NOTA: Para empezar a trabajar con los orígenes de datos se recomienda seleccionar 1Bases de datos A ccess ^ | IÖ c: C E T D I T ] R ed...
el origen de datos de Usuario.
1 ) Documento de texto
Aceptar ] Cancelar {
Documento de Microsoft Word
A dodd ►M
Para desarrollar una aplicación que maneje una base de datos usando este
control sólo es necesario inicialmente asignarle valores en su propiedad
C O N N EC TIO N STR IN G donde se indica el nombre del origen de datos y
Una vez que ha seleccionado el proveedor, active la hoja conexión cuya en su propiedad R EC O R D SO U R C E, donde se indica el origen de los
pantalla depende del tipo de Proveedor elegido. Por ejemplo la siguiente registros que normalmente es el nombre de una tabla o un texto que consiste
pantalla se visualiza cuando se ha elegido Microsoft Jet OLE DB Provider. en una instrucción SQL.
.0«rw»¿l j Prov«orlot CotwxtóM ) Av«r>7.ado 1 T okíos 1
Para visualizar en el cuadro de herramientas el control ADO y sus controles
compatibles, cree un nuevo proyecto en el modo “ C ontroles de VB
,1infoim.-.oú'inf
Edición E m p resarial” .
N u e vo p ro y e c to
IB
^3 Aceptar
<sv SI St
Asistente para Administrador Proyecto de Aplicación US
aplicaciones... de asistent... datos Ayuda
I A .'
•SI SI Sb§ St
Addin DII de Exe de Aplicación
En esta ventana haga click en el botón Buscar (...) para seleccionar la base docume... docume... DHTML
I( A c e p ta r ]|
Otra forma de tenerlos en el cuadro de herramientas es, abriendo la ventana
de componentes (Control+T) y activando la casilla respectiva. La casilla
Esto indica que el archivo se ha creado correctamente y esta listo para del control ADO es: M icrosoft AD O data control 6.0 (OLEDB).
utilizarlo en Visual Basic y poder manipular la base de datos indicada.
G ru po E d it o r ia l Megabyte 467
ém m VISUAL BASIC como debe ser... CAPÍTULO XII: Programación ADO < € ¡¡¡¡1
2. SI NO HA CREAD O E L O R IG E N DE DATOS.
USO DE LA PROPIEDAD CONNECTIONSTRING Para crear un origen de datos usando Visual Basic, haga click en el botón
con tres puntos que tiene la propiedad ConnectionString (... |). Se visualiza
1. SI YA C R EÓ EL O R IG E N DE DATOS.
la ventana anterior donde debe indicar el tipo de conexión a crear.
1.1 A R C H IV O DE V ÍNCULO S 2.1 C R EA R UN A R CH IV O DE VÍNCULO S
Si ya creaste una conexión usando un archivo de vínculos, en la Para crear un archivo de vínculos, seleccione Usar Archivo de
propiedad ConnectionString debes escribir: F IL E NAM E=Ruta y Vínculo de Datos y haga clic en el botón Examinar. Se visualiza la
nombre del Archivo.UDL siguiente ventana:
Por ejemplo: Si has creado un archivo de vínculos llamado VENTAS
en la unidad C:\SISTEM A, debes escribir: F IL E NAM E=C:\ I...h ~ 3 üJ M nJ Iri OJ
SIST E M A W E N T A S. UDL
ConnectionString I FILE N A M E =C : \S IS TE M A \VENT AS J
1.2 OD BC
Si ya creaste una conexión a tu base de datos usando ODBC, en la
tJombro de oíchivo f 1 Abrir 1
lipa de archivo*: ¡Archivo" de Micro*oft Data Link (' "udij"
' ■ Cóncola! [
propiedad ConnectionString debes escribir: D SN=Nom bre del
Origen de datos P«la cteai un aichivo <1«vinculo de iWos tunvu tiaga clic con H botón
«ecuridaiio del mouse en cualquier paire de Ia lis*« de Archivo» y, despu£v.
seleccione Microsolt Data Lmk en el menú Nuevo
Por ejemplo: Si has creado un origen de datos ODBC llamado Paia modificai «I aichivo de vínculo de datos, hag$ doble clic «ri ©I archivó.
AGENDA, debes escribir: DSN=AGENDA
ConnectionString ID S N =AG E N D A J En esta ventana haga clic con el botón derecho del Mouse, elija la opción
Nuevo y luego la opción Microsoft Data Link y siga los mismos pasos
MUY IMPORTANTE:
No debe haber espacios ni antes ni después del signo igual (=) y si utiliza archivo indicados en la creación de un archivo de vínculos desde el Windows.
de vínculo, debe indicar también la extensión del archivo (.UDL). Una vez creado el archivo, selecciónelo y haga click en el botón Abrir y
luego en el botón Aceptar.
Otra forma de indicar el origen de datos es haciendo Click en el botón con 2.2 C R E A R UN ODBC
tres puntos que tiene la propiedad ConnectionString ( ... |), se visualiza la Para crear un origen de datos ODBC, seleccione Usar Nombre de
siguiente ventana: Origen de Datos ODBC y haga click en el botón Nuevo. Se visualiza
[GwiM'á :J la ventana:
Oi¿gen de conexión
ni i min ii n i b í — — — — i
Usar archivo de vínculo a datos ____
Sster..ckMvw un tipo d e origen d e da to s
f* ¡Q iijjen d e d a lo s d e arch iv o (equ ipo ind ep en díen le}
t~ ' Usai nombre de origen de datos ORBC
I — — Origen d e d a to * d a u su a rio (<» a p lic a « ilo a a s te equipe-)
f" P jífl« n d e d a to s d e siyiem á (s e «p lic a tú lo a e v t* equipo)
Usar cadena de conexión ______________
Al «eleccionaf O ligan d e dato» d a « c h iv o c re a u n exigen de d.stoi
b a sa d o e n u n archivo q u e so com parto co n todos tos usuario? que
liei te n a c c e s o a la b a s e «Je d a to s .
Otros attifeutos: |
en esta ventana indique si ha creado un archivo de vínculo o un ODBC. j Siguiente >j Lancolar J
Si a creado un archivo de vínculo, haga clic en el botón Examinar para
buscar la carpeta y el nombre del archivo. En esta ventana seleccione el tipo de origen de datos a crear, y siga los
Si ha creado un ODBC, haga click en la flecha hacia a bajo del Combo para mismos pasos indicado en la creación de ODBC desde el Windows.
seleccionar el ODBC.
468 G ru po E d it o r ia l M egabyte^ ^
|Í ¡ ||i |^ G ru po E d it o r ia l Megabyte 469 « »
(¡É l
% VISUAL BASIC como debe se r... CAPITULO XII: Programación ADO
USO DE LA PROPIEDAD RECORDSOURCE
ERRORES MÁS COMUNES
La propiedad RecordSource se debe utilizar después de ConnectionString y
se utiliza para indicar el origen de los registros. Cuando se ingresa a esta Cuando no se a escrito o seleccionado correctamente el origen de datos o
de los registros se visualizan varios mensajes de error, los cuales se indican
propiedad, se visualiza la siguiente pantalla:
.1 continuación con la finalidad de poder corregirlos en forma fácil y rápida.
GE ES3
( O r ig e n d ë r e g i s t r o s j|
O rig e n d e re g is tro s [Microsofl][Ádministrador de controladores ODBC] El nombre del origen de datos no se encontró y
T ip o d e c o m a n d o no se especificó ningún controlador predeterminado
| 8 - adC m dU nknow n _
Texto del coniando (SQL) lil mensaje anterior se visualiza cuando el origen de datos indicado en la
propiedad ConnectionString no está creado, es decir, no existe en la
computadora donde se desea manejar la base de datos o escribió en forma
A yuda incorrecta la cadena de conexión. Por ejemplo, dejó espacio antes o de
después del signo igual (=).
En esta ventana, primero se indica el tipo de comando, es decir, cómo se
obtendrán los registros.
Tipo de com ando
zJ
N o se p u e d e e n co n tra r XA.
|S - adCrndUnknown
c a p ta r j|
8 - adC m diJnknow n .................................
1 • adCmdT ext
2 • adCmdT able lil mensaje anterior se visualiza cuando el nombre del archivo de vínculo
4 - adCrndStoredProc
indicado en la propiedad ConnectionString no existe.
Los tipos de comandos más usados son:
[Microsoft][Controlador ODBC Micro soit Access] Instrucción SQL no válida; se esperaba 'DELETE',
* 1 -ad C m d T ex t, 'INSERT', 'PROCEDURE', 'SELECT' o 'UPDATE'.
Para que los registros se obtengan desde una instrucción SQL. Aceptar
* 2-adC m dT able
Para que los registros se obtengan de una tabla.
l i l mensaje anterior se visualiza cuando en tipo de comando se eligió la
La opción 4-adC m dS toredProc se usa cuando se tiene un procedimiento opción 1-adCmdText y no se escribió correctamente la instrucción SQL.
almacenado en el servidor y 8-adC m dU nknow n cuando el tipo de comando
es desconocido. [ADODC]: no se ha especificado ningún RecordSource. [AD0]:No se configuró un comando para el
objeto comando
NOTA
Una vez que asignó el origen de los registros; su base de datos, tablas y registros
están listos para utilizarlos en cualquier aplicación usando los controles
compatibles del control ADO, como por ejemplo: DataGrid, DataCombo, DataList, lil mensaje anterior se visualiza cuando no ha indicado el origen de los
TextBox, Label, etc. registros, es decir, no se llenó la propiedad RecordSource.
KM
Æ 470 G r u po E d it o r ia l Megabyte ^¡| G ru po E d it o r ia l Megabyte 471
I M S
J VISUAL BASIC como debe ser.. . CAPÍTULO XII: Programación ADO ^ ¡¡¡¡¡l
OTRAS PROPIEDADES DEL CONTROLADO C U R S O R L O C A T IO N
Indica desde dónde se van a utilizar los cursores. Se puede elegir desde el
El control ADO tiene muchas propiedades similares al control Data. Las cliente (computadora de trabajo) o desde el servidor.
nuevas propiedades de este control son: COM M ANDTYPE
Indica el tipo de comando para acceder a los registros. Se pueden seleccionar
PE R SO N A L IZ A D O las mismas opciones que se utilizan en la propiedad RecordSource.
Esta propiedad permite también asignar todos los valores necesarios para LO CKTYPE
que se realice la conexión a una base de datos. Se puede activar también Permite establecer el tipo de bloqueo que deben tener los registros al
haciendo un click con el botón derecho del Mouse sobre el control ADO y momento de acceder a ellos para modificarlos.
eligiendo la opción Propiedades de ADODC. La pantalla que visualiza es • AdLockReadOnly:(Sólo de lectura). Es el predeterminado y se caracteriza
la siguiente: i-jj.im r u E sa KZ1 porque no se pueden modificar los registros.
A u te n tic a c ió n | O rig e n d e r e g is t r o s | C olor ] F u e n te |
• AdLockPessimistic: (Pesimista). Se caracteriza porque el programa hace
Origen de conexión
V is u a l B a s ic . C o m o d e b e s 11! ! lí
(” A c e p ta r jj Ayuda
□
active la casilla del control que desea utilizar. Artículos
Listado Qrl+L
Mantenimiento Ctrl+M
C O N TR O L D ATAG R ID Consulta Ctrl+C
Salir Qrl+S
Este control es muy similar control DbGrid y permite mostrar varios registros
a la vez, para ello, sólo le debe asignar su propiedad DataSource donde se
indica el nombre del control ADO.
Si no se encuentra en el cuadro de herram ientas, abra la ventana de
componentes y active la casilla de:
M icrosoft DataGrid Control 6.0 (OLEDB). 1 9 /0 6 /0 0 10:18 a.m. Visual Basic. Como debe s e r. TFT! ¡I
CONTROLES D A TA LIS T y D A TAC O M B O Las opciones se pueden elegir desde el menú principal o desde la barra de
herramientas.
En la barra de estado se muestra la fecha actual, hora actual, nombre del
Son similares a los control DbList y DbCombo y permiten mostrar el contenido libro y un acceso a la calculadora.
de un campo de varios registros. Para ello, debe asignarles como mínimo la La estructura de la tabla Artículos es:
propiedad RowSource, donde se indica el nombre del control ADO y la
propiedad ListField, donde se indica el nombre del campo cuyo contenido se Codigo Texto 5
desea visualizar. Nombre Texto 30
Si no se encuentran en el cuadro de herramientas, abra la ventana de Presentación Texto 20
componentes y active la casilla de: ValorCompra Currency
M icrosoft DataLists Control 6.0 (OLEDB). Vencimiento Data/Time
FORMULARIO N s 01
En el form ulario N° 01 debe diseñar el menú, la barra de herramientas y la
barra de estado, como se muestra en la página anterior. La creación de Labell
rrrr.— L¿»b«l4
Labél'.»
l.abnK.
!...at>ial7 C A R A C T E R ÍS T IC A D E L F O R M U L A R IO .
~EÌ 12000 jtJ -
Commandl 1 Cornrr>arid2 | 1. Este formulario permite dar mantenimiento a los registros, esto quiere
I U JloComtó decir que se puede agregar nuevos artículos, actualizar sus datos o eliminar
Conimand3
cualquiera de ellos.
Cómmand4
Commands
2. Se puede consultar un artículo por su nombre o su código.
Commands I
3. Cuando no existen registros el botón Eliminar y Actualizar se desactivan.
03ZP
4. El control Calendar 1 se visualiza cuando se desea ingresar o modificar
la fecha de vencimiento.
PR O PIED A D E S DE LO S C O N TR O LE S
Control ConnectionString RecordSource IMPORTANTE
Adodcl Nombre del Origen de Datos Artículos Cuando se manejan base de datos con ADO, no se necesita usar el método EDIT para
modificar registros porque un registros cambia automáticamente al modo de edición
Control RowSource ListField Style cuando se empieza a modificar.
DataCombo 1 Adodc1 Nombre 1-dbcSimpleCombo La programación con ADO ya no utiliza el método FINDFIRST. El nuevo método es FIND.
DataCombo2 Adodcl Codigo 1-dbcSimpleCombo
M ÉTO D O FIN D
Control DataSource ListField Este método permite buscar registros cuando se trabaja con ADO. Su sintaxis
Textl Adodcl Codigo es la siguiente.
Text2 Adodc 1 Nombre
Text3 Adodcl Presentación Control_Ado.Recordset.Find Condición, Valor1, Valor2, Valor3
Text4 Adodc1 ValorCompra Valor 1: Indica el número de registros que se debe saltar antes que se inicie
Text5 Adodc1 Vencimiento la búsqueda. Si se omite no salta ningún registro.
Valor2: Indica la dirección de la búsqueda que puede ser hacia delante
Control Enabled (adS earchF orw ard) o hacia atrás (adSearchB ackw ard). Si se omite, la
Frame 1 True busqueda se realiza hacia delante.
Frame2 False
Frame3 True Valor3: Indica la posición inicial de la búsqueda. Escriba el número 1 (uno)
para empezar desde el primer registo.
Control Visible ShowTitle Ejem plo: La siguiente instrucción busca el artículo llamado Panadol.
Calendari False False A d o d c l.R e c o rd se t.F in d N om bre = ” P anadoI” ,„ l
A los otros controles asígneles las propiedades como se indica en el NOTA: Si el registro no se encuentra se activa el final (EOF) o inicio (BOF) de la
formulario. tabla dependiendo de la dirección de la búsqueda.
INSTRUCCIONES DEL FORMULARIO N"03 Instrucciones del Botón Nuevo Instrucciones del Botón Grabar
Definición de variables en General Declaraciones Private Sub Command3_Click() Private Sub Command I _Click()
Dim r As String Frame ¡.Enabled = False Frame 1.Enabled = True
Dim NUEVO As Boolean Frame2. Enabled = True Frame 2. Enabled = False
Frame3. Enabled = False Frame 3. Enabled = True
Instrucciones del Form_Activate Adodcl.Recordset. AddNew Adodcl.Recordset. Update
Prívate Sub Form_Activate() ‘Indica Nuevo Artículo Command4. Enabled - True
‘Actualiza el control Adocdl NUEVO = True Commands.Enabled = True
A d o d cl.Refresh Textl .SetFocus Framel.Enabled = True
‘Si no hay registros, desactiva los botones Actualizar End Sub End Sub
‘y Eliminar y no permite seleccionar registros.
If A dodcl. Recordset.RecordCount = 0 Then
Command4. Enabled - False
Commands.Enabled = False Instrucciones del Botón Cancelar
Framel. Enabled = False Private Sub Command2_Click()
Else Frame ¡.Enabled = True
Command4. Enabled = True Frame2. Enabled = False
Commands .Enabled = True Frame3.Enabled = True
Framel.Enabled = True If NUEVO Then
End If Adodcl.Recordset. CancelUpdate
End Sub Else
‘Se devuelven los datos originales
Instrucciones del DataCombol Textl = XCODIGO
Private Sub DataCombol_Change() Text2 = XNOMBRE
If DataCombol = Then Exit Sub
r = “Nombre Like + D ataCombol +
Text3 = XPRESENTACION
Adodcl.Recordset.Find r ,, , 1 Text4 = XVALOR
If A dodcl .Recordset.EOF Then TextS = XFECHA
MsgBox “No existeelArticulo “+ DataCombol + ”,16,"Puedeadiciomrlo" End If
A d o d cl. Recordset. Move First ‘Después de cancelar se ubica en el Artículo
End If ‘que estaba en pantalla.
End Sub A dodcl .Recordset. AbsolutePosition=Adodcl .Recordset.Bookmark
End Sub
Private Sub DataCombol_Click(Area As' Integer)
D ataCom bol jC hange Instrucciones del Botón Actualizar
End Sub Prívate Sub Command4_Click()
Instrucciones del DataCombo2 NUEVO = False
Private Sub DataCombo2_Change() Fram el.Enabled = False
I f DataCombo2 - “ ” Then Exit Sub Frame2. Enabled = True
r - “Codigo Like + DataCom bol + Frame 3. Enabled = False
A dodcl .Recordset.Find r, , , 1 ‘Se almacenan los valores originales en variables
If Adodcl.Recordset.EOF Then XCODIGO = Textl
MsgBox “NoexisteelArticuloconelcódigo “+ DataCombo2 + ”, 16, “Puedeadiciomrlo XNOMBRE = Text2
A dodcl. Recordset. MoveFirst XPRESENTACION = Text3
End If XVALOR = Val(Text4)
End Sub If IsDate(TextS) Then XFECHA = CDate(TextS)
Private Sub DataCombo2_Click(Area As Integer) Textl.SetFocus
DataCombo2 JChange End Sub
End Sub
- WI- K ‘
i rr*
£... ■ L Abeti 4
1 2 . XA
I f Adodcl.Recordset.RecordCount = 0 Then "
.■
3 ZL Z1Ï.
formulario anterior.
Instrucciones de Text4 Aceptar los Cambios I iQnorar los Cambios
End Sub
La tabla Presentaciones es muy importante porque contiene todas las DESARROLLO DE LA APLICACIÓN N° 66
presentaciones que se pueden asignar a los artículos. Esto permite que el Agregue a la aplicación anterior el formulario N° 5 (Configuración), el formulario N°6
usuario ya no las escriba sino que las pueda seleccionar en forma rápida. (Clave para actualizar la tabla Configuración) y el formulario N° 7 (Presentaciones).
En este formulario se pueden agregar o quitar presentaciones.
FORMULARIO N s 01
•fi¡v Presentaciones TöT^l
En el formulario N° 1 (Menú Principal) agregue la opción Configuración con dos
P o te
T ubo
subopciones: Sistema y Presentaciones. También debe dibujar en el centro de este
B o ls a formulario un control Calendar y en su propiedad Visible asígnele el valor False,
T a b le t a s
A m p o ll a s
sólo se debe visualizar cuando se haga click en la fecha.
P a s tilla s
|T e xt2
N o m b re
Instrucciones del Formulario N° 02
Prívate Sub Forrn_Activate() P re s e n ta c ió n
1 D a ta C o m b o 3 d
Dim texto, f A s String
f = Formatf“###,####,##0.00”, “(###,####,##0.00)'') V a lo r d e C o m p ra
jT e xt3 G rabar
Adodc2.Refresh
‘Cambia el tipo de Comando para poder utilizar instrucciones SQL F e c h a d e V e n c im ie n to 1 2 0 /0 6 /0 0 S alir
d
Adodcl.Command.Type = adCmdText
‘Almacena en las etiquetas los valores de configuración A c e p ta r C am bios C a n c e la r C am bios
Label3 - Adodc2.Recordset!lGV& “% ”
Labe 15 = Adodc2.Recordset!UTILIDAD & “% ”
Label7 = Adodc2.Recordset!DESCUENTO & “%" A los cuatro botones asígneles en su propiedad Visible el valor False porque
‘Almacenaenvariables los valoresde la tablaconfiguraciónpara realizarloscálculos. sólo se deben visualizar cuando se agreguen nuevos artículo o se actualicen
I = Adodc2.Recordset!IGV /1 0 0
U = Adodc2. Recordset! UTILIDAD /1 0 0
sus datos.
D = Adodc2. Recordset!DESCUENTO /1 0 0
‘InstrucciónSQLparaloscamposcalculados. Escribatodoenunasolalútea C O N TR O L D TP IC K E R
Adodcl.RecoidSowee= “selectCodigo,no>ribnj,pmerttacion,va¡orcompra,valoivompra* “&I& “asIGV
vaIorconipm+igvas[PreeioCompra],[PrecioCompra]*“&U& “asUtilidad,[PrecioCompraJ+Utilkbd □
as [Precio Venta], [Precio Venta] * “ &d&“ as Descuento, [Precio Venta] -Descuentoas [PiecioPublico],
Vencimiento, vencimiento-#’’&Dale &' ‘#as Diasfromartículos " Este control permite también ingresar una fecha de manera personalizada.
A dodcl .Refresh Para visualizarlo en el cuadro de herramientas debe crear un proyecto en el
‘Asignaunformatoy alineacióna laderechapara las columnasquecontienenúmeros modo C ontroles de VB E dición E m presarial o en la ventana de Compo
For X = 2 To 8 nentes activar la casilla: M icrosoft Windows Common Controls-2 6.0.
DataGridl.Columns(X).NumberFormat = f Cuando lo dibuja en el formulario toma la forma de un Combo y muestra la
DataGrid1.Colurnns(X).Alignment = dbgRight
Next X fecha. Si desea ingresar la hora, asígnele en su propiedad Format el valor 2-
DataGrid1.Caption = “Listado de artículos al “ & Now dtp Time.
L abell = “N° de Artículo mostrados: “ & Adodcl.Recordset.RecordCount
End Sub 120/06/00 "»] j 02:35:41 p.m. -p
□ a
NOTA O b te n e r e stru ctura
Si regresa al formulario y no visualiza los B orrar e stru ctura
Rptlmage: Permite insertar imágenes en el reporte. PROPIEDADES BÁSICAS PARA CREAR UN REPORTE
RptLine: Permite insertar líneas en el Reporte. Las propiedades que necesita asignar para crear el reporte depende del
origen de los datos que quiera utilizar para el DataReport. Por ejemplo, si
desea utilizar un control ADO para que el DataReport muestre los registros
RptShape: Permite insertar figuras geométricas en el Reporte. que contiene, sólo necesita asignarle a través una instrucción en su propiedad
DataSource del DataReport el nombre del control ADO y en cada control
RptFunction: Permite insertar funciones en el reporte. RptTextBox que se use en la Sección de Detalle escribir (no seleccionar)
en su propiedad DataField el nombre de cada campo cuyo contenido se
Cuando dibuja en el reporte el control RptFunction en forma predetermina desea mostrar en el reporte.
da se muestra la función SUM que permite sumar campos numéricos den Para cam biar los m árgenes del D ataReport utilice sus propiedades:
tro del reporte. Si desea usar otra función active su propiedad FunctionType RightMargin(Derecho) LeftMargin (Izquierdo), BottomMargin (Inferior) y
donde podrá seleccionar además las siguiente funciones: TopMargin (Superior).
1-RptFuncAve.- Para obtener el Praomedio. Para indicar el tamaño inicial de la ventana del DataReport use su propiedad
2-RptFuncMin.- Para Obtener el valor Mínimo. WindowState.
3-RptFuncMax.- Para obtener el valor Máximo.
4-RptFuncRCnt.-Para obtener la cantidad de registros.
5-RptFuncVCnt.-Para obtener la cantidad de registros en blanco MÉTODOS DEL DATAREPORT
6-RptFuncSDEV.-Para obtener la desviación estándar.
7-RptFuncSERR.-Para obtener el error estándar. SHOW
Muestra sólo en pantalla el reporte (Vista Previa), pero contiene dos botones
NOTA Etiqueta en la esquina superior derecha que permiten enviar a la impresora el reporte
Los controles se puede insertar en el DataReport desde el C uadro d e texto o exportarlo como tipo HTML para enviarlo a través de Internet o de tipo
cuadro de Herramientas o haciendo click derecho en la Im age
texto para leerlo desde otro programa.
ventana de diseño y eligiendo la opción Insertar Control. L ín e a
PRINTREPORT
Forma
Los controles que estén disponibles depende de la sec Permite enviar el reporte directamente a la impresora.
ción donde hizo click derecho.
Núm ero actual d e página
REFRESH
Núm ero total de páginas
Permite actualizar el reporte.
F ech a actual (formato corto) EXPORTREPORT
F ech a actual (formato largo) Permite exportar el reporte como HTTML o texto.
H o ra actual (formato corto) HIDE
H o ra actual (formato largo)
Permite ocultar el reporte,
T ítulo del informe
A la aplicación anterior agregue un nuevo formulario. Este formulario muestra Los nombre de los campos se llenan automáticamente en el Combo.
en un Datagrid los artículos, pudiéndolos seleccionar mediante una condi Cuando se selecciona el campo Vencimiento y ubica el cursor en
ción que Ud, forme. Esta condición puede ser múltiple, es decir, el usuario Textl para ingresar el valor, se visualiza el calendario.
puede hacer uso del operador AND (Y) o del operador OR (O) las veces Si elige el ValorCompra no se permite el ingreso de letras.
que desee y al hacer click en el botón IM P R IM IR todos los artículos que Al hacer click en el botón Aceptar, la condición que el usuario forma se
se encuentran en el DataGrid se muestran también en el reporte. almacena en una caja de texto para que se pueda editarla si lo desea.
Al hacer doble click en un campo los artículos se ordenan por dicho
•ü. R e p o r te d e A r tíc u lo s - Iniisi campo.
I presentación
Al mostrar los registros se muestra la cantidad total de artículos, la can
tidad de artículos mostrados y el porcentaje que representa del total.
El contenido de algunas etiquetas del formulario se pasan al reporte
Condición
(DataReport).
p r e s e n t a c i ó n = *F
Si no se forma una condición correcta se visualiza el respectivo mensaje.
Mostrar con la Condición Mostrar Todos
D e u n to ta l d e 2 8 a r t í c u l o s , s e m u e s t r a n 6 q u e r e p r e s e n t a n e l (2 1 .4 3 % )
IM P R IM IR I Cem» |
•jjt DataReportl I3 B 3 I
, ~E
Zoom U o o x
MWB«B?aÉu
P re s e n ta c ió n V a lo r d e C o m p r a F e c h a d e V e n c im ie n to
C ó d ig o A r t íc u l o
0 7 /0 1 /0 3
2. Asignar las propiedades.
00002 A c a ric id a L o ció n x 6 0 mi F ra sco 1 0 .0 0
00009 Fenistil G o ta s F r a s c o 2 0 F ra sco 1 3 .0 0 2 9 /0 6 /0 0 • Al control Adocd 1 conéctelo con la tabla artículos y al DataGrid 1 selec
00010 Finistil J a r a b e F r a s c o 1 0 0 F ra sco 1 0 .0 0 28 .0 6 /0 0
16 /1 0 /0 2
cione el Adodcl en su propiedad DataSource.
00004 Pilka G o ta s 2 0 mi F ra sco 2 3 .0 0
• Al los controles Adodcl y Calendar 1 asígneles en su propiedad Visible
D e u n t o t a l d e 2 8 a r t í c u l o s , s e m u e s t r a n 6 q u e r e p r e s e n t a n e l (2 1 .4 3 % )
el valor False.
• Al resto de controles asígneles sus propiedades como se indica en la
P á g in a s: Hj<fP ±lHj aplicación a desarrollar.
^ |||||¡ ^ 504 G rupo E ditorial Megahvte <l l § á l i | s á lll* G rupo E ditorial Megabyte 505 mm
^ÉÍÍÉÉÉÍ’- VISUAL BASIC como debe ser. CAPÍTULO XII: Programación ADO
Instrucción del Botón Y Instrucción del Control DataGrid
Prívate Sub Command2_Click() Prívate Sub DataGridl_DblClick()
Text2 = Text2 + "AND " ‘Espacio antes y después ‘Permite que al hacer Click en un campo se ordene p o r dicho campo
End Sub Adodc 1.CommandType = adCmdText
IfText2 = “ ” Then
Instrucción del Botón O Adodc ¡.RecordSource = “select *from artículos orderby “ & Adodcl .Recordset
(DataGrid ¡.Col ).Name
Prívate Sub Command3_Click()
Else
Text2 = Text2 + " OR " 'Espacio antes y después Adodc ¡.RecordSource = “select *from artículos where “ & Text2 & “ orderby “ &
End Sub Adodc 1. Recordsetf DataG ríd l. Col). Ñame
E n d lf
Instrucción del Botón Borrar A dodc 1. Refresh
Prívate Sub Command6_Click() End Sub
Text2 -
End Sub Instrucción del Control Textl
Prívate Sub Text¡ jGotFocus()
Instrucción del Botón Mostrar con la Condición ‘Pregunta si no se ha seleccionado el operador lógico
Prívate Sub Command4_Click() IfCombo2 = Then
On Error GoTo Mensaje MsgBox “Indique el operador para la condición”, ¡6, “E rror”
TR = Adodcl.Recordset.RecordCount Text¡.Locked = True
‘Indica que se va a utilizar una instrucción SQL Exit Sub
Adodc 1.CommandType = adCmdText Else
Adodc I .RecordSource - “select * from artículos where “ + Text2 Textl. Locked = False
Adodc l.Refresh E n d lf
Pregiaitasielcanposeleccionadocontiaieunafecluipara mostrarel Calendario
RM —Adodcl.Recordset.RecordCount
P = R M * 100/T R If ¡sDate(Adodc¡.RecordsetfCombo¡.Listlndex)) Then
Calendar ¡ .Visible = True
Label2- “Dewitotalde" &TR& “artículos, semuestran “&RM& “querepresentan el End ¡f
( “ & Round(P, 2)& “%)" End Sub
Exit Sub
Mensaje: Instrucción del Botón Im prim ir
MsgBox “No ha indica una condición correcta", 16, “P orfavor verifique” Prívate Sub Command7_Click()
End Sub ‘Asigna la propiedad DataSource del DataGrid a la propiedad DataSource de!
‘DataReport para mostrar en el reporte lo que se muestra en el DataGrid
Instrucción del Botón Mostrar Todos Set DataReport¡.DataSource = DataGrid].DataSource
Prívate Sub CommandS._Click() DataReport 1.Sections{2). Controlsf 3). Caption = Text2
‘Indica que se va a utilizar una instrucción SQL DataReport l.Sectionsf 5).Controlsf l).Caption = Label2
A dodcl .CommandType = adCmdText ‘Muestra el Reporte
Adodc 1.RecordSource = “select * from artículos" DataReport 1.Show
A do de I.Refresh End Sub
TR = A dodcl .Recordset.RecordCount
NOTA
Label2- ”Dewitotalde “&TR& “artículos, semuestran “&TR& “que representa el100.00%
Para referirse a un control d el D ataR eport d esd e un form ulario se usa la c o le c c ió n S ectio n s
End Sub
para indicar la se cció n d on d e se encuentra el control y la c o le c c ió n C on trols para referirse
esp ecífica m en te al control. La se ccio n es se enumeran de arriba hacia abajo. El en cab ezad o del
Instrucción del Control Calendarl Reporte e s la prim era se cció n .
Prívate Sub Calendarl_Click() L os con tro les de cad a se cció n se enum eran d e acuerdo al orden en el que se dibujan (en cada
Textl - Calendarl. Valué se cció n lo s co n tro les se enum eran a partir de 1). En el reporte de ejem p lo se asum e que la
Calendarl .Visible = False Ltiqueta3 del la se cció n E n ca b eza d o d e P ágin a (S e c . N ° 2 ) f u e el tercer control que se dibujó.
End Sub Puede usar tam bién el nom bre d e cada control.
NOTA:
Otra forma de acceder a las opciones anterior es haciendo click derecho sobre
Cuando graba el Data Environment utiliza la extensión *.Dsr (Diseñador). cualquier objeto del Data Environment
1« .............j ............................................................................ ± r
S E L E C T P R E S E N T A C IO N F R O M A R T IC U L O S G R O U P BV
m . L is ta d o d e A r tíc u lo « A g r u p a d o s p o r P R E S E N T A C IO N töt^ i P R E S E N T A C IO N O R D E R B Y P R E S E N T A C IO N
1 2 /3 0 /0 1
00 0 0 8 6 / 3 0 /0 0
00011 Im portal x 6 S h a c h é is
1/ 7 / 0 3
000 04 P ilka G otas 2 0 mi
000 06
00 0 0 7 A B -B fo n c o l 6 0 0 IM A cep tar C ancelar Aplig® A yuda
Frasco
00 0 0 9 Fenistil G otas F rasco 20 mi.
00010 Finisti! Ja ra b e F rasco 1 00 rnl
00012 5 / 8 /0 2
00 0 1 3 Fluida sa iny x 2 mi 9/1 6 /0 0
00001 Luego seleccione el objeto Commandl y haga click en el botón Agregar
Comando Secundario. Se visualiza la siguiente ventana:
ü¡. Listado de A rtícu lo s Agrupados por AÑO DE VENCIMIENTO
j J j
General Parámetros Relación ] Agrupar | Agregados Avanzadas | General | Parámetros Relación | A g r ia r ) Agregados ] Avanzadas | J
Genefal Parámetros | Relación | Agrupar | Agregados | Avanzadas j J
General Parámetros | Relación | Agupar | Agregados | Avanzadas
Nombre de comando: |Command2 Conexión: | — “ j F f jefacionat con un comando primaria Nombre de comando: ¡Commandl Conexión: |Connect»n1 3 Nombre de comando: |Command2 Concón: j
Origen de datos Comando primario: | Commandl ~*\ Origen de datos : Origen de datos.............
Nombre de objeto: ¡Artículos Campos primarios parámetros Nombre de objeto: [ Nombre de objeto: f J
C Instrucción SQL: <• Instrucción SQL: . (* Instrucción SQL
A c e p ta r | C a n c e la r Ayuda
Si usted desea mostrar en el reporte los datos que se encuentran en Comandos 4 Encabezado de informe (ReportHeader?
Jerárquicos, sólo tiene que agregar una nueva sección mas al DataReport. 4 Encabezado de página (PageHeader)
Esta sección se llama GRUPO y para adicionarla debe puede hacer click Reporte de Artículos por Año de Vencimiento
derecho en el DataReport y elegir la opción Insertar Encabezado o Pie de A ño de V en c im ie n to
4 Encabezado de grupo (Command 1„Header)
Grupo o una vez que asignó las propiedades Datasource y DataMember al Valor de Compra Fecha de Vencim iento
AHO [C o m m a n d i] Código
DataReport hacer click derecho en él y elegir la opción Obtener Estructura. 4 Petate (Command2_DetaiQ________
CODIGO[Comrriancß] j NOMBRE[Commancß] VAl0f?C0MPRA [Commancß] VENCMENTÖ [Command2]
El encabezado de grupo lo debe configurar para que muestre la información Cantidad de Artículos: j RCNT ICommand21
del Comando Primario (Com andl) y la sección de detalle para que muestre 4 Pie de página (PageFooterj
V en o ru to n F o rte x 1 2 Com p.
13.00 2 9/06 /00
de los campos del Command2. En la propiedad DataMember de cada uno
13.00 30/06/00
00013 Fluidas« iny x 2 mi 13.00 16)09/00
de ellos seleccione el Command2 y en DataField el campo respectivo.
Cantidad de Artículos: 5 Sección Pie de Grupo
2001
Esta sección tiene un control (RptLabel) con el título Cantidad de Artículos
Código Artículo Valor de Compra Fecha de Vencimiento
00005 Pan ad o l Antigripal x 6 0 ta b 4.00 30/12/01
y un control RptFunction que muestra la cantidad de productos que se vencen
Cantidad de Artículos: 1 en cada año. En su propiedad FunctionType seleccione 4-rptFuncRCnt, y
2002 Código
en su propiedad DataMember seleccione Command2.
Artículo Valor de Compra Fecha de Vencimiento
0 0011 Importal x 6 S h a c h e ts 20.00 1 9/01/02
00003 Fenistil x 2 0 Com prim idos 13.00 1 9/01/02 NOTA
00007 A B -Broncol 6 0 0 IM 1 2.00 0 1/05/02 Usted puede cambiar el diseño de este reporte de acuerdo a lo que necesita y para
00012
00001
P analgin a m p . x 2 mi 5 4.00 0 8/05/02 visualizarlo puede escribir dentro de un botón de Comandos del formulario la
00004
A caricid a C rem a x 6 0 gr.
Pilka G o ta s 2 0 mi
5 .00 30/06/02
siguiente instrucción: DataReportl.Show
Cantidad de Artículos: 6
2 3 .0 0 1 6/10/02
También puede hacer que semuestre automáticamente cuando ejecute el proyecto,
configurándolo como objeto inicial (Proyecto/Propiedades del proyecto).
Páginas: H ¡4 |T ~
La siguiente aplicación permite mostrar en un reporte el contenido de Co Para desarrollar esta aplicación agregue a su formulario un DataEnvironment
mandos Jerárquicos que se forman de dos tablas: Vendedores y Ventas que y un DataReport.
se encuentran en la base de datos llamada CONTROL y cuyas estructuras Al objeto Connectionl del DataEnvironment conéctelo a la base de datos
son: CONTROL, luego agregue un comando (Commandl) e ingrese a su ventana
de propiedades donde se escribe una instrucción SQL que obtiene los datos
Vendedores Ventas de los vendedores ordenados por su nombre:
Codigo Text 3 Codigo Text 3 SELECTCodigo,Nombre,TelefonoFROMVendedores ORDERBYNombre
Nombre Text 30 Fecha Venta Date
Telefono Text 10 Monto Currency G e n e ra l | P a rá m e tro s ] R e la c ió n ] A g ru p a r ] A g r e g a d o s j A v a n z a d a s )
j O rig e n d e d a to s
1 O b je to d e fease d e datos: j
Este reporte muestra también de cada vendedor la cantidad de ventas rea N fim b ro d e o bje to : j
H J e f] Z M m J jjlO O * J
1^ ^ ■;.:--------- j
--------------------------- ÜÉ
. J
A p lic a r
R EPO R TE DE V E N T A S POR V EN D E D O R Luego al C om m andl agréguele un com ando secundario donde debe
seleccionar Tabla en Objeto de base de datos y en Nombre de objeto
Codigo
003 José Portilla 228844 seleccione la tabla Ventas
Fecha Monto Distrito
15/01/00 200.00 Ferreñafe G e n e ra l ] P a rám e tro s ] R e la c ió n ) A g ru p a r ] A g re g a d o s ] A v a n z a d a s J
■
Codigo Nombre Teléfono
Hoemi Montano 234878
002
También puede seleccionar Instrucción SQL para obtener por ejemplo todos
Fecha Monto Distrito
12/01/00 50.00 Reque
los registros de la tabla Ventas ordenados por la fecha de ventas.
14/01 /00 150.00 La Victoria En el Comando Secundario ingrese a la página RELA C IÓ N y agregue
18/02/00 500.00 Pimentel
20/02/00 200.00 Lambayeque una relación con el Commandl por medio del campo Código.
Aginas:¡«HIT ►M 'I ......... Para activar el Reporte escriba en el formulario D ataR eportLShow .
Ditti N om bre d el Objeto A s N ew A D O D B . Connection La aplicación solicitó una operación en un objeto con una referencia a
un objeto Connection cerrado o no válido.
3. Definir un objeto tipo Recordset. Sintaxis:
D im N om bre d el Objeto As N ew A D O D B .R ecordset
Public.
El objeto tipo Connection se utiliza para administrar la conexión a la base Esto significa que antes de utilizarla, la debe abrir.
de datos. El método OPEN permite abrir una conexión. Sintaxis:
El objeto tipo Recordset almacena los registros que se obtiene de las tablas O bjeto_T ipojC on n ection . Open
de la base de datos donde nos conectamos para poder manipularlos en nuestra Por ejemplo para abrir la conexión almacenada en el objeto DB se debe
aplicación. escribir: D B.O pen
La palabra ADODB es un prefijo que contiene todos los objetos de datos También se puede abrir e indicar el origen de datos o la cadena de conexión
ActiveX. Se debe visualizar automáticamente después de escribir la palabra al mismo tiempo según el origen de datos que ha creado:
New al definir los objetos. Si no se visualiza seguramente no activó la casilla DB.Open "DSN=Agenda"
M icrosoft ActiveX Data Objects x.x Library en la opción Proyecto/ DB.Open “File Name=C:\Sistema\Ventas.UDL”
Referencias. DB.Open “Providei^Microsoft.Jet.OLEDB.4.0;DataSource=C:\Practica.mdb”
G ru po E d it o r ia l Megabyte 527
, fK W .
É i » VISUAL BASIC como debe ser. . . CAPÍTULO XII: Programación ADO ^ ¡¡¡¡¡1
EL METODO EXECUTE DEL OBJETO CONNECTION INSTRUCCIONES SQL PARA CONSULTAS DE ACCIÓN
Este método permite ejecutar instrucciones SQL sobre una conexión para D ELETE FROM
obtener y darles mantenimiento a los registros o a las tablas y crear Cursores. Esta instrucción permite borrar todos o sólo un grupo de registros de una tabla.
Sintaxis para borrar todos los registros de una tabla:
Puede ejecutar cualquiera de las instrucciones SQL ya explicadas y espe D elete From Nombre de la Tabla
cialmente instrucciones SQL para Consultas de Acción o Instrucciones DDL.
Sintaxis para borrar sólo un grupo de registros:
D elete From Nombre de la Tabla W here Condición
CONSULTAS DE A C CIÓ N
La consultas de acción son un conjunto de instrucciones SQL que permiten Tenga mucho cuidado al utilizar esta instrucción porque los registros que
dar mantenimiento a los registros de una tabla. Las principales acciones que borra ya no se pueden recuperar. Se recomienda hacer una copia de segu
se pueden realizar son: ridad antes usarla.
Ejemplo: Si tenemos el objeto DB conectado a la base de datos Tienda que
1. Actualizar los valores de los registros. tiene la tabla Artículos, entonces:
2. Adicionar nuevos regi stros. La siguiente instrucción borra todos los registros de la tabla artículos:
3. Eliminar registros. D B .E x ecu te(“D elete fr o m A rtíc u lo s”)
La siguiente instrucción borra sólo los artículos que se vencieron en el año
IN ST R U C C IO N E S DDL 1999.
Son un conjunto de instrucciones del Lenguaje de Definición de Datos que DB.Execute(“Delete from Artículos Where Year(Vencimiento) = 1999”)
permiten dar mantenimiento a las tablas de una base de datos. Las principa
les acciones que puede realizar son: IN S E R T IN T O
Permite insertar registros a una tabla existente desde otra tabla. La tabla
1. Crear tablas. donde se van a adicionar los registros debe existir porque si no existe se
2. Modificar la estructura de las tablas. produce un error con el tiene el número -2147217865. Su sintaxis es:
3. Borrar tablas. Inserí luto TablaDestíno Select Campol,Campo2,...CampoN From TablaOrigen
La sintaxis anterior adiciona todos los registros de la tabla Origen a la tabla
Si se obtienen registros con el método EXECUTE, se pueden almacenar en
Destino. Si desea adicionar sólo un grupo de registros, debe utilizar Where
un objeto Recordset. Por ejemplo, las siguientes instrucciones muestran en con la condición al final de la instrucción. Ejemplos:
un control MSHFlexgrid los artículos ordenados por el Valor de Compra. La siguiente instrucción adiciona todos los registros a la tabla Artículos a la
Después de cerrar el Recordset los registros se siguen visualizando. tabla Respaldo.
Select Campo1,Campo2,...CampoNInto TablaDestino From TablaOrigen Las instrucciones DLL significan Instrucciones de Lenguaje de Definición
de Datos y son importantes por que con ellas podemos crear tablas, modifi
Si sólo desea crear la tabla y adicionarle algunos registros, debe agregar car la estructura de una tabla o eliminar toda una tabla incluyendo los regis
Where y la condición. Ejemplos: tros que contiene y su estructura.
La siguiente instrucción crea la tabla Seguridad y le adiciona todos los regis CREATE TABLE
tros de la tabla artículos.
Esta instrucción, como su nombre lo indica permite crear una tabla. Su
DB.Executef “Select codigo,nombre,presentación, valorcampra, vencimiento Into sintaxis es la siguiente:
Seguridad From Artículos ”)
Create Table Nombre de la Tabla(Campol Tipo, Campo2 Tipo,... CampoNTipo)
La siguiente instrucción crea la tabla Seguridad y le adiciona sólo los artícu
los cuyo valor de compra es mayor que S/. 250.00
Ejemplo:
DB. Execute( “Select codigo,nombre,presentación, valorcampra, vencimiento Into
La siguiente instrucción permite crear una tabla llamada Clientes dentro de la
Seguridad From Artículos Where valorcompra > 250 ”) base de datos que esta conectada al objeto DB con la siguiente estructura:
A lter Table Nombre de la Tabla Drop Column NombreCampo La siguiente aplicación permite dar mantenimiento a los registros y a la
tabla Artículos:
Ejemplo:
¡i. Mantenimiento de la labia Artículos m ora
Artículos
La siguiente instrucción elimina de la tabla Clientes el campo Teléfono. Agregar artículos de prueba
Cambiar una presentación por otra
Cambiar el Valor de Compra
DB.Execute ("AlterTable Clientes Drop Column Telefono") Restaurar el valor de compra anterior
Borrar artículos
Recuperas los Ultimos Artículos Borrados
Borrar la Copia de Seguridad de los archivos borrados
D R O P TABLE Salir
Relación de A rtículos
Esta instrucción permite eliminar toda una tabla incluyendo los registros que Codigo Nombre Presentación Valor de Compra Vencimiento
00001 Acaricida Cierna x 60 gr. Pote 5.0000 2002-06-30 00:00:0
contiene y su estructura. 00002 Acaricida Loción x 60 mi. Frasco 10.0000 2003-01-07 00:00:0
La sintaxis es: 00003 Fenistil x 20 Comprimidos Caja 13.0000 2002-01-19 00:00:0
00004 Pilka Gotas 20 mi Frasco 23.0000 2002-10-16 00:00:0
Drop Table Nombre de la Tabla 00005 Panadol Antigripal x 60 tab Caja 4.0000 2001-12-30 00:00:0
00006 AB-Broncol 300 IM Frasco 9.5000 2000-06-15 00:00:0
00007 AB-Broncol 600 IM Frasco 12.0000 2002-05-01 00:00:0
Ejemplo: 00008 Venoruton Forte x 12 Cornp. Caja 13.0000 2000-06-30 00:00:0
00009 Fenistil Gotas Frasco 20 mi. Frasco 13.0000 2000-06-29 00:00:0
00010 FinistilJ atabe Frasco 100 mi. Frasco 10.0000 2000-06-28 00:00:0
La siguiente instrucción elimina la tabla Clientes. 00011 Importai x 6 Shachets Caja 20.0000 2002-01-19 00:00:0
L a"" ............
DB.Execute ("Drop Table Clientes")
Al ejecutar la aplicación y mientras dure la conexión a la base de datos se
muestra una pantalla de presentación.
NOTA:
En la siguiente aplicación se muestra ejemplos mas amplios sobre el uso de las Program a de ejem plo
Un m om ento p o r fa v o r
.............
I n g r e s e e l m o n t o d e V a r ia c i ó n |j
Configuración d e los n ue vo s A rtículos :
Los artículos empiezan con la palabra JProducto L a V a r ia c i o n e s t a e n :
—
La presentación de los artículos debe ser jCaja
S o le s C P o r c e n t a je
El valor de compra debe estar entre jio.oo V jl 000 00 ~ -
C a m b ia r A h o r a J
Aquí se indica la cantidad de artículos a agregar, el nombre para los artículos. C e r ra r j
Al nombre que usted indique se le adiciona un número correlativo.
También puede indicar la presentación, el rango del valor de compra y de Primero debe ingresar el monto de variación, luego elegir si lo ha ingresado
las fechas de vencimiento que deben tener los artículos al momento de en soles o porcentaje y por último debe indicar si se debe aumentar o disminuir
agregarse. al valor de comprar. Si comete algún error al variar el valor de compra de
Tanto el valor de compra como la fecha de vencimiento se calculan al azar los artículos, utilice la siguiente opción.
entre el rango establecido.
RESTAURAR EL VALOR DE COMPRA ANTERIOR.
CAM BIAR UNA PRESENTACIÓN POR OTRA Cuando usted varia el valor de compra, se guarda en un campo el valor de
Esta opción permite cambiar la presentación de un grupo de artículos por compra anterior y esta opción permite recuperar dicho valor de compra.
una nueva. El formulario que se muestra es: Esta opción es muy útil cuando comete algún error en la variación de los
valores.
Cam biar u n a P resentació n por O tra -Tñnn Antes de restaurar el valor de compra le pide la confirmación:
S e l e c c i o n e la P r e s e n t a c i ó n A c t u a l J C a ja ▼ {
( Sí ] No
i
Si ingresa a la opción Restaurar El valor de Compra anterior sin haber variado RESTAURAR LOS ÚLTIMOS ARTÍCULOS BORRADOS
los valores se muestra un mensaje de aviso. Cuando usted borra artículos en la opción anterior, estos se guardar en
una tabla de seguridad con un campo adicional llamado Fecha el cual contiene
la fecha que borró el artículo. Esto es importante porque puede borrar por
accidente los artículos. Esta opción permite recuperar todos los artículos
borrados un grupo de ellos. Los grupos de artículos se pueden recuperar la
fecha en la que se borraron. Visualiza el siguiente formulario.
■ ■ ■ ■ ■ ■ ■ iiM B iM iM iiiiiiiiiiiM íiir iiiir in 1................m i
Esta opción permite borrar todos o un grupo de artículos. 00009 Fenistil Gotas Frasco 20 mi.
00010 Finistil Jarabe Frasco 100 mi.
Frasco
Frasco
49.6442 2000 06-29 00:00:00 2000 07-1 5 00 00 00
49.5662 2000-06-28 00:00:00 2000 07-15 00:00 00
El formulario que presenta es el siguiente: 00012 Panalain amp. x 2 mi Frasco 50.7079 2002-05-08 00:00 00 2000-07-15 00:00:00
00013 Fluidasa iny x 2 mi Frasco 49.6442 2000-09-16 00:00:00 2000-07-15 00:00 OO
00004 Pilka Gotas 20 mi Frasco 49.9035 2002-10-16 00:00:00 2000-07-15 00 00 00
-1 1
. B o rra r A r t íc u lo s MED
Recuperarlos
Cam po O p e ra d o r
Cerrar
C O D IG O *l
NOMBRE wm
P R E S E N T A C IO N >
VALO R COMPRA
| V E N C IM IE N T O
—i A c e p ta r j
BORRARLACOPIADESEGURIDADDELOSARTICULOS BORRADOS
A V
II A
^1
Si está seguro de los artículos que ha borrado, entonces esta opción
C o n d ic io n
elimina definitivamente los artículos borrados. Visualiza el mismo formulario
anterior, pero con el botón Borrarlos Definitivamente.
B o „ a , lo s A r t í c u lo s q u e c u m p le n B o [|a ( T o d o s te s A r t( c u |o s
Usted puede formar la condición que deben cumplir los artículos para 00002 Acaricida Loción x 60 mi. Frasco 49.5662 2003-01 -07 00:00:00 2000-07-15 00:00:00
00006 AB-Broncol 300 IM Frasco 49.5531 2000-06-15 00:00:00 2000-07-15 00:00:00
que se puedan borrar o hacer un click en el botón respectivo para borrar 00007 AB-Broncol 600 IM
00009 Fenistil Gotas Frasco 20 mi
Frasco
Frasco
49.6181
49.6442
2002-05-01 00:00:00 2000-07-15 00:00:00
2000-06-29 00:00:00 2000-07-15 00:00 00
todos los artículos. 00010 Finistil Jarabe Frasco 100 mi Frasco 49.5662 2000-06-28 00:00:00 2000-07-15 00:00:00
00012 Panalgin amp. x 2 mi Frasco 50 7079 2002-05-08 00:00:00 2000-07-15 00:00 00
Cuando se elige el campo Valor de Compra no se permite el ingreso de 00013 Fluidasa iny x 2 mi
00004 Pilka Gotas 20 mi
Frasco
Frasco
49.6442
49.9035
2000-09-16 00:00:00 2000-07-15 00:00:00
2002-10-16 00:00:00 2000-07-15 00:00:00
letras y cuando se elige el campo Vencimiento se muestra automáticamente
un control DTPicker.
Este ejemplo lo puede utilizar también en la opción Cambiar el Valor de
Borrarlos
Compra de tal manera que sólo se pueda cambiar el Valor de algunos artículos. Definitivamente
538 G E P 539
r u po d it o r ia l
G ru po E d it o r ia l Megabyte
¡Ü- VISUAL BASIC como debe ser... § ^ 5 CAPÍTULO XII: Programación ABO '‘I I É l P
Instrucciones de la opción Borrar Artículos IN STR U C C IO N ES DEL FORMULARIO Ne 03
Prívate Sub Borrar Artículos_Click()
Formó. Show 1 Instrucciones del Form_Activate
End Sub Prívate Sub Form__Activate()
Instrucciones de la opción Recuperar Artículos Borrados 'Valores predeterminados para agregar artículos
Prívate Sub RecuperarArtículos_Clíck() Textl = " "
Form7!Command2. Visible = True Text2 = “Producto”
Form7!Command2.Enabled = True Text3 = “C aja”
Form7!Command3. Visible = False Text4 = “10.00”
Form7.Show 1 Text5 = “1000.00"
DTPickerl.Value - CD ate(“0 1-01-2001”)
End Sub
DTPicker2.Value - CD ate(“31 -12-2001")
Instrucciones de la opción Borrar Copia de Seguridad Labell = “Actualmente hay “ & RS.RecordCount & “ artículos. ¿Cuanto desea
Private Sub BorrarCopia_Click() agregar?”
Form7!Command2.Visible = False Textl. SetFocus
Form7!Command3. Visible = True End Sub
Form7!Command3.Enabled = True Instrucciones del Botón Aceptar
Form7.Sh.ow Private Sub Command!_Click()
End Sub Dim dias, NR As Long
‘Si no ingresa la cantidad de artículos sale del Procedimiento
Instrucciones del MSHFlexGrid para ordenar los artículos
Private Sub MSHFlexGridl_Click() If Val(Textl) = 0 Then Exit Sub
Commandl .Enabled = False
MSHFlexGridl .Sort = 1
End Sub ProgressBarl. Visible = True
ProgressBarl .Min = 1
Instrucciones de la opción Salir ProgressBarl.Max = Val(Textl)
Private Sub Salir_Click() NR = RS.RecordCount
End dias = DTPicker2. Value - DTPickerl. Value
End Sub Randomize
For X = 1 To Val(Textl)
FORMULARIO N e 03 (Agregar Artículos de Prueba) RS.AddNew
RSfcodigo = FormatfX + NR, “00000”)
EKE! RSInombre = Text2 & X + NR
■ : Labeii ¡ Aceptar ; RSIpresentacion = Text3
RS.'valorcompra = Int((Val(Text5)-Val(Text4)+1)* Rnd + Val(Text4))
RS¡vencimiento —DTPickerl .Value + Int((dias -1 + 1) * Rnd + 1)
C o n fig u r a c ió n d e lo s n u e v o s A r tíc u lo s : ProgressBarl. Value = X
Los artículos empiezan con la palabra ÍText2 RS. Update
Next X
La presentación de los artículos debe ser
ProgressBarl. Visible = False
El valor de compra debe estar entre Commandl .Enabled = True
La fecha de vencimiento debe estar entre el
‘Actualiza la consulta
j l 4 /0 7 /0 0 y el j 14/07/00
RS.Requery
Hide
End Sub
En este formulario debe dibujar 5 cajas de texto, 1 ProgressBar, 2 DTPickei; 2 Instrucciones del Botón Cerrar
Private Sub Command2_Click()
botones de comandos 1 Frcime y las etiquetas indicadas. Al ProgressBar asígnele
en su propiedad Visible el valor False. Hide
End Sub
540 G E Megabyte <
ru po d it o r ia l
G r u po E d it o r ia l Megabyte 541
é l i VISUAL BASIC como debe ser.. . , .$<£; CAPÍTULO XII: Programación ADO
FORMULARIO N 2 04 (Caxríbia xana Presentación por Otra) Instrucciones del Botón Cambiar Ahora
Private Sub Commandl_Click()
S . C am b iar u n a P r e s e n t a c ió n p o i O tra rrn a rx ii Form4. Enabled = False
DB. Execute “UPDATE Artículos SET Presentación = & Textl &
S e le c c io n e la P re s e n ta c ió n A c tu a l | C om bol WHERE Presentación = & Combol &
RS.Requery
Form4. Enabled = True
E scrib a la n u e v a p re s e n ta c ió n
Frame ¡.Visible = False
Hide
I T ex tl
End Sub