martes, 21 de octubre de 2008

Discos Duros

Los discos duros son, en la actualidad, el principal subsistema de almacenamiento de información en los sistemas informáticos.


El interior de un disco duro se compone de una o varias placas cuya superficie está magnetizada y una serie de cabezas lectoras, una para cada una de las diferentes superficies en que se divide cada placa; por ejemplo, en caso de que el disco duro tenga dos placas puede tener hasta un máximo de cuatro cabezas lectoras.


La superficie útil total de un disco duro se divide en:


• Pistas.

• Sectores.

• Cilindros.


1. Pista.

Se denomina pista a cada una de las circunferencias concéntricas en que se puede dividir la superficie de cada placa del disco.


Las pistas se dividen en pequeños espacios de similar tamaño, las celdas, donde se graba la información.


En los discos, la información se graba en serie, ya que las pistas tienen un bit de ancho. Por el contrario, en las cintas, la información se graba en paralelo puesto que están compuestas de 9 pistas paralelas.


Las pistas se numeran desde el exterior hacia el interior del disco, por lo tanto la pista más externa será la pista 0, mientras que la pista más interna será la pista N-1, siendo N el número de pistas en que se divide la superficie del disco.


2. Sector.

El sector es la mínima cantidad de información que se maneja al realizar un acceso al disco.


Los sectores son divisiones de la superficie de la placa similares a los cortes que se realizan en una tarta cuando se corta para repartirla.


La división del disco se realiza para hacer más rápido el acceso a la información almacenada en su superficie, ya que para la cabeza lectora es mucho más sencillo saber que la información a localizar está en la pista 3 sector 5 que tener que buscar esa información por toda la longitud de la pista 3.


3. Cilindro.

El cilindro está formado por la totalidad de las superficies útiles existentes en las diferentes placas que forman el disco duro. De esta forma, si el disco duro está compuesto por cuatro platos y cada uno tiene cuatro placas útiles, el cilindro estará comprendido entre los valores 0 y 3.


La razón por la que se realiza esta división es que la superficie de una placa del disco es limitada, pero si se instalan varias placas superpuestas dentro de la misma carcasa del disco duro, cada una con su dispositivo de lectura/escritura, se aumenta la capacidad de almacenamiento del disco.


De esta forma, el controlador del disco duro, para acceder a una información, debe poseer la dirección del cilindro para saber qué cabeza lectora ha de actuar, la de la pista en que se encuentra y la del sector al que acceder.


El primer disco duro surge a mediados de los años cincuenta diseñado por IBM. Tenía un tamaño aproximado al de un televisor y sólo podía almacenar 5 megabytes de datos; su tiempo medio de acceso era aproximadamente de medio segundo.


En la actualidad, un disco duro con una capacidad de un gigabyte cabe en la palma de la mano y su tiempo de acceso es de unos 12 milisegundos. Un punto importante es la mejora en el tiempo de acceso a los datos almacenados en el disco. Un elemento fundamental en el aumento de la velocidad de acceso a los datos es la caché automática de disco; éste es un dispositivo que proviene de los grandes sistemas informáticos y que trabaja de la misma forma que la caché de memoria, almacenando la información a la que, en principio, el sistema cree que se va a acceder para mejorar el tiempo de acceso y aumentar la capacidad operativa del subsistema.


El disco duro que se instala en la unidad central del sistema de una microcomputadora se denomina Winchester; este disco comenzó a comercializarse en el año 1973 y fue diseñado y desarrollado también por IBM con ese nombre clave que, posteriormente, ha pasado a significar, por generalización, el tipo de la tecnología de fabricación de esos modelos de disco.


Esta tecnología se caracteriza porque la cabeza de lectura no toca físicamente al disco. Por efecto aerodinámico de rotación del disco, a una velocidad de unos 160 km/h, el aire arrastrado forma una corriente de aire que suspende la cabeza de lectura a una pequeñísima distancia de la superficie del disco; distancia suficientemente pequeña para que los datos se puedan leer y escribir.


La principal ventaja del método Winchester es que ni la superficie del disco ni la cabeza de lectura sufren desgaste por el rozamiento, por ello es mucho mayor el tiempo de vida medio de estos subsistemas de almacenamiento.


La parte externa de la carcasa de un disco duro tiene adosada una placa de circuitería electrónica que sirve para controlar todas las funciones de manejo de cabezales.


La carcasa es de un material rígido, metálico o plástico de gran dureza que sirve para proteger físicamente los discos y cabezales situados en el interior del subsistema.


Internamente los discos duros están construidos a partir de una base de aluminio con forma de disco recubierta de una película de material magnético sobre el que se graban los datos.


Name=g50; HotwordSt

La razón de que se utilice una base metálica es que tiene muy poca deformación con los cambios de temperatura, por lo que permite una mayor densidad de pistas donde se va a grabar la información.


A la cantidad de pistas en la que se almacena la información se le denomina densidad y, evidentemente, se almacenará mayor cantidad de información cuanto más alta sea la densidad de pistas en la superficie del disco.


Existen dos tipos principales de discos duros:


• Fijos.

• Removibles.


1. Discos fijos.

Los discos fijos se fabrican dentro de una carcasa sellada de la que no se pueden extraer.


El montaje de los componentes internos del disco se realiza en la fábrica con unas condiciones muy estrictas de limpieza y aislamiento para evitar la entrada de polvo que pudieran deteriorarlo. Por ello nunca debe abrirse la carcasa de protección de un disco duro excepto por personal técnico en las condiciones adecuadas.


Los discos duros fijos más comunes utilizan tecnología Winchester.


2. Discos removibles.

Los discos removibles están montados en un contenedor, también sellado, que les permite entrar y salir de unos habitáculos especiales. Estos habitáculos están situados en la carcasa de la computadora o bien conectados a ésta por medio de un cable interfaz.



Leer más...

martes, 14 de octubre de 2008

Tutorial: Creando CD de Windows con drivers SATA integrados, utilizando Nlite 1.4

2.- Creando el CD


Para hacer esto nos bajaremos otro programa, se llama, “Nlite” yo baje la versión 1.4.9.1 te recomiendo que uses la misa o una superior. También deverás tener a la mano tu cd con el que pensabas instalar windows.


Una ves que descargues e instales Nlite lo ejecutas. La primera pantalla es la siguiente:


Seleccionamos el idioma y listo.


Ahora le indicaremos al programa donde tenemos el CD de instalación de windows, hacemos clic en buscar y seleccionamos la ubicacion adecuada.


En este punto nos indica que necesita una carpeta donde guardar los archivos, asi que seleccionamos la carpeta que hayamos destinado para eso.



Ahora se copiaran los archivos y al finalizar mostrara información sobre el tipo de windows copiado.


Ahora nos pregunta si queremos utilizar un proyecto que ya teniamos guardado, por ser la primera ves no tenemos nada y hacemos clic en siguiente.



Aqui seleccionamos las tareas a realizar, en nuestro caso "Integrar controladores" y "Crear ISO autoarrancable".



Aca es donde integraremos los drivers, clic en "Insertar", luego en "controlador único".



A continuacion exploraremos el disco para encontrar donde guardamos los controladores, ojo, si requieres de varios controladores aqui es donde se colocaran todos ellos.


En esta pantalla deberemos seleccionar controlador modo texto, ademas del hardware más adecuado y sitema operativo.



Ahora nos pregunta si deceamos que inicie el proceso, clic en si, esperamos a que termine el mismo, para que nos muestre una ventana con los resultados.





Ya se ha creado la integracion de los drivers de modo que llego el momento de preparar la ISO, asi que daremos clic en crear ISO, seleccionaremos donde deceamos guardarla, esperamos a que termine el proceso, para que luego nos muestre los resultados del mismo y finalmente clic en siguiente.




Listo ya tenemos la iso creada con los drivers integrados, la siguiente pantalla solo nos indica que el proceso ha terminado.



Llegado este punto solo resta quemar la ISO a un CD e insalarlo en el ordenador. Puedes usar programas como, Alcohol 120%, Nero, o Roxio para quemar la ISO, eso lo dejo a tu criterio.


<-- Anterior

Leer más...

lunes, 13 de octubre de 2008

Cambiando de Windows Vista a Xp (No se reconoce unidad de disco)


En algunas de las nuevas Lap-Tops que tienen Windows Vista instalado, nos encontramos con el problema de que al intentar cambiar de Vista hacia XP, arroja el error “No se reconoce unidad de disco” y por más que intentamos entrar al Bios para desactivar el sata, esta función, de plano no existe, así que me he dedicado unas horitas para ver que pasa con este problemilla.


Posiblemente también pase (y se pueda solucionar con esta explicación) con las computadoras de escritorio, yo lo probé con una Lap HP Pavillion Dv6000 y funciono a la perfección, el único problema, son los drivers, pero bueno, con algo de suerte y tiempo, podemos encontrarlos todos. Bájate el Everest para que te sea mas fácil identificar todos los dispositivos.


Cabe destacar que esta Notebook tiene un controlador SATA de Intel, para las demás marcas será el mismo proceso, con la diferencia de que usaremos los drivers del fabricante correspondiente.


En resumen lo que necesitamos hacer es crear un CD de instalación de XP con los drivers SATA de nuestro equipo integrados. No te espantes es mas fácil de lo que crees.


1.- Consiguiendo los drivers.


En caso de Intel:


Requerimos los drivers SATA en formato TXT para poder integrarlos al CD. Así que procederemos a bajar el Intel Matrix storage manager de la siguiente pagina web http://www.intel.com/support/chipsets/


Una ves descargado lo ejecutamos y nos mostrara el nombre del controlador, en mi caso Intel(R) ICH8M-E/M SATA AHCI Controller. Si vamos al administrador de dispositivos y desplegamos “Controladoras IDE ATA/ATAPI” ahí lo encontraremos.


Vamos por los controladores, abres la siguiente ubicación C:/Archivos de programa/Intel/Intel Matrix storage manager dentro te encontraras con las carpetas Driver y Driver64, ahí es donde esta el controlador, deberás copiarte los archivos que dicen información sobre la instalación de ambas carpetas (para que no haya fallo) en mi caso, el nombre de esos archivos es iaahci e iastor, (en tu caso pueden cambiar) como en ambas carpetas tiene el mismo nombre, decidí copiarlos en ubicaciones diferentes.


Para las demás marcas se deberá acudir con el fabricante. Recuerda que necesitamos los drivers en formato TXT. No EXE

Siguiente-->

Leer más...

viernes, 26 de septiembre de 2008

Nombres de Dominio y Web Hosting


Empezaremos por definir que es el web hosting

Buscando en Internet me encontré con esta definición: “Actividad comercial que consiste en ofrecer almacenamiento, conectividad y otros servicios necesarios para alojar los archivos de un sitio web”

Algunas otras personas lo definen como “Es el sitio donde se van a guardar los archivos de los que hará uso tu pagina de Internet (“sitio web” o simplemente “web”)”

Nombres de dominio

Para que el web hosting funcione de modo “Bonito” necesita que las personas que quieran entrar a tu página web puedan acceder a ella de una manera que sea fácil de recordar para eso usamos los nombres de dominio. Para que quede mas claro imaginemos que contratamos el servicio de un web hosting, ellos nos darán una dirección del tipo 200.33.123.112 o bien 200.33.123.112/~misitio la cual será usada para acceder a nuestra pagina de Internet.

Entonces pensemos que a uno de nuestros clientes le damos una dirección del tipo 200.33.123.112/~misitio para que entre a nuestra página web. Siendo yo cliente, sinceramente lo olvidaría al primer minuto después. Para eso ocupamos los nombres de dominio, un nombre de dominio convierte esto 200.33.123.112/~misitio en esto www.misitio.com bastante diferente, ¿no?

En resumen

Pero bueno, todo esto es algo raro para las personas que no están muy relacionadas con los servicios de web hosting, así que nos encargaremos de ponerlo en palabras que toda persona que hable español lo comprenda, y hasta de un modo muy burdo si quieres, como dice un amigo mío:

Web hosting: Es como si tuvieras un disco duro virtual en Internet, en otras palabras, es la bodega donde guardaras todas tus cosas.

Nombre de dominio: www.misitio.com Es el nombre que pondrás fuera de tu bodega para que todo mundo la identifique. Este nombre NO se puede repetir con ninguna otra página web.

Leer más...

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®.

MAPICS, Inc.

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

Leer más...

viernes, 19 de septiembre de 2008

ERP - Definición 1/2

¿Qué es un ERP?
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.

Adelante -->

Leer más...

viernes, 12 de septiembre de 2008

Hablemos de Mantenimiento, Tipos

¿Que es el mantenimiento?

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.


El directorio y buscador de Mexico
Leer más...

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 tipo FileSystemObject y crear un objeto.
    1. Set fso = CreateObject("Scripting.Objeto_FileSystemObject")
    2. 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 Objeto FileSystemObject
  • Copiar un archivo utilizando el método Copy del objeto File

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

Drive

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"

Folder

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

Files

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

FileSystemObject

Objeto primordial, el cual permite crear, eliminar y obtener información, además de controlar unidades, directorios y archivos.

 Set fso = CreateObject("Scripting.FileSystemObject")

TextStream

A través de este objeto es posible leer y escribir archivos de texto.

Tipos de Acceso a Archivos

Visual Basic tiene 3 tipos de acceso a archivos:

  1. 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 o Append la instrucción Open primero crea el archivo y después lo abre.

    Una vez que el archivo fué abierto con Input, Output o Append es necesario cerrarlo con la instrucción Close.

  2. Aleatorio, lee y escribe archivos binarios de texto o estructurados como registros de longitud fija.
  3. 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
Leer más...

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).

Ejemplo : Excel

  • 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)

Blogazos.com. Lo Mejor de los Blogs en Español
Leer más...

martes, 2 de septiembre de 2008

Convertir una imagen NRG a ISO en Ubuntu con "NRG2ISO"

Para empezar necesitamos instalar el programa que nos auxiliara en el proceso su nombre “Nrg2Iso” Tienes varias opciones:

  1. Abrir el gestor de paquetes Synaptic (Sistema – Administración – Gestor de Paquetes Synaptic) buscar la aplicación Nrg2Iso e instalarla

  2. En la consola escribe $ sudo aptitude install nrg2iso

  3. 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.


Leer más...

lunes, 1 de septiembre de 2008

Eventos del objeto Connection

Clase

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.

Interfaz

Una interfaz es el conjunto de propiedades y métodos de un objeto.

Public Class

Se declara una clase de tipo publica para poder cambiar los datos pertenecientes a un objeto mediante su interfaz (propiedades y métodos).

Private Class

Se declara una clase de tipo privada para ocultar los datos a el código que no pertenece al objeto.

Crear una Clase

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.

Propiedades

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

Propiedad de solo lectura

Para crear una propiedad de solo lectura, se debe omitir el procedimiento Property Let y para las variables de objeto el procedimiento Property Set.

Propiedades Predeterminadas

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"

Agregar eventos a una clase

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.

Ejemplo de Clase

  • 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:

    1. txtNombre
    2. txtEdad
    3. txtFechaNac
    4. lblNomina
    5. 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].

Polimorfismo

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).

Clase Abstracta

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.

Reutilización de Código

Es posible reutilizar código mediante las formas Binario y Origen.

Binario

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 variables Variant que al igual que las variables declaradas As 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 a Nothing, Visual Basic crea otro objeto.

Origen

La reutilización de código fuente es posible crearlo copiando y modificando el código origen.

Is

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.

Friend

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.

Parent

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
Leer más...

Lectura de archivos de Access

El siguiente código muestra como leer un archivo Access, tenga en cuenta lo siguiente:

  1. Nombre del archivo Access : NWIND.MDB
  2. El archivo NWIND.MDB se encuentra localizado en el mismo directorio de la aplicación
  3. Es necesario crear una Referencia para hacer uso de los objetos Connection y Recordset
    • Seleccionar del menú principal Project » References
    • Seleccionar Microsoft ActiveX Data Objects 2.0 Library
  4. 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
   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
Leer más...