viernes, 26 de septiembre de 2008
Nombres de Dominio y Web Hosting
Publicadas por Jonathan a la/s 21:41 0 comentarios
Etiquetas: Conceptos
sábado, 20 de septiembre de 2008
ERP - Ejemplos 2/2
<-- Atras
mySAP ERP
mySAP ERP combina el software de Planificación de Recursos Empresariales (ERP en inglés) más completo, flexible y escalable de todo el mundo con una plataforma de tecnología abierta que puede aprovechar e integrar diversos sistemas, tanto de SAP como de terceros. Esta aplicación, líder entre los sistemas ERP en México, proporciona funcionalidad de software end-to-end para el manejo de la empresa, además de soporte para la gestión de sistemas, todo ello sobre la base de la plataforma SAP NetWeaver.
mySAP ERP comprende cuatro soluciones independientes que brindan soporte a procesos de negocio clave: mySAP ERP Financials, mySAP ERP Human Capital Management, mySAP ERP Operations y mySAP ERP Corporate Services.
Conozca más sobres las características de estas soluciones ERP:
ERP para PyMEs
La solución mySAP ERP ha sido mejorada con funcionalidades específicas de cada industria y mejores prácticas basadas en tres décadas de experiencia de SAP. El sistema ERP para pequeñas y medianas empresas permite que las organizaciones reduzcan el costo total de propiedad, obtengan retornos sobre la inversión con mayor rapidez y se beneficien con una infraestructura informática más flexible que contribuya a impulsar innovaciones. Además, esta solución ERP ofrece una aplicación completa diseñada para brindar soporte a operaciones internacionales de manera tal que las empresas puedan operar y competir a nivel mundial con eficiencia y alcanzar el éxito.
Asimismo, un conjunto de autoservicios de mySAP ERP se integrará con herramientas de productividad de Microsoft Office a través de un proyecto de desarrollo conjunto entre SAP y Microsoft cuyo nombre en clave es Mendocino. Mendocino está disponible para clientes selectos desde el último trimestre de 2005.
ERP de Informat
El SAI ha servido como herramienta fundamental de control operativo y ha sido la fuente de información administrativa para la toma de decisiones empresariales desde 1994.
El SAI es el sistema para empresas pequeñas y medianas que le ofrece el más alto COSTO-BENEFICIO.
El SAI es un sistema probado en empresas industriales, comercializadoras y de proyectos.
El SAI viene en su versión estándar con el módulo de BANCOS, PUNTO DE VENTA y DIRECCIÓN integrados por el mismo precio, además de contar con módulos opcionales de PRODUCCIÓN, MANTENIMIENTO DE MAQUINARIA Y VEHÍCULOS, y eCOMMERCE.
El SAI incluye además sin costo adicional un nuevo módulo con opciones CRM para el manejo de prospectos y seguimiento de cotizaciones para un adecuado control de los vendedores de su empresa y desus oportunidades de venta.
El SAI se especializa en la administración integral y en la parte operacional de su empresa, por lo que se asegura que adquiere el mejor sistema para estos propósitos, además de enlazarse con los mejores sistemas contables y de nóminas del mercado, como por ejemplo, el Contpaq ® y Nomipaq®.
El SAI es un sistema abierto que permite adecuaciones especiales de su empresa.
El SAI está diseñado para manejarse por medio de CÓDIGO DE BARRAS.
El SAI le permite enviar directamente por mail cualquier formato de impresión y reporte del sistema y además exportarlo a diversos formatos como Excel ® , Word ® , PDF y HTML, manteniendo su diseño original .
El SAI es un sistema muy fácil de usar, por ser un sistema 100% Windows.
El SAI está preparado para usarse en empresas con múltiples localizaciones o sucursales operando en línea vía internet o con cualquier enlace en conjunto con la tecnología de Windows Server®.
Innovación Práctica para Empresas Industriales
Con su Casa Matriz en Alpharetta, Georgia, USA, oficinas alrededor del globo y una red internacional de 75 empresas afiliadas, MAPICS, Inc. desarrolla y da soporte a aplicaciones de empresas extendidas, específicamente diseñadas para compañías industriales de porte medio. Las aplicaciones MAPICS posibilitan que empresas de alta tecnología (High Tech) y de manufactura compleja (Complex Manufacturing) compitan mejor, haciendo más eficientes sus procesos de negocios, maximizando los recursos de su organización y extendiendo su actividad más allá de sus cuatro paredes para ejecutar un trabajo colaborativo con sus socios de la cadena de valor.
Con 20 años de probada experiencia en manufactura y tecnología, MAPICS ha liderado las soluciones y servicios dirigidos a la manufactura hasta generar sus soluciones de planificación de recursos de la empresa (ERP) y más recientemente, el comercio colaborativo basado en el concepto de Innovación Práctica. MAPICS incorpora permanentemente a sus aplicaciones, funcionalidades decisivas para dar respuesta a los requerimientos del crecimiento vertiginoso y de la alta competencia que impone un mercado globalizado. Diseñada para satisfacer las necesidades de las empresas industriales, la arquitectura flexible de MAPICS permite que sus clientes aprovechen sus inversiones en tecnología preexistente y adopten las nuevas tecnologías al ritmo que mejor responda a sus requerimientos.
Dando soporte a miles de clientes en 70 países, MAPICS es una de las soluciones más utilizadas en el mercado mediano de manufactura en el mundo. Entre los clientes de MAPICS se encuentran: Anaren Microwave, Inc., Ashley Furniture Industries, Inc., Bayer Corporation, Dirona SP, Dukane Corp., Goodrich Corporation, Hartzell Propeller, Inc., Honda Motor Co., Ltd., SmithKline Beecham, Volvo Corp., y YORK International Corporation.
<-- Atras
Publicadas por Jonathan a la/s 11:34 0 comentarios
Etiquetas: Conceptos
viernes, 19 de septiembre de 2008
ERP - Definición 1/2
Una aplicación ERP en la actualidad no solo debe apoyar la planeación de la producción, sino debe apoyar todas y cada una de las áreas estratégicas de la empresa, atender el ambiente organizacional, los procesos de control y los métodos de evaluación, siempre con el objetivo de hacerlos más efectivos y eficientes.
Una empresa cuenta con diferentes recursos: humanos, tecnológicos, materiales, financieros e información. A medida que las empresas crecen, el proceso de control de dichos recursos se hace complicado. Ante esta circunstancia, la tecnología de la información ofrece como solución la implementación de los ERP (Enterprise Resource Planning o Planeación de Recursos de la Empresa). Un ERP es un sistema de información integral que incorpora los procesos operativos y de negocio. El propósito fundamental de un ERP es otorgar apoyo a los clientes del negocio, tiempos rápidos de respuesta a sus problemas así como un eficiente manejo de información que permita la toma oportuna de decisiones y disminución de los costos totales de operación.
Hay tres características que distinguen a un ERP y eso es que son sistemas integrales, modulares y adaptables:
Integrales, porque permiten controlar los diferentes procesos de la compañía entendiendo que todos los departamentos de una empresa se relacionan entre sí, es decir, que el resultado de un proceso es punto de inicio del siguiente. Por ejemplo, en una compañía, el que un cliente haga un pedido representa que se cree una orden de venta que desencadena el proceso de producción, de control de inventarios, de planeación de distribución del producto, cobranza, y por supuesto sus respectivos movimientos contables. Si la empresa no usa un ERP, necesitará tener varios programas que controlen todos los procesos mencionados, con la desventaja de que al no estar integrados, la información se duplica, crece el margen de contaminación en la información (sobre todo por errores de captura) y se crea un escenario favorable para malversaciones. Con un ERP, el operador simplemente captura el pedido y el sistema se encarga de todo lo demás, por lo que la información no se manipula y se encuentra protegida.
Modulares. Los ERP entienden que una empresa es un conjunto de departamentos que se encuentran interrelacionados por la información que comparten y que se genera a partir de sus procesos. Una ventaja de los ERP, tanto económica como técnicamente es que la funcionalidad se encuentra dividida en módulos, los cuales pueden instalarse de acuerdo con los requerimientos del cliente. Ejemplo: Ventas, Materiales, Finanzas, Control de Almacén, etc.
Adaptables. Los ERP están creados para adaptarse a la idiosincrasia de cada empresa. Esto se logra por medio de la configuración o parametrización de los procesos de acuerdo con las salidas que se necesiten de cada uno. Por ejemplo, para controlar inventarios, es posible que una empresa necesite manejar la partición de lotes pero otra empresa no.
Los fabricantes de ERP deben enfrentar dos desafíos: adaptar técnicamente su producto para poder ejecutarse en cualquier plataforma existente en el mercado y garantizar que el ERP se adecuará funcionalmente a los procesos del negocio, cualquiera que sea el giro de la empresa. Esto último se logra ya sea mediante la configuración de los módulos estándar (ventas, inventarios, tesorería), la implementación de add-ons o módulos especializados (medios masivos, transporte, servicios públicos, aeronáutica) o bien, por medio de desarrollos en el lenguaje propietario del ERP.
Publicadas por Jonathan a la/s 13:03 0 comentarios
Etiquetas: Conceptos
viernes, 12 de septiembre de 2008
Hablemos de Mantenimiento, Tipos
Son acciones para mejorar aspectos operativos relevantes de un establecimiento, producto, etc. tales como funcionalidad, seguridad, productividad, comfort, imagen corporativa, salubridad e higiene.
Mantenimiento de interrupción- La gente lo espera hasta que el equipo falla.
Mantenimiento preventivo - Se realiza a diario (Limpieza, inspección, engrasado, etc.) Se divide en periódico y profético.
Mantenimiento periódico "Basado en tiempo TBM" - El equipo debe ser constantemente revisado para evitar problemas repentinos.
Mantenimiento profético - Se predice la vida del servicio o pieza para ser reemplazados una vez que llegaron a su limite.
Mantenimiento correctivo - Mejora del equipo y sus componentes a modo que se nos permita realizar mantenimiento preventivo confiablemente.
Mantenimiento al ordenador.
Las computadoras son equipos muy delicados, de modo que constantemente se les tiene que estar dando mantenimiento a sus partes físicas para evitar deterioros, futuros, existe una gran variedad de métodos para hacer mantenimiento al computador, en esta ocacion trataremos, el aire comprimido y las espumas limpiadoras.
Aire comprimido.
Podemos utilizar botellas como la que aparece en la imagen.
o bien podemos usar compresoras eléctricas.
En cualquier caso lo único que tenemos que hacer es desarmar el computador (mientras mas desarmado mejor, solo recuerda donde va cada pieza) e impulsar el polvo que este dentro de el para hacerlo salir de nuestro CPU, recuerda que por ningún motivo se debe soplar con la boca el interior, ya que las partículas de saliva podrían ocasionar un corto circuito, lo cual dañaría el equipo.
Para dar mantenimiento por la parte externa al ordenador, no es recomendable usar trapos húmedos, por lo mismo de las partículas de agua, lo recomendable es usar espumas limpiadoras, como la de la imagen
El modo de uso es simple, solo basta con depositar un poco de la espuma sobre una tela seca, y con ello limpiar el ordenador, así de simple.
Publicadas por Jonathan a la/s 17:18 0 comentarios
Etiquetas: Conceptos, Reparaciones
lunes, 8 de septiembre de 2008
File System Object, FSO
A través del File System Object o Modelo de Objetos del Sistema de Archivos es posible manipular (crear, modificar, mover y eliminar) directorios y archivos, así como también obtener información de las mismos. Lo más importante es el poder manipular datos en estas estructuras.
Este modelo de objetos se encuentra contenido en una biblioteca de tipos llamada Scripting
(Scrrun.dll), la cual permite la manipulación de archivos de texto mediante el objeto TextStream
aunque para manipular archivos binarios se utiliza el comando Open
con el indicador Binary
.
Este Modelo de objetos tiene los siguientes objetos:
- Drive
- Folder
- Files
- FileSystemObject
- TextStream
Para utilizar este Modelo es necesario:
- Utilizar el método
CreateObject
o dimensionar una variable como objeto tipoFileSystemObject
y crear un objeto.Set fso = CreateObject("Scripting.Objeto_FileSystemObject")
Dim fso As New FileSystemObject
- Utilizar el método adecuado en el objeto creado.
- Es necesario tener acceso a las propiedades del objeto.
Nota: Este Modelo de objetos es redundante, es decir, los siguientes escenarios tienen el mismo objetivo:
- Copiar un archivo utilizando el método
CopyFile
del ObjetoFileSystemObject
- Copiar un archivo utilizando el método
Copy
del objetoFile
Las siguientes constantes son utiles para los argumentos la manipular objetos FSO:
Const ForReading = 1
Const ForWriting = 2
Const ForAppending = 3
Const TristateUseDefault = -2
Const TristateTrue = -1
A través de este objeto es posible obtener información de las unidades lógicas, el espacio que tienen libre, o si son unidades compartidas.
Set fsoTmp = fso.GetDrive(fso.GetDriveName(unidad.Drive))
MsgBox fsoTmp.VolumeName
MsgBox "Espacio total : " & FormatNumber(fsoTmp.TotalSize / 1024, 0) & "kb"
MsgBox "Espacio libre : " & FormatNumber(fsoTmp.FreeSpace / 1024, 0) & "kb"
A través de este objeto es posible crear, eliminar o mover directorios, también es posible obtener la ruta y nombres de estos.
Crear directorio:
Private Sub cmdMakeDir_Click()
fso.CreateFolder ("c:\" & txtDir)
End Sub
¿Existe el directorio o se creo?
Set fsoTmp = fso.GetFolder("c:\" & txtDir)
If fso.FolderExists(fsoTmp) Then
MsgBox "Existe"
Else
MsgBox "No existe"
End If
A través de este objeto es posible crear, eliminar o mover archivos, también es posible obtener la ruta y nombres de estos.
Abrir un archivo:
Set fsoTmp = fso.CreateTextFile("c:\" & txtDir & "\" & txtFile, True)
Set fsoTmp = fso.OpenTextFile("c:\" & txtDir & "\" & txtFile, 2)
Set fsoTmp = fso.GetFile("c:\" & txtDir & "\" & txtFile)
Set fsoX = fsoTmp.OpenAsTextStream(2, -2)
Escribir datos en un archivo:
Set fsoTmp = fso.GetFile("c:\" & txtDir & "\" & txtFile)
Set fsoX = fsoTmp.OpenAsTextStream(2, -2)
fsoX.Write (txtData) 'Escribe una línea
fsoX.WriteLine (txtData2) 'Escribe una linea con un caracter de nueva línea
fsoX.WriteBlankLines (5) 'Escribe 5 caracteres de nueva línea
fsoX.Close
Leer datos de un archivo:
Set fsoTmp = fso.GetFile("c:\sol\test.txt")
Set fsoX = fso.GetFile("c:\sol\test.txt").OpenAsTextStream(ForReading)
txtFileData = fsoX.ReadLine
fsoX.Close
Objeto primordial, el cual permite crear, eliminar y obtener información, además de controlar unidades, directorios y archivos.
Set fso = CreateObject("Scripting.FileSystemObject")
A través de este objeto es posible leer y escribir archivos de texto.
Visual Basic tiene 3 tipos de acceso a archivos:
- Secuencial, lee y escribe archivos de texto en bloques continuos.
Es posible abrir un archivo para acceso secuencial para realizar las siguientes tareas:
- Leer caracteres desde un archivo (
Input
) - Escribir caracteres a un archivo (
Output
) - Agregar caracteres a un archivo (
Append
)
Si utiliza
Input
el archivo debe existir o de lo contrario se produce un error.Si utiliza
Output
oAppend
la instrucción Open primero crea el archivo y después lo abre.Una vez que el archivo fué abierto con
Input
,Output
oAppend
es necesario cerrarlo con la instrucción Close. - Leer caracteres desde un archivo (
- Aleatorio, lee y escribe archivos binarios de texto o estructurados como registros de longitud fija.
- Binario, lee y escribe archivos estructurados de forma arbitraria.
El código que se presenta a continuación, espera que el usuario capture el contenido para el archivo MsFileName
, y al dar clic en el botón [Write] almacena en el archivo MsFileName
el contenido del txtWrite
.
Al dar clic en el botón [Read Line], muestra la primer línea que contiene el archivo MsFileName
en txtRead
.
Al dar clic en el botón [Read By Line], lee el contenido del archivo MsFileName
línea por línea y lo muestra en txtLine
, además se indica el número de línea que se va leyendo.
Option Explicit
Dim MsPathName As String
Dim MsFileName As String
Dim MsAux As String
Private Sub Form_Load()
MsPathName = "C:\"
MsFileName = "FileName.txt"
sBar.SimpleText = "Type the content of the file"
End Sub
Private Sub cmdWrite_Click()
Open MsPathName & MsFileName For Output As #1
Write #1, txtWrite
Close #1
sBar.SimpleText = "The content was added"
End Sub
Private Sub cmdRead_Click()
Open MsPathName & MsFileName For Input As #1
Input #1, MsAux
Close #1
txtRead = MsAux
sBar.SimpleText = "Now you can see the content of the file"
End Sub
Private Sub cmdReadLine_Click()
Dim LsNextLine As String
Dim LnCount As Integer
LnCount = 1
Open MsPathName & MsFileName For Input As #1
Do Until EOF(1)
Line Input #1, LsNextLine
txtLine = txtLine & LnCount & " : " & LsNextLine & vbNewLine
LnCount = LnCount + 1
Loop
Close #1
End Sub
Publicadas por Jonathan a la/s 13:56 0 comentarios
Etiquetas: Visual Basic 6
El componente ActiveX
Los Componentes ActiveX son fragmentos de código reutilizable y datos conformado por uno o más objetos creados mediante la tecnología ActiveX.
Los componentes ActiveX interactúan con la aplicación y entre sí mediante una relación Cliente-Servidor, donde el cliente es el código de aplicación o componente que utiliza las características de un componente y el servidor es el componente y los objetos que tiene asociados.
Un componente ActiveX implementado como parte de un archivo ejecutable (.exe) es un servidor fuera de proceso
y se ejecuta en su propio proceso.
Un componente ActiveX implementado como biblioteca de vínculos dinámicos (.dll) es un servidor en proceso
y se ejecuta en el mismo proceso que la aplicación cliente.
Las aplicaciones que no cruzan los límites del proceso para acceder a sus propiedades, métodos y eventos de un objeto son más rápidas (servidores en proceso).
- Project » References
- Seleccionar Microsoft Excel <versión> Object library
- Agregue el siguiente código:
Private Sub Form_Load()
Dim cAxExcelApp As Excel.Application
Dim cAxExcelBook As Excel.Workbook
Dim cAxExcelSheet As Excel.Worksheet
Set cAxExcelApp = New Excel.Application
Set cAxExcelBook = cAxExcelApp.Workbooks.Add
Set cAxExcelSheet = cAxExcelBook.Worksheets.Add
cAxExcelSheet.Cells(1, 1).Value = "www.informatique.com.mx"
cAxExcelSheet.Cells(2, 1).Value = "Visual Basic 6"
cAxExcelSheet.Cells(3, 1).Value = "Componentes ActiveX"
cAxExcelSheet.SaveAs "c:\ejExcel.xls"
cAxExcelBook.Close
cAxExcelApp.Quit
Set cAxExcelApp = Nothing
Set cAxExcelBook = Nothing
Set cAxExcelSheet = Nothing
End Sub
Al emplear una variable de la clase genérica Object
, ActiveX usa enlaces en tiempode ejecución, lo que puede acelerar las referecnias a objetos.
Asignar una referencia de objeto mediante CreateObject
Set variableObjeto = CreateObject(nombreClaseCalificadoObjeto)
Asignar una referencia de objeto mediante GetObject
Set variableObjeto = GetObject(nombreRuta,nombreClaseCalificadoObjeto)
Publicadas por Jonathan a la/s 13:50 0 comentarios
Etiquetas: Visual Basic 6
martes, 2 de septiembre de 2008
Convertir una imagen NRG a ISO en Ubuntu con "NRG2ISO"
Abrir el gestor de paquetes Synaptic (Sistema – Administración – Gestor de Paquetes Synaptic) buscar la aplicación Nrg2Iso e instalarla
En la consola escribe
$ sudo aptitude install nrg2iso
Haciendo clic en Instalar Nrg2Iso
Este programa no lo encontraras en el menu de “Aplicaciones” asi que mejor no perdamos el tiempo en buscarlo, el modo para hacer trabajar el paquete es desde la consola, de modo que la abrimos (Aplicaciones – Accesorios – Terminal) una ves dentro la sintaxis para utilizar el programa es la siguiente:
$ nrg2iso imagen.nrg imagen.iso
Recomiendo que te desplaces hasta la carpeta donde esta el archivo de imagen para que te sea mas fácil la escritura del nombre del archivo, otra recomendación es que no uses espacios en los nombres de carpeta ni en el nombre de la imagen, solo para evitar cualquier problema que se pueda presentar.
Si todo sale bien depues de escribir $ nrg2iso imagen.nrg imagen.iso
Comenzará a correr el porcentaje de avance de la transformación, al llegar al 100% tendrás la imagen lista.
Publicadas por Jonathan a la/s 14:00 0 comentarios
lunes, 1 de septiembre de 2008
Eventos del objeto Connection
Un Objeto Visual Basic se crea a partir de una Clase, por lo tanto un objeto es una instancia de una clase. Para utilizar un objeto se debe mantener una referencia a este mediante una variable de objeto.
La Clase define las interfaces de un objeto y si este es público.
Las descripciones de las Clases se almacenan en bibliotecas de tipos y es posible verlas con el explorador de proyectos [Ctrl] + [R] o File/View/Project Explorer.
Una interfaz es el conjunto de propiedades y métodos de un objeto.
Se declara una clase de tipo publica para poder cambiar los datos pertenecientes a un objeto mediante su interfaz (propiedades y métodos).
Se declara una clase de tipo privada para ocultar los datos a el código que no pertenece al objeto.
Para crear una Clase en VB6 es necesario agregar un Módulo de Clase de la misma forma que agrega un formulario.
Los datos de cada instancia de un módulo de clase sólo existen durante la duración del objeto, es decir, se crean cuando se crea el objeto y se destruyen cuando se destruye el objeto.
Agregar propiedades y métodos a una clase
Las propiedades representan datos de un objeto y los métodos representan acciones que un objeto puede realizar definiendo su comportamiento, juntos representan la interfaz de la clase.
Agregar propiedades a una Clase significa agregar variables públicas al módulo de clase
Public nombreVariable1 as tipo
Public nombreVariable2 as tipo
Public nombreVariable3 as tipo
Si las variables se declaran como Private
significa que sólo podrán ser accesibles desde el código del módulo de la clase.
Private nombreVariable4 as tipo
Private nombreVariable5 as tipo
Private nombreVariable6 as tipo
Cuando escriba el nombre del objeto y después el símbolo punto (.) se desplegaran únicamente las propiedades públicas del objeto, las privadas no se presentan.
Para acceder al valor de una propiedad se utiliza un procedimiento llamado Property Get
, para establecer el valor de una propiedad se utiliza el procedimiento Property Let
para el caso de propiedades de tipo objeto se utiliza Property Set
.
Public Property Let nombrePropiedad(ByVal nuevoValor as tipo)
nombrePropiedad
End Property
Para crear una propiedad de solo lectura, se debe omitir el procedimiento Property Let
y para las variables de objeto el procedimiento Property Set
.
Una Propiedad Predeterminada es aquella propiedad del objeto que no necesita escribirse explícitamente para asignarle un valor tan sólo basta el nombre del objeto para asignarle valor, por ejemplo los controles Label
y Text
tienen propiedades predeterminadas por lo que es posible escribir:
Label1 = "etiqueta"
Text1 = "Texto"
Lo anterior también es posible haciendo referencia explícita de la propiedad a la cual deseamos asignarle valor:
Label1.Caption = "etiqueta"
Text1.Text = "Texto"
Los eventos se declaran mediante la palabra reservada Event
, un evento puede tener argumentos ByVal
y ByRef
.
Las propiedades y métodos pertenecen a las interfaces entrantes y los eventos a las interfaces salientes.
- Agregue un módulo de clase, llamado
Persona
y agregue el siguiente código:Option Explicit
Public sNombre As String
Public nEdad As Integer
Public dFechaNac As Date
Private nSalario As Long
Private nNomina As Long
Property Let asignarNomina(nNumero)
nNomina = nNumero
End Property
Property Get obtenerNomina() As Long
obtenerNomina = nNomina
End Property
Property Let asignarSalario(nCantidad)
nSalario = nCantidad
End Property
Property Get obtenerSalario() As Long
obtenerSalario = nSalario
End Property - Agregue los siguientes controles a un formulario:
- txtNombre
- txtEdad
- txtFechaNac
- lblNomina
- lblSalario
- En el evento Load del formulario agregue el siguiente código:
Option Explicit
Dim cEmpleado As Persona
Private Sub Form_Load()
Set cEmpleado = New Persona
cEmpleado.sNombre = "Gerardo Ángeles Nava"
cEmpleado.nEdad = 33
cEmpleado.dFechaNac = #9/21/1971#
cEmpleado.asignarNomina = 90276094
cEmpleado.asignarSalario = 54321
txtNombre = cEmpleado.sNombre
txtEdad = cEmpleado.nEdad
txtFechaNac = cEmpleado.dFechaNac
lblNomina = cEmpleado.obtenerNomina
lblSalario = cEmpleado.obtenerSalario
End Sub - Ejecute la aplicación [F5].
Los objetos Visual Basic pueden implementar interfaces adicionales para proporcionar polimorfismo, es decir, permite manipular diferentes tipos de objetos sin preocuparse del Tipo. Las interfaces múltiples permiten que los programas evolucionen con el tiempo, agregando nueva funcionalidad sin afectar el código existente.
El Polimorfismo significa que muchas clases pueden proporcionar la misma propiedad o el mismo método y quien invoca no tiene porque saber la clase a la que pertenece el objeto antes de llamar a la propiedad o método, por ejemplo suponga que existe la Clase Vehículo
y las clases Automovil
y Motocicleta
, tanto Automovil
como Motocicleta
tienen en común el método Mover
, estos objetos posiblemente son del tipo Vehículo
.
En un Lenguaje Orientado a Objetos el Polimorfismo es posible a través de la Herencia, pero en el caso de Visual Basic que no es un Lenguaje Orientado a Objetos no utiliza la Herencia para proporcionar Polimorfismo, sino que lo proporciona mediante múltiples interfaces ActiveX. Una Interfaz es un conjunto de propiedades y métodos relacionados.
Al construir el método Mover
puede ser que reciba como parámetro un objeto Mover(ByVal Distancia as Object)
por lo que Visual Basic compila una parte de código adicional para preguntar si el objeto incorpora el método invocado o pueder ser que el método pertenece a la interfaz Vehículo
y todas sus clases de Vehículo
implementan esta interfaz para enlazarlos en tiempo de diseño Mover(ByVal Distancia as Vehículo)
.
Una clase Abstracta
es aquella que no tiene código de implementación, el propósito de que no tenga código es proporcionar una plantilla de interfaz que pueda agregar a otras clases, de esta manera se construye después el código requerido para cumplir un objetivo.
Visual Basic no puede crear realmente una clase Abstracta, ya que una clase Abstracta es una clase a partir de la cual no puede crear objetos, pero en Visual Basic es posible crear objetos de clases que no contengan código, por lo tanto deberá tener cuidado al tratar de simular este concepto.
Para que sea posible implementar una interfaz, por ejemplo Vehículo
en la clase Automovil
se debe emplear la palabra reservada Implements
:
Implements Vehículo 'Esto se escribe en la clase Automovil
Lo anterior significa que se compromete a implementar los métodos y propiedades de la interfaz Vehículo
, por lo que será necesario anteceder al nombre del método o propiedad el nombre de la interfaz seguido de un guión bajo (_) y del nombre del método o propiedad.
Private Sub Vehiculo_Mover(ByVal Distancia As Double)
rem código
End Sub
Si no implementa los métodos y propiedades entonces Visual Basic marcara un error indicando que es necesario hacer la implementación de métodos y propiedades.
Es necesario declarar los métodos y propiedades de tipo Private
porque si se declararán como Public
formarian parte de la interfaz Automovil
o Motociclea
y tendrian el mismo enlace original.
Ejemplo : Método que devuelve Valor
La clase abstracta Vehiculo
contiene el código:
Option Explicit
Public Function Mover(ByVal Distancia As Double) As Double
Rem Carece de Código
End Function
La clase Automovil
implementa la clase Vehiculo
:
Option Explicit
Implements Vehiculo
Private Function Vehiculo_Mover(ByVal Distancia As Double) As Double
Vehiculo_Mover = Distancia
End Function
La clase Motocicleta
implementa la clase Vehiculo
:
Option Explicit
Implements Vehiculo
Private Function Vehiculo_Mover(ByVal Distancia As Double) As Double
Vehiculo_Mover = 12.34
End Function
El código del formulario contiene:
Option Explicit
Dim MotoCross As Motocicleta
Dim Porsche As Automovil
Dim V As Vehiculo
Private Sub Form_Load()
Set MotoCross = New Motocicleta
Set V = MotoCross
MsgBox "La Motocicleta se movio : " & V.Mover(5)
Set Porsche = New Automovil
Set V = Porsche
MsgBox "El automovil se movio : " & V.Mover(10)
End Sub
Ejemplo : Implementar Propiedades
Agregue una propiedad a la clase Abstracta Vehiculo
:
Public nVelocidad As Double
Visual Basic implementa las propiedades como parejas de procedimientos de propiedad:
Get
Let
o Set
Por lo anterior es necesario implementar ambos procedimientos en las clases que implementan la clase Vehiculo
:
Implements Vehiculo
Private nVelMoto As Double
Private Property Get Vehiculo_nVelocidad() As Double
Vehiculo_nVelocidad = nVelMoto
End Property
Private Property Let Vehiculo_nVelocidad(ByVal nArgVelocidad As Double)
nVelMoto = nArgVelocidad
End Property
¿Que devuelve el siguiente código?
Dim Byke As Motocicleta
Dim Veh As Vehiculo
Set Byke = New Motocicleta
Set Veh = Byke
MsgBox TypeName(Veh)
Salida: Motocicleta
Devuelve Motocicleta porque al asignar Byke
a Veh
Visual Basic internamente evalua si Motocicleta acepta la interfaz Vehiculo
si no acepta la interfaz se genera un error, si acepta la interfaz el objeto se asigna a la variable y a través de esta solo se accede a los métodos y propiedades de la interfaz Vehiculo
.
Procure no hacer uso para estos casos de un objeto genérico Object
pues la variable declarada de este tipo solo accede a la última interfaz asignada.
Es posible reutilizar código mediante las formas Binario
y Origen
.
La reutilización de código Binario
es posible mediante la creación y uso de un objeto, por ejemplo los controles. COM es otro mecanismo para la reutilización de código binario, llamado agregación, la cual utiliza una interfaz completa sin modificaciones y quien proporciona la implementación es una instancia de la clase agregada, Visual Basic no acepta esta forma de reutilización de código. Los componentes ActiveX son otro mecanismo más en la reutilización de código y en la programación orientada a objetos.
Un objeto se destruye cuando se libera la última referencia al mismo, para ello Visual Basic efectua el seguimiento de referencias a objetos para saber cuando se libera la última referencia a un objeto, lo cual no es muy fiable, lo más fiable es la información que proporciona COM cuando el recuento de referencias es o no cero, esto sucede cuando se produce un error en el evento Terminate
del objeto.
Por lo anterior se recomienda:
- Declarar variables de objeto como tipos de clases en vez de
As Object
- No utilizar el objeto
Collection
por si solo, ya que las referecnias se almacenan en variablesVariant
que al igual que las variables declaradasAs Object
pueden contener referecnias a objetos de cualquier clase. - Cree sus propias clases de colección que acepten objetos de una única clase.
- Organice los objetos de forma jerárquica, para realizar su recorrido.
- No declare variables
As New
, si utiliza una variable así después de haberla establecido aNothing
, Visual Basic crea otro objeto.
La reutilización de código fuente es posible crearlo copiando y modificando el código origen.
El operador Is
se utiliza para comparar si dos variables hacen referencia al mismo objeto, ejemplo:
Dim vLbl As Variant
Set vLbl = Label1
MsgBox vLbl Is Label1
Lo anterior regresa el valor True
.
Además de declarar propiedades o métodos de tipo Public
o Private
, es posible declararlos como Friend
, de esta manera actuan como miembros Public
, es decir, parecen parte de la interfaz de una Clase pero no lo son.
Al no ser parte de la interfaz de un objeto las propiedades o métodos Friend
los programas que utilizan los objetos del componente no pueden tener acceso a estos, pero son visibles para todos los demás objetos del componente, por lo que permiten una comunicación interna segura.
La propiedad Parent
devuelve una referencia al contenedor del objeto. Cada propiedad Parent de un objeto hijo mantiene una referencia al objeto padre, por lo que no se podrá destruir ninguno de los objetos.
Para poder eliminar las referencias es posible establecer un método de limpieza del objeto padre, el cual establezca todas las propiedades de objeto a Nothing
así como también los objetos Collection
.
Cuando se destruye un objeto Collection
Visual Basic establece todas las referencias de objeto que contenia a Nothing
.
Tenga cuidado con los objetos que se compongan de otros objetos porque de nuevo no se podrán destruir los objetos, lo cual llevaria a tener más métodos de limpieza al nivel de los hijos.
Directorio de Blogs de México
Publicadas por Jonathan a la/s 14:55 1 comentarios
Etiquetas: Visual Basic 6
Lectura de archivos de Access
El siguiente código muestra como leer un archivo Access, tenga en cuenta lo siguiente:
- Nombre del archivo Access : NWIND.MDB
- El archivo
NWIND.MDB
se encuentra localizado en el mismo directorio de la aplicación - Es necesario crear una Referencia para hacer uso de los objetos
Connection
yRecordset
- Seleccionar del menú principal Project » References
- Seleccionar Microsoft ActiveX Data Objects 2.0 Library
- Los controles a utilizar son:
- TextBox
txtProductId
- TextBox
txtProductName
- TextBox
txtUnitPrice
- CommandButton
cmdConectar
- CommandButton
cmdConsulta
- CommandButton
cmdFirst
- CommandButton
cmdAnterior
- CommandButton
cmdSiguiente
- CommandButton
cmdLast
- StatusBar
sbMsg
- TextBox
Option Explicit
Dim conexion As Connection
Dim rsConexion As Recordset
Private Sub cmdConectar_Click()
On Error GoTo miManejadorErr
Set conexion = New Connection
conexion.Provider = "Microsoft.Jet.OLEDB.4.0"
conexion.ConnectionString = "Data Source = NWIND.MDB"
conexion.CursorLocation = adUseClient
conexion.Open
sbMsg.SimpleText = "Conectado a la fuente de datos"
miManejadorErr:
If Err.Number > 0 Then
Dim strErr
strErr = strErr & "Description : " & Err.Description & Chr(13)
strErr = strErr & "HelpContext : " & Err.HelpContext & Chr(13)
strErr = strErr & "Number : " & Err.Number & Chr(13)
strErr = strErr & "Source : " & Err.Source & Chr(13)
sbMsg.SimpleText = strErr
Resume Next
End If
End Sub
Private Sub cmdConsulta_Click()
On Error GoTo miManejadorErr
Dim comProd As Command
Set comProd = New Command
comProd.ActiveConnection = conexion
comProd.CommandText = "Select * from Products"
Set rsConexion = comProd.Execute
txtProductId.Text = rsConexion!productid
txtProductName.Text = rsConexion!ProductName
txtUnitPrice.Text = rsConexion!UnitPrice
sbMsg.SimpleText = "Consultando..."
miManejadorErr:
If Err.Number > 0 Then
Dim strErr
strErr = strErr & "Description : " & Err.Description & Chr(13)
strErr = strErr & "HelpContext : " & Err.HelpContext & Chr(13)
strErr = strErr & "Number : " & Err.Number & Chr(13)
strErr = strErr & "Source : " & Err.Source & Chr(13)
MsgBox strErr
Resume Next
End If
End Sub
Private Sub cmdDesconectar_Click()
On Error GoTo miManejadorErr
conexion.Close
Set conexion = Nothing
sbMsg.SimpleText = "Desconectado de la fuente de datos"
miManejadorErr:
If Err.Number > 0 Then
Dim strErr
strErr = strErr & "Description : " & Err.Description & Chr(13)
strErr = strErr & "HelpContext : " & Err.HelpContext & Chr(13)
strErr = strErr & "Number : " & Err.Number & Chr(13)
strErr = strErr & "Source : " & Err.Source & Chr(13)
MsgBox strErr
Resume Next
End If
End Sub
Private Sub cmdAnterior_Click()
If rsConexion.AbsolutePosition = 1 Then
sbMsg.SimpleText = "No hay registros anteriores"
Else
rsConexion.MovePrevious
txtProductId.Text = rsConexion!productid
txtProductName.Text = rsConexion!ProductName
txtUnitPrice.Text = rsConexion!UnitPrice
sbMsg.SimpleText = "Registro número : " & rsConexion.AbsolutePosition
End If
End Sub
Private Sub cmdFirst_Click()
rsConexion.MoveFirst
txtProductId.Text = rsConexion!productid
txtProductName.Text = rsConexion!ProductName
txtUnitPrice.Text = rsConexion!UnitPrice
End Sub
Private Sub cmdLast_Click()
rsConexion.MoveLast
txtProductId.Text = rsConexion!productid
txtProductName.Text = rsConexion!ProductName
txtUnitPrice.Text = rsConexion!UnitPrice
End Sub
Private Sub cmdSiguiente_Click()
If rsConexion.AbsolutePosition = rsConexion.RecordCount Then
sbMsg.SimpleText = "No hay más registros"
Else
rsConexion.MoveNext
txtProductId.Text = rsConexion!productid
txtProductName.Text = rsConexion!ProductName
txtUnitPrice.Text = rsConexion!UnitPrice
End If
End Sub
Directorio Web
Mitote.com.mx :: Directorio web
Publicadas por Jonathan a la/s 14:53 0 comentarios
Etiquetas: Visual Basic 6
Controles ActiveX
Crear una interface de usuario para un control ActiveX es similar a crear una forma estándar Visual Basic, se colocan los controles necesarios y se provee el código que define su comportamiento.
Los Controles son objetos reutilizables que incluyen elementos visuales y código, con Visual Basic es posible crear formas y cajas de diálogo. Los Controles deben ser colocados en algún tipo de contenedor como una forma o una aplicación.
Un control creado en Visual Basic es conocido como Control Class, el cual actua como una plantilla para el control. El Control Class es compilado dentro de un archivo .ocx
, para utilizar el control en una aplicación, se coloca el control en la forma, la cual crea una instancia en tiempo de diseño del control, cuando el usuario ejecuta la aplicación que contiene el control, el usuario obtiene una instancia en tiempo de ejecución del control.
El código fuente y los valores de las propiedades para un control class son almacenados en un archivo de texto con extensión .ctl
. Un archivo .ctl
es equivalente a un archivo Visual Basic .frm
que es utilizado para almacenar los elementos gráficos en las formas.
Un Visual Basic ActiveX control project puede contener uno o más archivos .ctl
cada uno de los cuales define un control class separado, cuando se compila un control project es creado un archivo .ocx
que contiene todos los controles del proyecto.
Un control ActiveX incluye un objeto UserControl
y constituent controls
Pasos para crear un ActiveX Control
- Crear un ActiveX Control project
- Crear la interfaz de usuario para el control
- Crear las propiedades y métodos para el control
- Crear los procedimientos de eventos que constituyen el control
- Exponer eventos del control
- Crear páginas de propiedades para el control
- Probar y buscar errores en el control
El objeto UserControl
es el fundamento para contruir controles. Cada ActiveX control que es creado con Visual Basic contiene un objeto UserControl
El objeto UserControl
contiene modulos de código y visual designers, cuando se abre un UserControl
en modo diseño el objeto es desplegado en una ventana visual designer, es posible utilizar el visual designer para colocar constituent controls en el objeto UserControl
tal y como se haria en una forma Visual Basic.
Un Constituent Controls es una isntancia de un control que se coloca en un objeto UserControl
, cuando se coloca un ActiveX en una forma, una instancia del objeto UserControl
es creada, junto con las instancias de cualquier Constituent Controls colocado en el objeto UserControl
.
Un control ActiveX es un cliente que se ejecuta en una forma o en algún otro tipo de contenedor, por lo tanto sus eventos se comportan un tanto diferentes que los eventos de control de un proyecto .exe
estándar.
Al crear un control el objeto UserControl
actua como un anteproyecto para colocar el control en una forma o en otro contenedor, se utiliza este anteproyecto para crear una instancia del control, cuando el control es creado una serie de eventos de control ocurren.
El evento AmbientChanged
ocurre cuando una propiedad de ambiente cambia. Para habilitar al control para responder a cualquier cambio a las propiedades de ambiente del contenedor en tiempo de diseño, se coloca el código en el evento AmbientChanged
, este evento tiene un argumento PropertyName
que identifica cual de las propiedades cambio.
El objeto Ambient
permite leer los valores de las propiedades de ambiente.
La propiedad Enabled
es otra propiedad de ambiente a considerar al diseñar el control. Para el soporte correcto de esta propiedad es necesario escribir los procedimientos Get
y Let
para la propiedad Enabled
que delegan la disponibilidad del control para el objeto UserControl
.
Características de los Controles
Visual Basic provee varias propiedades y un evento que son posibles utilizar para administrar la apariencia del control, por ejemplo es posible establecer el valor de la propiedad BackStyle
del objeto UserControl para hacer transparente un control, sólo debe tenerse en cuenta que esto puede afectar el desempeño del control, también por ejemplo la mayoria de los controles tienen una interfaz de usuario visible aunque es posible crear un control que sea invisible en tiempo de ejecución para ello se establece la propiedad InvisibleAtRuntime
del objeto UserControl.
Para evitar desajustes en tamaño de los controles estos deben responder al evento Resize
para que trabaje en conjunto con la aplicación contenedora, también será necesario proveer un manejador de errores para el evento.
Los controles ActiveX pueden tener una propiedad llamada About
que puede ser utilizada de manera informativa, como el nombre de la empresa que creo el control, derechos de autor, fecha de creación, etc.
Para mostrar un bitmap personalizado en el Visual Basic Control Toolbox, se utiliza la propiedad ToolboxBitmap
del objeto UserControl, el bitmap debe tener un tamaño de 16 por 15 pixeles, si utiliza otro tamaño será escalado a este tamaño.
Visual Basic incluye un Wizard para crear un control y permite especificar que propiedades, métodos y eventos que podrían constituir la definición de la interfaz del control, para utilizarlo seleccione del menú principal:
Add-Ins » Add-In Manager » VB 6 ActiveX Ctrl Interface Wizard » Loaded/Unloaded
Crear un Control ActiveX
- Crear un nuevo proyecto, seleccionar ActiveX control
- Cambiar el nombre del ActiveX a un nombre descriptivo con el prefijo
ctl
- Colocar controles y escribir el código necesario
- Debbuging test, seleccionando la opción Use existing browser
- Agregar un proyecto Standard EXE
- Seleccionar del menú principal Window » NombreProyecto - NombreActiveX(UserControl)
Se agrega un icono del control en el contenedor General
- Seleccione el control ActiveX creado de General y coloquelo en la forma
- Seleccione el proyecto Standard EXE de la ventana Proyect Explorer, dar clic al botón derecho del mouse y seleccionar la opción Set as Start Up
Publicadas por Jonathan a la/s 14:50 0 comentarios
Etiquetas: Visual Basic 6
Class module o Módulo de clase
Un Módulo de Clase es un tipo de código-módulo Visual Basic, su extensión es .cls
y es similar a un módulo standard en cuanto a que contiene funcionalidad que puede ser utilizada por otros módulos dentro de la aplicación. La diferencia principal es que un módulo de clase provee la funcionalidad en la forma de un objeto, cada módulo de clase define un tipo de objeto, por lo que puede existir más de un módulo de clase en una aplicación.
Para utilizar un módulo de clase en la aplicación, es necesario crear una instancia de la clase, para acceder a las propiedades, métodos y eventos del objeto definido en la clase.
Dim miCasa As Casa 'declaracion de la variable tipo Casa
Set miCasa = New Casa 'instancia
Es posible crear un módulo de clase y agregar métodos, propiedades y eventos manualmente:
Dim empleado As Persona
Set empleado = New Persona
empleado.edad = 33
empleado.estado = True
empleado.nombre = "Gerardo"
También es posible utilizar el Class Builder Add-In para automatizar el proceso de agregar métodos, propiedades y eventos a una clase.
Si se definen las variables como Private
sólo son visibles para el módulo de clase en sí.
Es posible crear propiedades por default para un objeto, estas propiedades son las que se establecen si el usuario no provee el valor de la propiedad cuando trabaja con el objeto.
Para crear un método, se crea un procedimiento o función dentro del módulo de clase:
Public Function nombre_Funcion(parámetros) As tipoDato
'instrucciones
nombre_Funcion = valorRegreso
End Function
Para crear un evento se siguen dos pasos:
- Declarar el evento en la sección de declaraciones generales (General Declarations) de un módulo de clase.
Public Event nombre_Evento(parametros)
- Levantar el evento, es decir, cuando se desea que el evento ocurra se utiliza la sentencia
RaiseEvent
y pasar el nombre del evento y cualquier argumento que el evento utilice.Public Sub nombreMetodo()
RaiseEvent nombre_Evento(argumentos)
End Sub
Es posible disparar mensajes de error al crear módulos de clase, para ello se utiliza el método Raise
del objeto Err
:
ERR.Raise Numero, fuente, descripción, archivoAyuda, contextoAyuda
Una vez que se termina de trabajar con la clase es conveniente liberar los recursos que la clase utilizo a través del empleo de la sentencia Nothing
:
Set nombreIntanciaClase = Nothing
Seleccione del menú principal:
- Add-Ins » Add-In Manager
- VB 6 Class Builder Utility
- Load Behavior » Loaded/Unloaded
Una vez cargado Class Builder, seleccione de nuevo del menú principal:
- Add-Ins » Class Builder
La accion anterior abre la ventana Class Builder donde es posible definir las propiedades, métodos y eventos de la clase.
Los módulos de clase tienen dos eventos built-in:
Initialize
, ocurre cuando una instancia de una clase es creada pero antes de la inicialización de cualquier propiedad. Utilice este evento para inicializar culquier dato utilizado por la clase.Terminate
, ocurre cuando la variable objeto está fuera del ámbito o se establece con el valor Nothing. Utilice este evento para almacenar información, descargar formas o realizar tareas que deban ocurrir cuando la clase termina.
Para indicar que una propiedad es la propiedad por default estando activa la ventana de Clase se puede hacer a través del Class Builder o seleccionar del menú principal:
- Tools » Procedure Attributes » Advanced
- Seleccionar la propiedad a establecer como propiedad por default
- Seleccionar de la lista Procedure ID el valor (Default)
Por ejemplo es posible crear un módulo de clase el cual es un objeto de fuente de datos:
- Seleccionar del menú principal Project » Add Class Module
- Cambiar el nombre del módulo de clase por un nombre descriptivo
- Cambiar la propiedad
DataSourceBehavior
al valor1 - vbDataSource
- Seleccionar del menú principal Project » References
- Seleccionar Microsoft ActiveX Data Objects 2.0 Library
- En la sección General Declarations del módulo de clase definir:
- Una variable tipo
Connection
- Una variable tipo
Recordset
Option Explicit
Private cnProducts As Connection
Private rsProducts As Recordset
- Una variable tipo
- Escribir el siguiente código para el evento
Initialize
:Private Sub Class_Initialize()
Set cnProducts = New Connection
Set rsProducts = New Recordset
cnProducts.Provider = "Microsoft.Jet.OLEDB.4.0"
cnProducts.Open "Data Source=NWIND.MDB"
rsProducts.Open "SELECT * FROM Products", cnProducts, adOpenStatic
End Sub
- Escribir el siguiente código para el evento
GetDataMemeber
:Private Sub Class_GetDataMember(DataMember As String, Data As Object)
Set Data = rsProducts
End Sub
- Método para moverse al registro siguiente:
Sub registroSiguiente()
rsProducts.MoveNext
End Sub
- Método para moverse al registro anterior:
Sub registroAnterior()
rsProducts.MovePrevious
End Sub
- Agregar a la forma un TextBox y un CommandButton (
txtProduct
,cmdObtenerDatos
) - Seleccionar del menún principal Project » References
- Seleccionar Microsoft ActiveX Data Binding Collection
- En la sección General Declarations de la forma definir:
- Una variable del tipo de la clase creada
CProducts
- Una variable tipo
BindingCollection
Option Explicit
Dim clProducts As CProducts
Dim bcProducts As BindingCollection
- Una variable del tipo de la clase creada
- Agregar el siguiente código para el botón
cmdObtenerDatos
:Private Sub cmdObtenerDatos_Click()
Set clProducts = New CProducts
Set bcProducts = New BindingCollection
Set bcProducts.DataSource = clProducts
bcProducts.Add txtProduct, "Text", "ProductName"
bcProducts.Add frmProducts, "Caption", "ProductID"
End Sub
- Agregar a la forma dos CommandButton (
cmdRegistroSiguiente
,cmdRegistroanterior
):- Para el código del boton
cmdRegistroAnterior
escribir:Private Sub cmdRegistroAnterior_Click()
clProducts.RegistroAnterior
End Sub
- Para el código del boton
cmdRegistroSiguiente
escribir:Private Sub cmdRegistroSiguiente_Click()
clProducts.RegistroSiguiente
End Sub
- Para el código del boton
--- Agregar la funcionalidad de la clase (métodos) ---
Publicadas por Jonathan a la/s 14:47 0 comentarios
Etiquetas: Visual Basic 6
Data environment y data report designer
Otra manera de trabajar con ADO es a través del Data Environment, el cual nos pertmite configurar la conexión a la fuente de datos para ello debe seleccionar del menú principal:
Project » Add Data Environment
Lo anterior abre una ventana donde aparece un DataEnvironment1
con un Connection1
. Si le da un clic a Connection1 es posible cambiarle el nombre, si selecciona Connection1 y da clic al botón derecho del mouse aparece un popUp menú donde puede seleccionar Properties, esta acción abre una ventana de configuración del vínculo de datos, dividida por 4 secciones:
- Proveedor, donde debe seleccionar un OLE DB provider, al dar clic en siguiente continua en la sección 2
- Conexión, donde debe proporcionar los datos de conexión a la fuente de datos. Se recomienda dar clic al botón [Probar Conexión] en caso de no existir errores mostrara el mensaje "La Prueba de conexión fue satisfactoria". (Implementación de un Control de Datos ADO).
- Avanzadas, donde se configura la red.
- Todas, muestra las propiedades del vínculo de datos establecidas.
El Data Environment se agrega como un objeto en la jerarquía de proyectos en el directorio Designers de la ventana de exploración de proyecto, para utilizarlo de doble clic sobre el Data Environment y se mostrara su ventana.
Una vez agregado un Data Environment es posible ver la estructura de una base de datos (tablas, campos, vistas) a través del Data View Window, para ello se debe seleccionar del menú principal:
View » Data View Window y expandir los niveles de información deseados.
Microsoft Data Report designer es un generador versatil de reportes de datos, se utiliza en conjunto con una fuente de datos (Data Environment) y es posible crear reportes de distintas tablas, así como imprimir y exportar el reporte a una variedad de formatos.
Para utilizar un Data Report seleccione del menú principal:
- Project » Add Data Report
(Si no se presenta la opción Add Data Report abra la ventana de componentes y de clic en Designers y seleccione Add Data Report).
- Agrege desde Data View Window los campos al reporte.
- Establezca el valor de la propiedad DataSource con el nombre del objeto
Data Environment
a utilizar. - Establezca el valor de la propiedad DataMember con el nombre del objeto
Command
a utilizar.
Es posible dar clic al botón derecho del mouse y seleccionar por ejemplo Insert Control » Current page number para insertar en el reporte el número de página correspondiente.
Para presentar el reporte utilice la propiedad Show
del objeto Data Report
creado:
nombre_DataReport.Show
Publicadas por Jonathan a la/s 14:44 0 comentarios
Etiquetas: Visual Basic 6
ADO Programaticamente
Si se trabaja con ADO programaticamente se utilizan principalmente 3 objetos ADO:
Connection
, se utiliza para crear una conexión a la fuente de datos.Command
, se utiliza para regresar datos de una conexión. Los objetosCommand
pueden también manipular datos en una fuente de datos o invocar un stored procedure.A través de este objeto se definen los datos que se necesitan obtener de una conexión.
Para agregar un command abra el objeto Data Environment, seleccione la conexión, de clic al botón derecho del mouse y seleccione Add Command, después seleccione el objeto agregado command, de clic al botón derecho del mouse y seleccione Properties donde deberá establacer la configuración correspondiente, por ejemplo seleccionar si es un strored procedure o una sentencia SQL para lo cual es de gran ayuda dar clic al botón [SQL Builder...] el cual ayuda a la construcción de la sentencia SQL.
Acceder al resultado de un command
Es posible seleccionar los objetos del Data Wiew Window por ejemplo seleccionar el objeto command y arrastrarlo a la forma con lo cual Visual Basic agrega los campos necesarios a la forma.
Recordset
, es utilizado para almacenar el resultado de una consulta a la fuente de datos.Para acceder a los registros obtenidos por un objeto command se utiliza el objeto
Recordset
:nombre_ObjetoDataEnvironment.rsNombreObjetoCommand
Note que el
recordset
es una propiedad del objetocommand
creado, y su nombre se compone del prefijo rs seguido del nombre del objeto command, a su vez unrecordset
tiene propiedades, eventos y métodos.
venta piso
Publicadas por Jonathan a la/s 14:37 0 comentarios
Etiquetas: Visual Basic 6