Sunteți pe pagina 1din 38

Visual Basic es un lenguaje de programacin; sirve para crear

programas o aplicaciones.
Un lenguaje de programacin est formado por un conjunto de
sentencias (entendidas por los humanos) que representan rdenes
dadas a la computadora. Generalmente, cada sentencia equivale a
muchas rdenes o instrucciones que debe llevar a cabo la mquina.
Microsoft Visual Basic es una herramienta de programacin para el
entorno de Windows.
El lenguaje Visual Basic es utilizado en otras aplicaciones, como por
ejemplo Microsoft Excel, Microsoft Word, Microsoft Access, con el objeto
de automatizar las tareas rutinarias. Por lo tanto, al conocer la forma de
programar en Visual Basic, podr crear macros (en este lenguaje) en
todas las aplicaciones nombradas anteriormente y obtener as mayor
rapidez y eficiencia en sus tareas habituales.
Los pasos a seguir para programar con Visual Basic son:
1. disear los formularios (ventanas) con los que va a interactuar el
usuario.
2. agregar los objetos y definir las propiedades de cada uno de ellos.
3. establecer los eventos a los que va a responder el programa y escribir
el cdigo correspondiente ( por ejemplo, definir cmo va a responder un
botn cuando el usuario haga un doble clic)
Una aplicacin de Visual BASIC puede estar formada por cinco clases de
archivos:
Mdulos de formularios (.frm)
Mdulos estndar (.bas)
Mdulos de clase (.cls)
Ficheros binarios (.frx)
Ficheros de recursos (.res)
Un mdulo correspondiente a un formulario es un fichero que contiene
objetos grficos, llamados controles, ms cdigo; mientras que un
mdulo estndar o un mdulo correspondiente a una clase slo contiene
cdigo.
Los ficheros binarios contienen los datos binarios de un formulario; por
ejemplo, algunos controles tienen propiedades cuyos valores son datos
binarios, como Picture.
Un fichero de recursos permite agrupar todo el texto y los mapas de bits
especficos de una aplicacin; puede incluir declaraciones de constantes,
iconos, texto de pantalla y otros elementos que pueden variar entre
versiones traducidas o entre revisiones o configuraciones especficas.
La lista de ficheros que componen la aplicacin junto con las opciones (el
conjunto de opciones se puede ver ejecutando la orden Opciones del
men Herramientas ) es guardada en un archivo de proyecto con
extensin .vbp cada vez que se guarda la aplicacin o proyecto. As
mismo, el espacio de trabajo del proyecto Visual Basic se guarda en un
archivo con extensin .vbw.

Terminologa utilizada
VENTANAS = OBJETOS
Los programas para Windows estn constituidos por ventanas. Las
ventanas son objetos. Visual Basic trabaja con objetos.
Todos los elementos con los que vamos a trabajar para desarrollar un
programa en Visual Basic son objetos y cada uno de ellos tiene
caractersticas y comportamientos propios y especficos.

TIPOS DE OBJETOS
Existen muchos tipos de objetos con los que trabaja Visual Basic, entre
ellos podemos hablar de los formularios y controles.
Un formulario es una ventana mediante la cual los usuarios interactan
con la aplicacin. En dicha ventana depositaremos los controles
necesarios para crear nuestra interfaz con el usuario de la aplicacin. La
finalidad principal de un formulario es agrupar una serie de controles por
medio de los cuales poder presentar y solicitar informacin al usuario.
Los controles son todos los objetos que se colocan en los formularios,
mediante los cuales se realizan las acciones. A travs de los controles se
pueden escribir y recibir texto (etiquetas y cajas de texto), usar botones
de comando, insertar o manipular imgenes, utilizar cuadros de dilogo,
etc.

Proyecto
Un proyecto es un conjunto de formularios, conteniendo controles,
objetos, las propiedades de esos objetos y el cdigo Visual Basic de
programacin. Es decir que en un proyecto se encuentran enlazados
todos los componentes que Visual Basic utiliza para desarrollar un
programa.
Cada uno de los formularios contenidos en el proyecto se almacena
separadamente, en un archivo que tendr el nombre del formulario y la
extensin .FRM. En dicho archivo se define la posicin y dimensiones del
formulario y de cada uno de los controles que ste contiene, as como el
cdigo de los mtodos para aquellos eventos a los que se responder.

Mtodos
Los mtodos son funciones propias de cada objeto. As como las
propiedades afectan cmo son los objetos, los mtodos ejecutan
acciones propias del mismo. Los mtodos afectan el comportamiento de
los objetos de un programa, y solamente se los utiliza en tiempo de
ejecucin. Por ejemplo, los formularios poseen un mtodo llamado Show
que se encarga de mostrarlos por pantalla.

Eventos
Un evento es una accin reconocida por un objeto (formulario o control).
El evento puede ser causado por el usuario (por ejemplo :cuando pulsa
una tecla), por el sistema (por ejemplo: transcurri un determinado
tiempo), o indirectamente por el cdigo ( por ejemplo: cuando el cdigo
carga un formulario se da el evento Load ).
Los eventos son sucesos a los que debe responder el programa.
En una aplicacin se pueden producir muchos eventos generados por el
usuario, o incluso el mismo programa puede generar otros eventos.
En Visual Basic, cada formulario y cada control tienen predefinido un
conjunto de eventos. Cuando ocurre uno de estos eventos, Visual Basic
invoca al procedimiento del objeto que responde a ese evento.
Los eventos ms importantes que son comunes a varios controles son:

Evento -------------- Se produce cuando ...
Change ------------ el usuario modifica el estado de un control
Click ----------------- el usuario pulsa un objeto con el botn primario del
mouse
DblClick ------------ Se pulsa dos veces un objeto con el botn primario del
mouse
DragDrop --------- El usuario arrastra un control hacia una nueva
ubicacin
DragOver --------- Un objeto se arrastra sobre un control
GotFocus --------- Un objeto recibe el foco
KeyDown --------- Se pulsa una tecla mientras un objeto tiene el foco
KeyPress ---------- Se pulsa y se suelta una tecla mientras un objeto tiene
el foco
KeyUp ------------- Se suelta una tecla mientras un objeto tiene el foco
Load --------------- Se carga un objeto en memoria
LostFocus -------- Un objeto perdi el foco
MouseDown ----- Se puls un botn del mouse sobre un objeto
MouseMove ------ Se movi el cursor del mouse sobre un objeto
MouseUp --------- Se solt un botn del mouse sobre un objeto
Unload ------------ Se descarga un objeto de memoria


Cada evento tiene un procedimiento en donde escribir el cdigo
necesario. El nombre de este procedimiento est dado por el nombre del
objeto, seguido de un guin bajo y el nombre del evento y unos
parntesis. Dentro de los parntesis se indican los parmetros, si es que
el evento tiene alguno.
Por ejemplo, los botones de comando tienen un evento llamado Click,
que se dispara cada vez que el usuario hace clic del mouse sobre el
mismo.
El evento MouseMove tiene parmetros, su sintaxis es la siguiente:

Private Sub Form_MouseMove( Button as Integer, Shift as Integer, X as
Single, Y as Single)
End Sub

Esto hace que desde el procedimiento sea posible conocer qu botn gener el evento
( variable Button) , si estaba el Shift pulsado ( variable Shift) , y las ccordenadas X e Y
donde se presion el botn del mouse.

Insercin de comentarios
Podemos insertar un comentario en cualquier lnea, incluso si en ella
existe ya alguna sentencia, utilizando el carcter (apstrofe). Cualquier
texto que aparezca escrito detrs de este carcter, hasta el final de la
lnea, es tomado como comentario y no ser procesado por Visual Basic.

Uso de colores en el cdigo
Visual Basic utiliza distintos colores para diferenciar distintas partes de
un cdigo, utiliza el color azul para palabras reservadas como la palabra
Dim, If ...then ...else...endif, para definir el nombre de una variable,
realizar asignaciones,... utiliza el color negro, una lnea conteniendo un
error aparecer en rojo, la lnea de comentario aparecer en verde. Estos
colores estn predeterminados por Visual Basic, pero es posible
modificarlos por medio de la opcin Opciones del men Herramientas,
adems se podr cambiar el tipo de letra, el tamao, etc.

Formulario
Por defecto el ttulo del formulario es Form1, al igual que su nombre.
Estos dos trminos, ttulo y nombre, son fciles de son confundir. La
mayora de los controles tienen un ttulo, que podemos obtener y
modificar por medio de la propiedad Caption, que no es ms que el texto
que aparece en el control, y no tiene ninguna correspondencia ni
referencia en el cdigo de la aplicacin.
El nombre del control o formulario, s es referenciado en el cdigo cada
vez que se quiere manipular ese objeto. El nombre de un control, que se
establece durante el diseo de la aplicacin, no ser modificado
posteriormente, y se utilizar tanto para acceder a las propiedades de
ese objeto como para realizar cualquier otro tipo de operacin con l. La
propiedad correspondiente al nombre del objeto es Name.

Funciones y procedimientos
Un procedimiento es un conjunto de lneas de cdigo al que se da un
nombre, que se utiliza posteriormente para ejecutar este cdigo. La
misma definicin es vlida para una funcin, con la nica diferencia de
que sta devuelve un valor al finalizar su ejecucin, mientras que un
procedimiento no.

Tipos de datos
Visual Basic dispone de distintos tipos de datos, analizaremos la
siguiente tabla:

TIPO --- Requisitos de memoria ----- Valores que puede contener...
Boolean ---- 0bytes -------------------- True o False
Byte--------- 1bytes -------------------- Nmeros enteros ( en el rango de 0 a
255)
Integer ---- 2bytes -------------------- Nmeros enteros ( en el rango de -
32768 a 32767)
Long ------- 4bytes -------------------- Nmeros enteros ( en el rango de -
2147483648 a 2147483647)
Single ------ 4bytes -------------------- Nmeros decimales
Double ---- 8bytes -------------------- Nmeros decimales
Currency -- 8bytes -------------------- Nmeros grandes
String ------ 1byte por caracter ---- Cadena de caracteres
Date ------- 8bytes --------------------- Fechas y horas
Object ----- 4bytes --------------------- Instancia de clases u objetos
Variant ----- 16bytes ------------------- Cualquier tipo de dato

El tipo de dato Boolean (Lgicos) puede contener slo dos valores posibles: True (
verdadero) o False(falso). El valor True corresponde con el entero 1 y False con el
valor cero.
El tipo Byte es adecuado para contener cualquier nmero entero que no sea negativo
ni mayor que 255.
El tipo Integer (Enteros) es el tipo ms utilizado, ya que nos permite trabajar con
nmeros enteros, tanto negativos como positivos.
El tipo Long (Enteros largos) nos permite trabajar con cualquier nmeros enteros, tanto
negativos como positivos, con un mayor nmero de dgitos que las variables de tipo
Integer.
Los tipos Single (Reales simples) y Double (Reales dobles) son los que nos permiten
utilizar nmeros en punto flotante, lo que significa que la coma decimal no tiene una
posicin predeterminada, sino que puede estar en cualquier lugar donde sea
necesario.
El tipo Currency (Moneda) se caracteriza por trabajar con nmeros con parte decimal
fija, tiene cuatro dgitos decimales.
El tipo String ( Cadena de caracteres) genera una cadena de longitud variable de
caracteres.
El tipo Date nos permite almacenar fechas y horas, desde el 1 de Enero del ao 100
hasta el 31 de Diciembre del ao 9999. En realidad la representacin interna de una
variable de este tipo es la de un nmero en coma flotante, en el que la parte entera
contiene la fecha y la parte decimal la hora.
El tipo Object es capaz de contener una referencia a cualquier objeto de la aplicacin,
por ejemplo un formulario o un componente OLE.
Una variable Variant es capaz de contener cualquier tipo de dato, un nmero, una
cadena, una fecha, incluso una matriz, cambiando de uno a otro de acuerdo a las
necesidades de la operacin.

Variables
Una variable es una posicin de memoria con nombre. El nombre de la
posicin es el identificador de la variable; el valor almacenado en la
posicin se llama contenido.
Las variables deben definirse, declararse con la sentencia DIM, seguida
del nombre de la variable, la palabra As y el tipo de variable.
El valor por defecto que se inicializa una variable depende de su tipo. Si
la variable es numrica, indistintamente de que sea entera o decimal y de
su precisin, el valor inicial es cero. Si la variable es de tipo String, dicha
cadena ser una cadena vaca. Si la variable es de tipo Date, la fecha
ser el da 0 del mes 0 del ao 0. Si la variable es de tipo Boolean se
inicializa con el valor False. Si la variable es de tipo Variant, el valor
inicial ser Empty.
Variant es el tipo por defecto para todas las variables, a no ser que se
indique lo contrario.
Un nombre de variable debe comenzar con una letra, y estar seguido de
hasta 39 caracteres ms, que pueden ser dgitos, letras y el carcter de
subrayado. Visual Basic no diferencia entre maysculas y minsculas.
Visual Basic permite aadir al final del nombre de una variable, as como
al final de una constante, un carcter que hace referencia al tipo de dato.
Es posible declarar una variable prescindiendo del As tipo, utilizando
estos caracteres.

Dim Dato as Integer es lo mismo que escribir Dim Dato%

Mdulos de Visual Basic
El cdigo de una aplicacin Visual Basic se edita en mdulos. Los
mdulos tienen incorporadas funciones automticas de formato y
comprobacin de sintaxis. Hay tres tipos de mdulos: de formulario,
estndar y de clase.
Mdulo de formulario
Es un archivo con extensin .frm que puede contener descripciones
grficas de un formulario, sus controles y sus valores de propiedades,
declaraciones de constantes, variables y procedimientos externos a nivel
del formulario., as como procedimientos conducidos por eventos y
procedimientos generales.
Mdulo estndar
Es un archivo de extensin .bas que solo contiene declaraciones y
definiciones de procedimientos, tipos y datos a los que tienen acceso
otros mdulos de la aplicacin.
Mdulo de clase
Es un archivo con extensin .cls que contiene la definicin de una clase
de objetos; esto es, la definicin de cada una de sus propiedades y
mtodos.

Ambito de las variables
Se entiende por mbito o alcance de una variable al espacio de la
aplicacin donde la variable es visible y por lo tanto se puede utilizar. A
continuacin se indican los lugares donde se puede declarar una
variable:

-Variables utilizadas por todos los mdulos (declaracin Public en
cualquier mdulo)
-Mdulo (formulario, md. estndar o clase)
-Variables utilizadas dentro del mdulo (declaracin Dim o Private en el
mdulo)
-Procedimientos: Variables locales (Dim o Static) - Variables locales (Dim
o Static)

La tabla siguiente resume cmo debe declararse una variable en funcin
del espacio donde deseamos que sea visible:

Ambito Declaracin
Local Dim o Static (dentro de un procedimiento)
Mdulo Dim o Private (seccin de declaraciones del mdulo: seccin
General)
Global Public (seccin de declaraciones de un mdulo)

A nivel del mdulo, no hay diferencias entre Dim y Private, pero se aconseja utilizar
Private en contraste con Public. En un procedimiento no tiene lugar esta observacin,
ya que no se puede utilizar Public.

Variables locales
Una variable local se reconoce solamente en el procedimiento en el que
est definida. Fuera de ese procedimiento, la variable no es conocida.
Una variable local es reiniciada cada vez que se entra en el
procedimiento. Una variable local no conserva su valor entre una llamada
al procedimiento y la siguiente. Sin embargo esto se puede modificar
mediante la sentencia Static, hay que declarar la variable esttica. Visual
Basic inicia una variable esttica solamente la primera vez que se llama
al procedimiento y se destruye slo cuando la aplicacin termina. Para
declarar una variable esttica, utilice la palabra clave Static en lugar de
Dim.

Variables globales
Las variables globales son aquellas que pueden ser utilizadas desde
cualquier punto de la aplicacin, sin importar el mdulo en el que est el
procedimiento que acceda a ella.
Slo es posible declarar una variable global a nivel de mdulo, es decir,
fuera de cualquier procedimiento o funcin utilizando la sentencia Public,
seguida del nombre de la variable, la palabra As y el tipo de variable. Si
se intenta declarar una variable global en el interior de una funcin o un
procedimiento obtendr un error durante la compilacin de la aplicacin,
no podr siquiera llegar a ejecutarla.
El tiempo de vida de una variable global comienza en el mismo momento
en el que se carga la aplicacin, y no muere hasta que sta termina.

Constantes, Variables y Expresiones
Las variables pueden ser globales, accesibles desde cualquier punto,
pblicas en un mdulo, accesibles desde los mtodos y funciones
contenidas en un mdulo de cdigo, o privadas, accesibles tan slo en el
mbito en que se ha declarado.
Es una prctica comn que todas las variables que se utilizan en
mtodos y funciones sean privadas, evitando as que puedan ser
manipuladas desde cualquier cdigo externo. Este tipo de variables son
creadas automticamente cada vez que se ejecuta el procedimiento o
funcin, y destruirlas cuando este termine. Este hecho, por otra parte,
reduce el consumo global de memoria, ya que la mayor parte de las
variables existen tan slo mientras se est ejecutando la porcin de
cdigo en la que se declaran, y la memoria que ocupan se libera al salir.
Una constante es una posicin de memoria con nombre. El nombre de la
posicin es el identificador de la constante; el valor almacenado en la
posicin se llama contenido y no puede cambiar a lo largo de la ejecucin
de la aplicacin. Las constantes tambin deben ser declaradas con la
sentencia CONST, seguida del nombre de la constante, la palabra As y el
tipo de constante, el signo = y el valor asignado.
Ejemplo: Const MATERIA as String = computacin

Para poder usar Visual Basic 2010, sigan estas instrucciones:





El que les muestro en pantalla es el VB Professional 2010, pero no
importa el Express servir de la misma manera para lo que lo
utilizaremos.




La primera aplicacin que aremos es una aplicacin que nos
mostrara un mensaje.

Paso 1
Necesitaremos colocar un Textbox y un Botn. Los encontraras en la
parte Izquierda de la pantalla.



Lo siguiente es darle el nombre al botn. Irn a la parte inferior derecha,
en las propiedades, buscaran donde dice Text. Y le cambiaran el
nombre.


Ahora le daremos Double-Click al botn que colocamos y nos saldra
una pantalla algo asi:





Paso 2
Ahora nombraremos una Variable, como habia mencionado en el primer
tutorial, debemos darle un nombre significativo a la variable. Para
nombrar una Variable en Visual Basic utilizaremos Dim le sigue el
nombre de la variable, que en mi caso le dire "Palabra" y le sigue el Tipo
de dato que para la necesidad del programa, sera String, y en Visual
Basic es As String ya que estamos utilizando palabras para la salida.



Paso 3
Despues de nombrar la Variable, le colocaremos a la variable un Valor.
Para eso escribimos el nombre de la variable escribimos el signo de
igualdad (=) y ya como es String el valor sera puesto entre Comillas ( ""
) En mi caso le puse "Este es el primer Tutorial de Programacin",
Coloquenle lo que deseen.



Paso 4
Es la salida, ya que pusimos un Textbox y ahi es donde saldra el
mansaje, escribiremos el nombre del Textbox, seguido de .Text y
seguido del signo de igualdad (=) y despues el nombre de la variable.








Un resumen de lo que isimos:
1) Colocamos un Botn y un Textbox en la interface
2) Fuimos al rea de programacin
3) Nombramos la variable utilizando (Dim "El nombre de la variable"
As String)
4) Le dimos un Valor a la Variable Colocando ("El nombre de la
Variable" = "El valor deseado" )
5) Escribimos el (Nombre del Textbox seguido de .Text el Signo de
igualdad (=) y "El nombre de la variable")



Ahora el Ultimo paso es probarlo, Le daremos al Smbolo verde en
la parte Superior.



Rellenar un DataGridView
En este ejemplo se muestra como rellenar un DataGridView, a partir de
una tabla, sin haber creado con anterioridad las columnas.

Se parte de un formulario en el que se incluye un DataGridView, sin
configurar ninguna columna.

Tanto las columnas como las filas sern anexadas mediante cdigo.



El resultado final ser un DataGridView, que contendr todas las
columnas que devuelva la consulta a la base de datos. Incluyendo la
posibilidad de aadir otras mediante cdigo.


ACLARACIN:


En el caso de conocer cuantas columnas nos devolver la consulta se
pueden aadir de una en una con la
instruccin DataGridView1.Columns.Add, pasandole como parmetro el
nombre de cada columna, y el texto que aparecer en la cabecera de la
misma.
Suele ser habitual que ambos sean iguales, aunque no es imprescindible.

Con esto se puede recuperar el nombre de la tabla:
DataGridView1.Columns.Add(lector.GetName(0), lector.GetName(0))

O tambin se puede asignar el nombre que se desee:
DataGridView1.Columns.Add("Nombre columna", "Texto Cabecera
Columna")

En caso de no conocer cuantas columnas devolver la consulta, es
posible realizar un bucle que aada columnas hasta alcanzar el valor
indicado por el lector, en la propiedad FieldCount.

For i As Integer = 0 To lector.FieldCount - 1
DataGridView1.Columns.Add(lector.GetName(i), lector.GetName(i))
Next

En cuanto al proceso de rellenar las filas se pueden aadir como se
mostr en el ejemplo anterior o utilizando una tabla de cadenas de
caracteres.
En el detalla se muestra esta solucin:

DataGridView1.Columns.Add("Importe", "Importe")
Dim tabla_cadenas(lector.FieldCount) As String
While lector.Read()
'Se aade una fila al grid con un string por cada columna
For j As Integer = 0 To lector.FieldCount - 1
tabla_cadenas(j) = lector.GetValue(j).ToString
Next
DataGridView1.Rows.Add(tabla_cadenas)
End While

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Ejemplo de cdigo
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

'1 - Importar espacio de nombres
Imports System.Data.OleDb

Public Class Form5

Private Sub Form5_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
'2 - crear conexion
Dim conexion As New OleDbConnection

'3 - cadena de conexion
conexion.ConnectionString =
"Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=C:\factura_cliente.accdb;Persist Security Info=False;"

'4 - abrir conexion
conexion.Open()

'5 - crear la sentencia SQL
Dim comando_SQL As New OleDbCommand("SELECT * FROM
Lineas_factura WHERE Numero_factura_fk = " & Form2.factura_numero,
conexion)

'6 - se crea el reader
Dim lector As OleDbDataReader = comando_SQL.ExecuteReader

' *****************************************************************
'7 - Mostrar valores del reader en el DataGridView
DataGridView1.Rows.Clear()
'DataGridView1.Columns(0).HeaderText = lector.GetName(0)
'DataGridView1.Columns.Add(lector.GetName(0),
lector.GetName(0))
'DataGridView1.Columns.Add(lector.GetName(1),
lector.GetName(1))
'DataGridView1.Columns.Add(lector.GetName(2),
lector.GetName(2))
'DataGridView1.Columns.Add(lector.GetName(3),
lector.GetName(3))
'DataGridView1.Columns.Add(lector.GetName(4),
lector.GetName(4))

'Otra opcin de aadir columnas
For i As Integer = 0 To lector.FieldCount - 1
DataGridView1.Columns.Add(lector.GetName(i),
lector.GetName(i))
Next

DataGridView1.Columns.Add("Importe", "Importe")

Dim tabla_cadenas(lector.FieldCount) As String

While lector.Read()
'Se aade una fila al grid con un string por cada columna
'DataGridView1.Rows.Add(lector.GetValue(0), lector.GetValue(1),
lector.GetValue(2), lector.GetValue(3), lector.GetValue(4))

For j As Integer = 0 To lector.FieldCount - 1
tabla_cadenas(j) = lector.GetValue(j).ToString
Next

DataGridView1.Rows.Add(tabla_cadenas)

End While

'punto final cerrar conexion
conexion.Close()

Dim total_factura As Single
Dim parcial_factura As Single

'Se restan 2 a DataGridView1.Rows.Count para descartar la lnea en
blanco
For i As Integer = 0 To DataGridView1.Rows.Count - 2
parcial_factura = CSng(DataGridView1.Rows(i).Cells(3).Value) *
CSng(DataGridView1.Rows(i).Cells(4).Value)
total_factura += parcial_factura
DataGridView1.Rows(i).Cells(5).Value = parcial_factura
Next

'**********************************************************************

TextBox1.Text = Form2.factura_numero
TextBox2.Text = Form2.factura_fecha
TextBox4.Text = Form1.codigo_cliente
TextBox5.Text = Form1.dato_Nombre_fiscal
TextBox6.Text = Form1.dato_Cif
TextBox7.Text = Form1.dato_Direccion
TextBox3.Text = Form1.dato_Nombre_comercial
TextBox5.Text = Form1.dato_Nombre_fiscal

TextBox8.Text = total_factura.ToString
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Form6.Show()
End Sub
End Class




Eliminar un registro de una base de datos
En este ejemplo se indica por una parte como leer y mostrar los datos de
una tabla, de uno en uno.
Para lo cual en vez de leer del DataReader mediante un bucle While, se
ejecuta una lectura del DataReader por cada pulsacin del botn.


'7 - Mostrar valores del reader
lector.Read()
'Se aaden datos a los textbox
TextBox1.Text = lector.GetValue(0).ToString
TextBox2.Text = lector.GetValue(1).ToString
TextBox3.Text = lector.GetValue(2).ToString
TextBox4.Text = lector.GetValue(3).ToString
TextBox5.Text = lector.GetValue(4).ToString


Por otro lado, se muestra como tratar el proceso de eliminacin de un
registro, intentando evitar que se eliminen datos accidentalmente,
mostrando un MessageBox que solicita confirmacin de la eliminacin
del registro, pero que tiene asignado por defecto el botn de cancelar,
para evitar que una pulsacin errnea provoque la eliminacin accidental
de un registro.

MessageBox.Show("De verdad desea eliminar el cliente nmero " &
TextBox1.Text & "?", "Eliminacin de registro",
MessageBoxButtons.OKCancel, MessageBoxIcon.Question,
MessageBoxDefaultButton.Button2)

Por ltimo se muestra como utilizar una consulta de eliminacin.

Dim comando_SQL As New OleDbCommand("DELETE FROM Clientes
WHERE Id_cliente = " & TextBox1.Text, conexion)







- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - -
CDIGO
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - -


'1 - Importar espacio de nombres
Imports System.Data.OleDb

Public Class Form3


Public lector As OleDbDataReader


Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

'2 - crear conexion
Dim conexion As New OleDbConnection

'3 - cadena de conexion
conexion.ConnectionString =
"Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=C:\factura_cliente.accdb;Persist Security Info=False;"

'4 - abrir conexion
conexion.Open()

'5 - crear la sentencia SQL
Dim comando_SQL As New OleDbCommand("SELECT * FROM
Clientes ORDER BY Id_cliente", conexion)

'6 - se crea el reader
lector = comando_SQL.ExecuteReader

' *****************************************************************
'7 - Mostrar valores del reader
lector.Read()
'Se aaden datos a los textbox
TextBox1.Text = lector.GetValue(0).ToString
TextBox2.Text = lector.GetValue(1).ToString
TextBox3.Text = lector.GetValue(2).ToString
TextBox4.Text = lector.GetValue(3).ToString
TextBox5.Text = lector.GetValue(4).ToString


'**********************************************************************

'punto final cerrar conexion
'conexion.Close()
End Sub


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
If lector.Read() Then
'Se aade una fila al grid con un string por cada columna
TextBox1.Text = lector.GetValue(0).ToString
TextBox2.Text = lector.GetValue(1).ToString
TextBox3.Text = lector.GetValue(2).ToString
TextBox4.Text = lector.GetValue(3).ToString
TextBox5.Text = lector.GetValue(4).ToString
Else
MessageBox.Show("Se han mostrado todos los registros")

End If


End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click

'2 - crear conexion
Dim conexion As New OleDbConnection

'3 - cadena de conexion
conexion.ConnectionString =
"Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=C:\factura_cliente.accdb;Persist Security Info=False;"

'4 - abrir conexion
conexion.Open()


If MessageBox.Show("De verdad desea eliminar el cliente nmero
" & TextBox1.Text & "?", "Eliminacin de registro",
MessageBoxButtons.OKCancel, MessageBoxIcon.Question,
MessageBoxDefaultButton.Button2) = DialogResult.OK Then
'5 - crear la sentencia SQL
Dim comando_SQL As New OleDbCommand("DELETE FROM
Clientes WHERE Id_cliente = " & TextBox1.Text, conexion)


Dim total_datos_afectados As Integer
'6 - Se ejecuta la consulta
total_datos_afectados = comando_SQL.ExecuteNonQuery
MessageBox.Show("Se han eliminado correctamente " &
total_datos_afectados & " registros.")
Else
MessageBox.Show("Eliminacin cancelada.")

End If

End Sub
End Class















1 - Introduccin
Todos los lenguajes utilizan este sistema o metodologa para la
programacin de aplicaciones, pero varan la forma en que se
utilizan, su sintaxis etc...
Cuando uno recin empieza a programar, parece muy
complicado entender estos temas, pero con la prctica todo se
va aclarando.
Lo bueno de comprender los fundamentos de la programacin,
es que nos permite luego poder programar en casi cualquier
lenguaje, por que la forma de programar en general no vara
demasiado, lo que cambia en cada uno de ellos es su sintaxis y
funciones y cosas propias del lenguaje. Aunque tampoco es tan
as, ya que esto no significa que por que uno sea experto por
ejemplo programando en lenguaje C, lo sea en Visual Basic y
Viceversa.


2 - Las Variables

Las variables, como su nombre lo indica, se utilizan para
almacenar valores que tienen la propiedad de variar el
contenido. Cuando hablamos de contenido nos referimos a
cualquier tipo de datos, por ejemplo un nombre, una fecha, un
color, un nmero etc... .
A las variables se les asigna un nombre para poder utilizarlas.
Por ejemplo puedo crear una variable llamada fecha y esta
almacenar una fecha. A los nombres de las variables se los
denomina identificadores. Cuando creamos variables, tenemos
que tratar de asignarles un nombre que se relacione con el tipo
de dato que queremos almacenar. Por ejemplo no tendra
mucho sentido crear una variable llamada m y all guardar o
almacenar un nombre o un apellido, por que cuando echemos
vista al cdigo resultara mas difcil deducir que tipo de dato
estoy guardando. Por ejemplo en este ltimo caso sera mucho
mas lgico crear una variable llamada nombres y all guardar
"Luciano", "Pedro", "Natalia" etc..
En visual basic a las variables conviene declararlas, o sea,
avisarle a vb que vamos a utilizar dichas variables. A estas se
las declara en el comienzo del cdigo y se les antepone
lapalabra reservada Dim, luego el nombre que nosotros
queramos y seguido el tipo de dato que almacenar, por
ejemplo si quiero almacenar en una variable llamada Numero
Dim numero As Integer

La palabra Integer le avisa a vsiaual basic que voy a guardar
un nmero entero. Despus de declararla le podemos asignar
un valor con el operador "=", ejemplo:
Dim numero As Integer

numero = 1500
Pero hay que tener en cuenta que al declarar una variable, en
este caso, de tipo integer, no podramos almacenar en ella una
cadena de caracteres como por ejemplo un nombre o cualquier
otro tipo de datos que no sea un nmero entero. Si
sucedera esto nuestro programa dara un error en tiempo de
ejecucin, mostrndonos un feo cartel dicindoos que no
coinciden los tipos de datos..


3 - Tipos de datos:
Los tipos de datos, indican el tipo de valor que puede
almacenar una variable. Los principales tipos de datos:
Nmeros enteros: dentro de los nmeros enteros tenemos
varios tipos de datos dependiendo el rango que queramos
utilizar:
Byte: puede almacenar nmeros enteros dentro del rango
desde 0 a 255
Integer: puede almacenar nmeros enteros dentro del
rango -32.768 a 32.767
Long: puede almacenar nmeros enteros dentro del rango
-2.147.483.648 hasta 2.147.483.648 .
Nmeros decimales: para almacenar nmeros decimales
contamos con los siguientes tipos de datos:
Single: almacena nmeros decimales en el rango +/- 1e-
45 hasta 3e38
Double: desde +/- 5e-324 hasta 1.8e308
Cadenas de caracteres: las cadenas de caracteres se definen
con la palabra String y tienen un rango de hasta 2 billones de
caracteres.
Tipos de valores lgicos: para almacenar tipos de valores
lgicos como verdadero o falso, se utiliza la palabra Boolean y
sus 2 posibles valores son True (verdadero) y False (falso).
Fechas y horas: Para almacenar fechas y horas se utiliza la
palabra Date
Tipo variant : Las variables de este tipo pueden almacenar
cualquier tipo de valor, pero ocupan mas memoria.
Nota: hay mas tipos de datos, incluso nosotros podemos crear
los nuestros.


4 - Constantes:

Las constentes, como las variables, se utilizan para guardar
datos y valores para nuestro programa, pero a diferencia de
estas ltimas (las variables), el contenido que almacenen no
cambia, siempre es constante.

A diferencia de las variables que se declaran con la
palabra Dim, las Constantes se declaran con la palabra
Const.
Ejemplo:
Const numero = 53
En la lnea anterior he creado una constante, que la llam
numero y va a almacenar un nmero , y este valor, cuando se
ejecute mi programa se mantendr invariable.

Un ejemplo:

1 - En la siguiente lnea se declaran 2 tipos de variables de tipo
Integer llamadas num1 y num2. Luego se les asigna un valor a
cada una y luego las sumamos, y mediante la funcin MsgBox
que es una funcin de Visual Basic para mostrar mensajes,
mostramos el resultado de esa suma.
Coloca un botn (CommandButton) llamado Command1. Hac
dobleClick sobre el botn para que se abra la ventana de cdigo
de Visual Basic. Dentro del procedimiento Click pega este
cdigo:

Dim num1 As Integer
Dim num2 As Integer

num1 = 10
num2 = 20

'se mostrar un mensaje con la suma de las
variables con el resultado 30
MsgBox num1 + num2

Al ejecutar el programa, pods ver como se presenta una caja
de mensaje con el resultado al sumar las 2 variables num1 y
num2
2 - Ahora vamos a declarar y crear 2 variables de tipo String,
es decir vamos a almacenar cadenas de caracteres en cada una
de ellas. En el ejemplo se crean 2 variables, una
llamadanombre y otra apellido. Despus le asignamos un
valor, y por ultimo mostramos las variables con un mensaje
usando la funcin MsgBox como en el ejemplo anterior. Pero
antes hay que aclarar algo importante, las cadenas en visual
basic se encierran entre comillas dobles como pods ver en el
ejemplo, de lo contrario se va a producir un error.
Dim nombre As String
Dim apellido As String
'le establecemos valores
nombre = "Carlos"
apellido = "Peres"

'mostramos un mensaje con el valor de las
variables
MsgBox nombre
MsgBox apellido

3 - Ahora un ejemplo que produce un error en tiempo de
ejecucin. Creamos 2 variables exactamente igual que en el
ejemplo anterior, pero en ves de declarar las variables nombre y
apellido como de tipo String lo hacemos como de tipo
Integer.

Dim Nombre As Integer
Dim Apellido As Integer
'Le establecemos valores numericos
Nombre = "Carlos"
Apellido = "Peres"

Si probs el ejemplo, visual basic te mostrar un mensaje de
error como el siguiente: "no coinciden los tipos de datos":



...ya que las variables estn declaradas como de tipo Integer, y
le ests asignando un tipo de dato que no lo acepta.
4 - Un ejemplo que almacena un nmero en una variable
de tipo Byte (nmeros de 0 a 255). Primero declaramos la
variable y le damos un nombre, por ejemplo si queremos
almacenar el nmero 88 hacemos por ejemplo as.
Dim Edad As Byte

Para asignarle un valor a esa variable:
Edad = 88

Para mostrar el valor de la variable Edad en un control TextBox
cuando presionamos un botn Command1, sera de esta
manera:
Private Sub Command1_Click()
'Declaramos la variable
Dim Edad As Byte

'Le asignamos un valor que no sea inferior a 0 ni
mayor a 255
Edad = 88

'Lo mostramos en el control llamado Text1
Text1 = Edad
End Sub

Si probaras cambiando el valor 88 por ejemplo a 300, ocurrira
lo mismo que en el ejemplo anterior, es decir un Error 13 en
tiempo de ejecucin "No coinciden los tipos de datos"


5 - Estructuras de control:
Las estructuras de control se utilizan para controlar el flujo
del programa en una rutina o funcin. Mediante ellas podemos
controlar, mediante una condicin, que se ejecute una
determinada lnea o bloque de lneas de cdigo .. o que no se
ejecuten.

Estructura If - Then - Else
Esta estructura permite mediante una condicin, que se ejecute
o no se ejecute determinada tarea o lnea de cdigo.
Por ejemplo supongamos que tenemos en un formulario un
control Label con la propiedad Caption con el valor 50
If Label1.Caption = "50" Then
msgbox "mi label tiene un valor de 50"
else
msgbox "mi label NO tiene un valor de 50"
end if

Esto traducido al espaol significara lo siguiente:
Si (If) la propiedad caption del label1 que tengo en el formulario
es igual (=) a "50" entonces (Then) que muestre un
determinado mensaje, si no (Else) que muestre el otro
mensaje.
En conclusin lo que hace esta estructura es evaluar una
condicin, si se cumple, que se ejecute determinada tarea. si no
se cumple, se ejecutar las lneas de cdigo que estn bajo la
clusula Else. Luego tenemos que cerrar la estructura con la
palabra end if.
Tenemos que aclarar que no es obligatorio usar If y else
juntos en la misma clusula. Por ejemplo podramos utilizar
solo una estructura If sin else. Por ejemplo:
Private Sub Command1_Click()
'Si la propiedad caption del Label1 es "Hola"
entonces se termina el programa
If Label1.Caption = "Hola" Then


End

End If

'Si no, se prosigue con esta lnea

MsgBox "No se ejecut el bloque If Anterior porque
el Caption del control Label1 no era Hola"

End Sub

Coloca un Label1 y un Command1. En la propiedad caption del
Label1 escribe "Hola". Al ejecutar el programa y presionar el
Command1, se termina el programa con la sentencia End de
Visual Basic (End sirve para finalizar completamente la
ejecucin de nuestro programa). En cambio si ahora le cambia
el caption al Label1 y volvs a ejecutar el proyecto, pods ver
que la instruccin End no se ejecuta, si no que la pasa por alto y
sigue con las restantes lneas, en este caso ejecuta la funcin
MsgBox con el mensaje.

Estructura While - Wend
Esta estructura de control repetir sin detenerse un
determinado cdigo mientras se cumpla una condicin.
Por ejemplo supongamos que tenemos una variable
llamada x que tiene un valor de 100.
while x = 100
...se ejecutan todas las lneas de cdigo que
estn aqu
wend

Esto traducido al espaol significara lo siguiente:
Mientras (While) la variable x sea igual a 100, y no cambie su
valor, se formar un bucle interminable, hasta que x cambie a
cualquier otro valor disto de 100. Si x cambia el valor, por
ejemplo a 234 saldra del bucle While - wend y seguira
ejecutando el resto del cdigo, si es que hay mas cdigo o
instrucciones a ejecutar.
Un ejemplo, agrega un Command1 al formulario y un
control Text1. Cuando ejecutemos el ejemplo, se deber
escribir un nmero dentro del control textBox. Entonces se
crear un bucle While, que mostrar en el Caption del
formulario, es decir en la barra de ttulo, el intervalo desde 0
hasta el nmero que hayamos ingresado en el Text1. Es decir si
ingresamos el nmero 9000, en el caption del formulario se
imprimirn los nmero desde 0 hasta 9000.
Para hacer esto, dentro del bucle While pondremos una
variable llamada Contador, que en cada pasada se
incrementar en 1, pero cuando la variable Contador sea igual
al nmero que haya en el Text1, se finalizar el bucle y se
mostrar un mensaje que finaliz el mismo
Private Sub Command1_Click()
Dim contador As Integer 'Declaramos la variable

While contador <> Text1

'Mostramos en el formulario el valor de la
variable contador
Me.Caption = contador

'Incrementamos la variable en 1
contador = contador + 1

Wend

MsgBox "Termin el bucle"

End Sub

Estructura For - next
La estructura es utilizada para generar una repeticin de
instrucciones o bucle, pero no evala una condicin como en el
caso del bucle While, si no que lo hace entre un nmero inicial y
un nmero final que le debemos indicar al mismo.
Por ejemplo, tenemos un formulario con un Label1 y declaramos
una variable de tipo integer llamada "contador" como en el caso
anterior
Private Sub Command1_Click()
Dim contador As Integer

For contador = 0 To 1000

Label1.Caption = contador

Next contador

End Sub

Esto traducido significara lo siguiente:
Primero, tenemos una variable llamada "contador". Mediante
el bucle For - next podemos controlar la cantidad de veces que
queremos repetir un determinado proceso o instruccin. Esta
posee un principio y un fin, en este caso el principio sera 0 y el
fin 1000, de manera que la variable contador se
incrementar en 1 hasta que llegue a 1000, y repetir 1000
veces todas las instrucciones que estn bajo la clusula For-
next. En este caso nuestro control Label1 mostrara el
contenido de la variable contador
Para ver en forma detallada y paso a paso esto, pongamos un
ejemplo que lo que hace es repetir 10 veces (desde el 1 hasta el
10 en el intervalo del bucle For) y mostrar un mensaje con el
valor de la variable Contador. Una ves que llegue a 10,
terminar.
Coloc un Command1. Doble Click en el botn para escribir
dentro del procedimiento que se ejecutar cuando lo
presionemos. El cdigo:
Dim contador As Integer

For contador = 1 To 10

MsgBox "La variable Contador vale: " &
contador

Next contador

MsgBox "Fin del bucle For"

Estructura Select case
La estructura Select Case se suele utilizar para evitar el uso de
muchas clusulas If y de esta manera no tener que anidarlas. La
clasula Select evala una condicin y las
clusulas casecontienen valores, si el valor que contiene la
clusula case es igual a la condicin que se evalu, ejecutar
las instrucciones en dicha clusula.
Dim Nombre As String

Nombre = Text1

Select Case Nombre

Case "Jorge"

MsgBox "Se ejecut la clusula case: " &
Nombre
Case "Pedro"

MsgBox "Se ejecut la clusula case: " &
Nombre

Case "Carolina"

MsgBox "Se ejecut la clusula case: " &
Nombre

End Select

Esta estructura es muy prctica. En el ejemplo anterior, la
clusula Select case contiene como condicin el valor de la
variable llamada Nombre. Esa Variable toma el valor que tenga
un control Text1, entonces buscar en todas las clusulas case,
y si encuentra una igual a la condicin, ejecutar solo las
instrucciones de la clusula case que tenga el mismo valor, por
ejemplo si ingresara el nombre "Martn" no se ejecutar ninguna
clusula Case. En cambio si ingreso "Jorge" se ejecutar solo las
instrucciones que estn en la seccin Case "Jorge" y asi...
En el caso anterior solo hemos colocado un valor para cada
Case. Si quisieramos colocar mas valores podramos hacerlo de
esta forma:
Private Sub Form_Load()

Dim x As Integer

x = 10 'Le ponemos un valor a x

Select Case x

Case 5, 10
MsgBox "Se ejecut el case que tiene el 5 y el 10"
'Se ejecuta esta seccin

Case 15, 20
'Esto no se ejecuta
Case 25, 30
'Esto tampoco
End Select

End Sub

es decir que podemos listar los valores en los Case separados
por comas. En el caso anterior se ejecutar el case 5, 10 ya
que la variable x vale 10


6 - Operadores de Visual basic
Los operadores nos permiten operar, validar, comparar, asignar,
distinguir, etc.., los datos e instrucciones de cdigo de nuestros
programas. A continuacin los operadores mas importantes.

Operadores aritmticos
Estos operadores nos permiten trabajar con clculos
matemticos como la suma (+), resta (-), divisin (/) y
multiplicacin (*).
Ejemplos:

a = 5
b = 15
c = a + b ' en este caso la variable c contendra
el valor 20
ganancia = 500
perdida = 200
total = ganancia - perdida 'la variable total
pasara a valer 300
x = 100
y = 20

z = x / y ' La Variable z vale 5

x = 100
y = 20

z = x * y ' La Variable z vale 2000


Operadores lgicos
Se utilizan en expresiones para devolver resultados del tipo True
o False, es decir Verdadero o falso. Los mas comunes son el
operador And y el operador Or
Ejemplos:

If (x = 10) And (nombre = "mara") Then

'solo se ejecutar el cdigo dentro de este bloque
IF si la variable
'x vale 10 y la variable nombre es igual a mara

End If
If (m = 10) Or (nombre = "pedro") Then

'el cdigo se ejecutar si por lo menos una
variable es correcta
'es decir si por lo menos se cumple una condicin

End If

Operadores de comparacin
Los operadores de comparacin se utilizan para comparar
expresiones de cualquier tipo. Los mas importantes son: El
operador de igualdad (=), menor que (<), mayor
que (>), distinto a(<>)
Ejemplos:

If label1.Caption = "06/08/1978" Then

'si el control label1 en su caption contiene esa
fecha
'se ejecutar el cdigo que este aqu

End If
if x > 6 then
'si la variable x es mayor que 6 se ejecutar el
cdigo que este aqu
end if
If pas <> "Estados unidos" Then
'si la variable pas es distinta a "Estados
unidos" se ejecutar el cdigo
End If
While c <= 87

'mientras la variable c sea menor o igual a 87 se
ejecutar
'el bucle While

Wend

Por ltimo quedara por ver el operador de
concatenacin (&) que se utiliza para unir cadenas de
caracteres.
Por ejemplo:
nombre = "Jose"
apellido = "Peralta"

nombrecompleto = nombre & apellido

'La variable nombrecompleto pasara a contener la
unin de las otras dos variables
'es decir Jose Peralta

S-ar putea să vă placă și