domingo, 20 de julio de 2008

Formas o formularios en Visual Basic 6

Los objetos Form son los bloques básicos de construcción de una aplicación escrita en Visual Basic. El usuario interactua con una aplicación primaria a través de objetos Form y los controles contenidos en estos. Las formas tienen sus propias propiedades, eventos y métodos los cuales pueden ser utilizados para controlar la apariencia y comportamiento.

Cuando Visual Basic abre un nuevo Proyecto Standard EXE, la forma por default Form1 es agregada al ambiente de desarrollo y Visual Basic aplica por default las propiedades para esta forma y cualquier nueva forma que se agregue al proyecto.

Objeto Inicial

Toda aplicación debe definir un objeto inicial, es decir el primer objeto que deberá cargarse al iniciar la aplicación puede ser un formulario o procedimiento, para ello seleccione:

Project » Project Properties » General » Startup Object

Es posible que la aplicación de inicio no cargue ningún formulario porque es posible que primero lea un archivo de configuración donde se define el comportamiento inicial de la aplicación y definir el formulario inicial que deberá cargar, para ello se define un módulo (.bas) y un procedimiento llamado Main y deberá definirse este procedimiento como objeto inicial en las propiedades del proyecto.

Loader

El establecer el objeto inicial como un procedimiento Main() puede ser útil también cuando la aplicación tiene un tiempo de carga considerable, el usuario podría desesperarse por no tener respuesta pronta de la aplicación, entonces es posible cargar un formulario sencillo con un mensaje o indicación de que la aplicación está cargandose, terminando de cargar presenta el formulario inicial.

  Sub Main()
Dim i As Integer
FrmSplash.Show
For i = 0 To 5000
FrmSplash.Caption = "Cargando " & i
Next
FormularioInicial.Show
End Sub

Twip

Visual Basic utiliza como unidad de medida el Twip, un Twip es 1/20 de punto de impresora, por ejemplo para determinar el tamaño de la pantalla en tiempo de ejecución utilice las propiedades del objeto Screen:

    MsgBox "Resolución : " & Screen.TwipsPerPixelX & " x " & Screen.TwipsPerPixelY

  • 1.440 twips = 1 pulgada
  • 567 twips = 1 centrimetro

Propiedades de la Forma

Como cualquier otro objeto, es posible establecer las propiedades de la forma en tiempo de diseño (window properties) o en tiempo de ejecución (code).

Propiedades:

  • Caption
  • Name
  • Font
  • Left, Top, Width, Height
  • BackColor, ForeColor
  • Icon
  • MousePointer, constantes vb, por ejemplo vbHourglass
  • WindowState, constantes vb : vbNormal - 0, vbMinimized - 1, vbMaximized - 2

Propiedades Establecidas en Tiempo de Diseño

Varias de las propiedades de una forma, sólo pueden ser establecidas en tiempo de diseño a través de la ventana de propiedades, tratar de cambiar estas propiedades a través de código no tiene efecto.

  • BorderStyle, vbBSNone - 0, vbFixedSingle - 1, vbSizable - 2, vbFixedDialog - 3, vbFixedToolWindow - 4, vbSizableToolWindow - 5
  • MaxButton, MinButton, maximizar y minimizar ventana
  • ControlBox
Leer más...

Sobre los objetos en VB6 (Visual Basic 6)

Para Visual Basic un Objeto es una combinación de código y datos que pueden ser tratados y controlados como una unidad. Command buttons y otros controles en una forma son objetos. Cada forma en un Proyecto Visual Basic es un objeto separado.

Los objetos pueden contener otros objetos, por ejemplo una forma puede contener Command buttons.

Se dice que los objetos están encapsulados porque contienen su propio código y sus propios datos, para facilitar su corrección o adecuación.

Los objetos Visual Basic tienen propiedades, métodos y eventos.

Cada objeto de Visual Basic se define mediante una clase, donde una clase es una plantilla, en la cual se definen las características y comportamiento del objeto.

Cuando se crea un objeto se crea una copia o instancia identica de la Clase del objeto. La instancia de la clase es el objeto al que hará referencia la aplicación.

Una vez creado un objeto es posible cambiar sus propiedades, las propiedades son los datos de un objeto, los procedimientos que operan sobre el objeto se conocen como métodos. Un evento es una acción reconocida por un objeto y es posible escribir código especifico que responda al evento.

Es posible agregar un método a un objeto, por ejemplo un Formulario simplemente agregando un procedimiento declarado como público en el módulo del formulario.

 Public Sub nombreProcedimiento()
instrucciones
End Sub

Para llamar al nuevo método del formulario podria escribir:

 nombreFormulario.nombreProcedimiento

De la misma manera que es posible agregar un método es posible agregar una propiedad declarando una variable pública en el módulo del formulario:

 Public nombreVariable as Integer

Usar Variables de Objetos

Una variable puede hacer una referencia a un objeto:

 Dim nombreVariable as Clase
set nombreVariable = objeto ' asignar un objeto a una variable tipo objeto

Se utiliza la instrucción Set para que una variable de objeto haga referencia a un objeto.

Declarar variable tipo objeto

 Dim nombreVariable as New nombreObjeto 'Variable de tipo objeto

New se utiliza para crear un nuevo objeto definido por su clase. Se recomienda utilizar New con la instrucción Set.

 Dim nombreVariable as nombreObjeto 'Variable genérica

Cada objeto utiliza memoria y recursos del sistema, por lo que es conveniente y recomendable liberar los recursos cuando no necesite usar más el objeto.

  • Emplee Unload para descargar un formulario o control de la memoria
  • Emplee Nothing para liberar recursos utilizados por una variable de objeto

De igual manera se acompaña la asignacion del valor Nothing a una variable de objeto con la instrucción Set.

Nombres de Objetos

Cuando un objeto es creado se le asigna un nombre por default basado en su tipo, por ejemplo Form1, Command2, Text3, etc.

Es recomendable cambiar de inmediato este nombre por defecto por un nombre descriptivo que índique el proposito del control, una de las razones es que el código asociado al objeto se compone del nombre del objeto, si cambia el nombre del objeto después de escribir el código el código pierde su asociación.

Estándares para los Nombres de Objetos

A fin de aplicar mejores criterios de programación se recomienda el uso de convenciones para nombrar a sus variables, objetos, controles, formas, etc. Por ello la siguiente lista proporciona prefijos para los nombres:

ObjetoPrefijo
Check boxchk
Combo boxcbo
Command buttoncmd
Datadat
Directory list boxdir
Drive list boxdrv
File list boxfil
Formfrm
Framefra
Gridgrd
Horizontal scroll barhsb
Imageimg
Labellbl
Linelin
List boxlst
Menumnu
OLEole
Option buttonopt
Picture boxpic
Shapeshp
Text boxtxt
Timertxt
Vertical scroll barvsb

Una vez establecidos los prefijos a emplear la convención es establecer un estándar de programación en el cual los nombres se componen de un prefijo seguido de un nombre descriptivo que al leerlo se entienda su naturaleza o propósito, ejemplo:

txtNombreEmpleado

Control de Objetos

Para controlar un objeto se utilizan sus propiedades, métodos y eventos. Las propiedades son los dato del objeto, configuración y atributos. Los métodos son procedimientos que operan un objeto o que el objeto realiza sobre los datos. Los eventos son activados cuando algún aspecto del objeto ha cambiado.

Propiedades

Las propiedades (Text, Caption, Name) definen la apariencia y comportamiento de objetos.

Es posible establecer el valor de la mayoría de las propiedades en tiempo de diseño a través de la Ventana de propiedades (Window Properties) o en tiempo de ejecución a través del código txtNombreWebSite = "www.informatique.com.mx". Las propiedades que no se pueden establecer en tiempo de diseño se establecen en tiempo de ejecución.

Constantes Visual Basic

Algunas propiedades contienen valores especificos los cuales son definidos a través de Constantes Visual Basic, por ejemplo los valores válidos para la propiedad Value del control CheckBox son constantes Visual Basic o su valor correspondiente, una constante Visual Basic tiene el prefijo vb:

ConstanteValorDescripción
vbUnchecked0Cleared
vbChecked1Selected
vbGrayed2Unavailable

Por lo que la asignación de valores a la propiedad Value de un CheckBox puede ser de dos formas:

  1. Asignar su valor correspondiente:

    chkEncendido.Value = 1

  2. Asignar la constante correspondiente:

    chkEncendido.Value = vbChecked

Método

Un método causa que un objeto realice una acción o tarea, los métodos generalmente son acciones que se desean realizar.

Sintaxis para invocar un método:

Object.Method arg1,arg2,...

Sintaxis para obtener el valor que regresa un método:

nombre_Variable = Object.Method(arg1,arg2,...)

Evento

Un evento es una acción reconocida por una forma o control, los eventos son activados cuando algún aspecto de un objeto cambia.

Leer más...

Opciones de entorno de desarrollo

Es posible configurar el entorno de trabajo entre una Interfaz de Documentos Simple (SDI) o Interfaz de Documentos Múltiple (MDI) permitiendo ajustar el tamaño y posición de varios elementos del Entorno Integrado de Desarrollo (IDE).

Interfaz SDI o MDI

El Entorno Integrado de Desarrollo (IDE) de Visual Basic tiene dos estilos diferentes:

  1. Interfaz de Documentos Simple (SDI), todas las ventanas del IDE se mueven libremente por cualquier parte de la pantalla siempre y cuando Visual Basic sea la aplicación actual permaneciendo encima de las demás aplicaciones.

  2. Interfaz de Documentos Múltiple(MDI), todas las ventanas del IDE estarán contenidas en una ventana única primaria con tamaño ajustable.

    Esta interfaz permite crear una aplicación que tendrá varios formularios dentro de un único formulario contenedor.

    Un Formulario secundario es aquel cuya propiedad MDIChild tiene el valor True.

    Para mostrar un formulario como secundario de otro formulario escriba:

     frmSecundario.Show vbModeless, frmPrincipal

    Para crear un formulario MDI en la opción Proyecto seleccione Agregar formulario MDI. Un proyecto solo puede tener un formulario MDI, si incluye otro proyecto que tenga un formulario MDI la opcion Agregar formulario MDI del menú no estará disponible.

    Despues cree los formularios secundarios y establezca su propiedad MDIChild con el valor True.

Propiedad ActiveForm

La propiedad ActiceForm de un formulario MDI regresa el formulario secundario que tiene el enfoque o el formulario que está activo.

Leer más...

lunes, 7 de julio de 2008

CMMI RUP (Básico)

CMMI

¿Que es CMMI? -> Por sus siglas en ingles "Capability Madurity Model Integration"

Es un modelo para la mejora de procesos, que actualmente esta en su versión 1.2

CMMI cuenta con 2 áreas principales:

  1. Adquisición – En esta fase se lleva acabo el proceso de desarrollo de productos y software.
  2. Desarrollo – Aquí se encuentra la gestión de la calidad de suministro adquisición y contratación externa en los procesos de gobierno y la industria.

Objetivo: Mejorar la usabilidad de los modelos de madurez integrando varios modelos en un mismo marco.

En CMMI las empresas no se certifican, se evalúan de 1 a 5 niveles.

Nivel 1. Inicial - Desarrollo opaco del proyecto, presupuestos disparados, no se entregan proyectos ni en tiempo ni en forma.

Nivel 2. Repetible – El éxito de los resultados se puede repetir, esa gestionado, en cualquier parte del proyecto se puede saber el estado del mismo, cuando terminara, que avance se lleva, etc. Se controla todo el desarrollo.

Nivel 3. Definido – El proyecto esta establecido, documentado, existen métricas (formas de obtener datos objetivos) para obtener objetivos concretos. Casi todas las empresas paran aquí, ya que no ven la necesidad de ir mas aya.

Nivel 4. Cuantitavemente gestionado – Simplemente se usan métricas para alcanzar las necesidades de los clientes.

Nivel 5. Optimizado – Se refiere principalmente a la mejora continua.

Cabe mencionar que quienes hacen los niveles 4 y 5 regularmente los hacen a la vez ya que están muy relacionados.


RUP


Junto con UML es la metodología mas usada para el análisis, documentación implementación de sistemas orientados a objetos.

Esta basado en:

- Adaptar el proceso: A las características del proyecto u organización, según el alcance del proyecto.

- Balancear prioridades: Debido a que los inversionistas pueden entrar en contradicción, de debe encontrar el balance que satisfaga a todos.

- Mostrar valor iterativamente: Los proyectos deben ser entregados en etapas iterativas.

- Elevar el nivel de abstracción: Esto permite que la reutilización de código sea más fácil. Podemos usar UML.

- Enfocarse en la calidad: Esta es la parte mas importante de todas y se debe hacer en todo momento.

Fases de RUP:

- Concepción: Se elabora un plan de fases, de riesgos, y también los primeros casos de uso.

- Elaboración: Se realiza un plan de proyecto, se eliminan los riesgos y se terminan los casos de uso faltantes.

- Construcción: En esta fase se encuentra el desarrollo, donde se debe elaborar un producto de calidad, y también desarrollar los manuales de usuario.

- Transición: Se implementa con el cliente, se entrena a los usuarios para controlar el software, y en esta fase pueden surgir nuevos requisitos.

- Mantenimiento: se completan los nuevos requisitos y se realizan los requerimientos de ajuste.

Leer más...

sábado, 5 de julio de 2008

CCNA 1 mod 1 (sintesis)

Debido al gran auge que tiene esta compañía CISCO a nivel mundial, y ya que tiene su sistema de certificaciones que por cierto es excelente, pero complicado y hasta cierto punto tedioso, aunque no deja de ser interesante y muy practico, me he decido por colocar aquí, la síntesis de los 4 bloques del CCNA. Que por cierto los tome en la universidad, gracias al profesor David Hernández Ponce. A medida que vayamos avanzando en el curso, las cosas se pondrán más interesantes.

No olvidemos que esto es una SINTESIS sin embargo, puede contener CITAS a la pagina de CISCO , que es una marca registrada y tiene todos los derechos de autor, este trabajo es realizado unicamente con el fin de INFORMAR.
Bueno, empecemos con el primer modulo.
CCNA 1 - introducción a networking

1.1 Conexión a la Internet
1.1.1 Requisitos para la conexión a Internet

Internet: Es la red de datos mas importante del mundo, compuesta por muchas redes grandes y pequeñas interconectadas.
Requisitos para conectarse a Internet:
· Conexión física – Se realiza conectando una NIC o un modem de una PC a una red, esta se utiliza para transferir señales entre los dispositivos de la red.
· Conexión lógica – aplica protocolos (Descripción formal de un conjunto de reglas) el mas usado es el conjunto TCP/IP
· Aplicaciones – Interpreta los datos y muestra la información en un formato comprensible, trabajan en conjunto con los protocolos, como los navegadores web. El FTP es usado para descargar archivos y programas de Internet.






Leer más...

ADO DATA VB6

Es posible utilizar el control ADO Data para crear una aplicación que despliege, agregue y actualice datos de una base de datos, también es posible crear applicaciones que utilicen Microsoft SQL Server.

ADO es una estrategia Microsoft de interface de programación a nivel de aplicación para datos e información.

OLE DB tiene 3 componentes:

  1. Data Providers, Un Proveedor de Datos es cualquier proveedor OLE DB que posee datos y los expone en una forma tabular, ejemplos de proveedores de datos son DBMS relacionales, hojas de cálculo, sistemas de archivos y correo electrónico.
  2. Data Consumers, Los Consumidores de Datos son aplicaciones que utilizan datos que exponen los proveedores de datos, es decir, cualquier aplicación que utiliza ADO es un consumidor OLE DB.
  3. Service Components, aunque los proveedores de datos pueden suministrar alguna funcionalidad de base de datos, los servicios de componentes OLE DB realizan la funcionalidad de procesamiento y transporte de datos entre consumidores de datos y proveedores de datos, en este escenario ni la aplicación front-end (cliente) ni la back-end database (servidor) es responsable de proveer su propia funcionalidad de bases de datos, en su lugar los servicios de componentes proveen la funcionalidad que cualquier aplicación puede usar cuando acceden a datos.

Visual Basic puede acceder a todos los tipos de datos. Acceder a datos es el proceso de vista y manipulación de información que se origina en una fuente de datos externa, como Micorsoft Access, SQL Server o Exchange.

Características para Acceder a Datos

Los ActiveX Data Objects (ADO) proveen el acceso a datos e información a través de las siguientes técnicas:

  • ADO Data Control, provee la funcionalidad para acceder a datos con una cantidad de código limitado.
  • ActiveX Data Objects (ADO), proveen una completa interface de programación que proporciona el acceso a todo tipo de datos.
  • Data Form Wizard, es utilizada en conjunto con los controles ADO Data y diseñada para generar automáticamente formas Visual Basic, las cuales contienen controles individuales y procedimientos utilizados para administrar la información derivada de las tablas de bases de datos y consultas. Es posible utilizar Data Form Wizard para crear formas de consulta para administrar los datos de una tabla o consulta o formas de tipo Master/Detail utilizadas para administrar relaciones de datos uno a muchos más complejas.
  • ADO Data Environment Designer, provee un ambiente en tiempo de diseño más interactivo para cread objetos ADO, que pueden usarse como fuentes de datos para objetos data-aware sobre una forma o reporte o acceder programáticamente como métodos y propiedades.
  • Query Designer, es posible crear consultas que modifiquen una base de datos por una actualización, inserción o eliminación de renglones. Es posible crear consultas de propósito especial, por ejemplo que la consulta reciba parámetros en los cuales se proveen los valores de búsqueda cuando la consulta es ejecutada.
  • Third-Party Controls, otros controles que ofrecen opciones de conectividad a bases de datos.

Implementación de un Control de Datos ADO

Cuando se utiliza el ADO Data Control, se conecta a una base de datos y a una fuente especifica de registros dentro de la base de datos. Los registros asociados se vuelven disponibles como un recordset.

El control que se encuentra en ToolBox es un control DAO anterior, para agregar el ADO Data Control al proyecto agregue el componente Microsoft ADO Data Control 6.0(OLEDB).

Propiedad ConnectionString

La propiedad ConnectionString del ADO Data Control contiene la información utilizada para establecer una conexión a una fuente de datos.

Esta propiedad puede ser establecida en tiempo de diseño utilizando la ventana de propiedades o seleccionar el control y dar clic al botón derecho del mouse para seleccionar ADODC Properties

Cuando se establecen los valores del ConnectionString a través de la ventana de propiedades se tienen 3 opciones de conexión:

  1. Use Data Link File, especifica que se utilizará un string de conexión personalizado que conecta a la fuente de datos.
  2. Use ODBC Data Source Name, especifica que un nombre de fuente de datos definido por el sistema (DNS) es utilizado para el string de conexión.
  3. Use Connection String, especifica que se utilizará un string de conexión para acceder a los datos.

Propiedad RecordSourse

La propiedad RecordSourse puede ser una tabla inividual en la base de datos, una consulta almacenada (stored procedure) o un string de consulta que utiliza el Lenguaje de Consultas Estructurado (SQL - Structured Query Language).

Un Objeto Command es una definición especifica de un comando especifico que se intenta ejecutar contra una fuente de datos.

La propiedad RecordSourse puede establacerse en tiempo de diseño o en tiempo de ejecución adcEmpleados.RecordSource = "Empleados", donde se establace el tipo de comando que puede ser:

  • adCmdUnknown, el tipo de comando en la propiedad CommandText no es conocido. Este es el valor por default.
  • adCmdText, evalua el CommandText como una definición textual de un comando o invocación a un stored procedure.
  • adCmdTable, evalua el CommandText como un nombre de tabla donde se regresan todas las columnas por una consulta SQL generada internamente.
  • adCmdStoredProc, evalua el CommandText como un nombre de stored procedure.

Víncular un Control

Una vez que se establecen las propiedades ConnectionString y RecordSource para el ADO Data Control, es posible agregar un vínculo de control para desplegar datos en la forma.

Un bound control es uno que es "data-aware" (DBCombo, DBList, MSFlexGrid, OLE Control, RichTextBox, DBGrid), cuando un ADO Data Control se mueve al siguiente registro por medio de código o cuando el usuario da clic a la flechas de control del ADO Data, todos los controles vínculados son conectados al cambio del ADO Data Control para desplegar datos de los campos en el registro actual. Adicionalmente si el usuario cambia los datos en el bound control, estos cambios son automáticamente enviados a la base de datos y el usuario se mueve a otro registro. Sólo un registro de información puede ser editado y actualizado a la vez, el cual es el registro actual.

Propiedades DataSource y DataField

Es necesario establecer las propiedades DataSource y DataField del bound control.

La propiedad DataSource especifica el ADO Data Control a través del cual el control es vínculado a la base de datos, se establece usualmente en tiempo de diseño a través de la ventana de propiedades, si se desea establace en tiempo de ejecución es necesario utilizar la palabra reservada Set porque la propiedad DataSource es un objeto.

La propiedad DataField indica cuales campos son desplegados en el bound control, se puede establecer esta propiedad en tiempo de diseño o ejecución.

Por ejemplo para establecer las propiedades en tiempo de ejecución:

   adcEmpleados.RecordSource = "SELECT nombreEmpleado FROM Empleados"
Set txtNombre.DataSource = adcEmpleados
txtNombre.DataField = "valor"

Nuevos Controles Data-Aware

Existen nuevos controles ActiveX, diseñados especificamente para ver y editar datos:

  • DataGrid, control que puede trabajar con ADO Data Control
  • DataList, este control funciona exactamente como el control DBList, pero está optimizado para usarlo con datos OLE DB.
  • DataCombo, funciona como el vontrol DBCombo, pero pueder utilizarse con fuentes de datos OLE DB.
  • Hierarchical FlexGrid, presentan datos recordset de una o más tablas en un formato grid.
  • DataRepeater, permite utilizar un control de usuario para desplegar datos y repetir el control para múltiples vistas.
  • MonthView, despliega fechas gráficamene como calendario.
  • DateTimePicker, despliega fechas en cajas de texto, al dar clic al texto causa que se presente un calandario gráfico para seleccionar la nueva fecha.

Propiedades Data Binding

Los controles intrínsecos y muchos controles ActiveX, tienen propiedades de datos especificas asociadas. Las propiedades utilizadas para el Data Binding incluyen:

  • DataSource, regresa o establece el valor de la fuente de datos para un control.
  • DataMember, regresa o establece el valor del dato especificado dentro de la fuente a utilizar. Permite especificar que conjuntos de datos utilizar.
  • DataField, regresa o establace el valor del campo especifico para víncular un control.
  • DataFormat, permite definir el formato automático de datos como serán recuperados desde la fuente de datos.

Recordset

El ADO Data Control tiene una propiedad llamada Recordset la cual es un grupo de registros, en si es un objeto y tiene sus propias propiedades y métodos.

Para recuperar un conjunto de registros, se establece la propiedad RecordSource del ADO Data Control, la cual es un string que puede ser una consulta o nombre de tabla dentro de la base de datos desde la cual se obtienen los registros.

El objeto Recordset tiene las propiedades BOF y EOF que indican si se está al inicio o al final del Recordset, si no se obtuvieron registros el valor de ambas propiedades es True.

Para actualizar el registro actual se utiliza el método Update, por ejemplo:

adcEmpleados.Recordset.Update

Para cancelar cualquier cambio realizado al registro actual o si se agrego un nuevo registro antes de invocar al método Update se emplea el método CancelUpdate:

adcEmpleados.Recordset.CancelUpdate

Para agregar nuevos registros a un Recordset se invoca el método AddNew:

adcEmpleados.Recordset.addNew

El método AddNew inicializa el bound control y el nuevo registro se convierte en el registro actual, si se invoca el método AddNew mientras se edita otro registro ADO automáticamente invoca el método Update para almacenar cualquier cambio y entonces crear un nuevo registro.

Para eliminar el registro actual o grupo de registros en un recordset se utiliza el método Delete, el cual tiene el parámetro AffectRecords que es utilizado para establecer cuantos registros se podrian afectar.

El parámetro AffectRecords puede tener 2 posibles valores:

  1. adAffectCurrent, elimina sólo el registro actual y es la opción por default.
  2. adAffectGroup, esta opción se utiliza para eliminar todos los registrso que satisfagan el filtro actual, por lo que es necesario establacer la propiedad Filter antes de utilizar esta opción.

Recuperar valores de campos de registros eliminados, genera un error, después de eliminar el registro actual permanece hasta que se mueva a un registro diferente, una vez que se mueve a otro registro, el registro eliminado no es accesible.

adcEmpleados.Recordset.delete AffectRecords

Es posible utilizar la propiedad EOF para saber si se elimino el último registro, si es True moverse al último registro del recordset a través del método MoveLast.

Para buscar en un recordset existente un registro que satisfaga el criterio especificado, agregue la característica de búsqueda a la aplicación a través del uso del método Find, si el criterio coincidio con un registro, el recordset se posiciona en ese registro o si no encuentra coincidencias se posiciona al final del recordset (EOF).

El método Find tiene un parámetro requerido el cual es el criterio de búsqueda y 3 parámetros opcionales, SkipRows, SearchDirection y Start.

El parámetro Criteria es un string que contiene la sentencia que especifica el nombre de columna, operador de comparación (>, <, =, like) y el valor para ser usado en la búsqueda, ejemplo:

  1. SkipRows, valor opcional Long, el cual por default tiene el valor 0, es utilizado para especificar si inicia la búsqueda desde el registro actual o desde el bookmark.
  2. searchDirection, valor opcional que especifica cuando la búsqueda debería comenzar sobre el registro actual o el siguiente registro disponible, la búsqueda termina al encontrar el inicio o final del recordset, dependiendo la dirección de búsqueda, la cual puede ser: adSearchForward (0), AdSearchBackward (1).
  3. start, valor opcional Variant bookmark para utilizarlo como la posición de inicio de la búsqueda, puede ser un bookmark o alguno de los siguientes valores: adBookmarkCurrent (0) bookmark actual, adBookmarkFirst (1) primer registro, adBookmarkLast (2) último registro.

adcEmpleados.Find "Nivel = PA"

adcEmpleados.Find "Nivel LIKE 'P%'"

Cuando se realiza una búsqueda de registros utilizando el método Find, se pueden emplear las propiedades EOF y BOF del objeto Recordset para determinar cuando un registro en particular fué encontrado.

Si la búsqueda falla, es decir, no encuentra el registro, se debe regresar al registro donde la búsqueda comenzo:

   If adcEmpleados.EOF Or adcEmpleado.BOF Then
adcEmpleados.bookmark = varBookmark
End If

Se recurre al uso de la propiedad bookmark para dejar una marca y saber en que registro comenzo la búsqueda.

Leer más...

miércoles, 2 de julio de 2008

"Falta NTLDR" o "NTLDR is missing"

A todos nos ha pasado alguna vez el famosisimo error "Falta NTLDR" o "NTLDR is missing" bueno pues este problemiila se resuelve fixeando el mbr y el boot del sitema operativo.

Empecemos con el MBR, ¿que es eso?, bueno, por sus siglas es el “Master Boot record” pero . . . ¿Qué diablos hace? Para empezar se ejecuta al inicio del sistema operativo, y en un modo muy global y abstracto, simplemente busca los SO que tienes instalados en tu disco duro, y si son compatibles con Windows te los muestra en forma de lista para que puedas elegir cual instalar.

Ok, ahora si veamos como repararlo:

1 – Inserta el disco de instalación de Windows XP, y dale que arranque desde ahí.

2 – Cuando llegues a la pantalla de abajo:



Verás 3 opciones: Instalar Windows XP (Enter), Recuperar XP usando la consola de recuperación (R) y Salir de la instalación (F3). Pulsamos R.

3 - Luego de esto entraras a la siguiente sección:



Donde pregunta desde donde quieres comenzar sesión escribe 1. A continuación nos pide una contraseña de administrador (si tienes contraseña es probable que sea esa, jejeje). Pulsamos Enter y ya estamos en la Consola de Recuperación.

4- Es aquí donde debes escribir FIXMBR y ya que estamos aquí también teclea FIXBOOT.

Una vez hecho esto, no deberías tener ningún problema con tu arranque.

Si de plano no funciona prueba a reinstalar windows pero eliminando la partición, o en fdisk estableciendo la particion de tu sistema operativo como la partición activa.
Leer más...