martes, 6 de mayo de 2014

Error de Transferencia de fecha de VB a access



Agregar y personalizar formatos de fecha y hora

En este artículo se explican las diversas formas en que se pueden especificar valores de fecha y hora en una base de datos de Microsoft Office Access 2007. En la información contextual se explica cómo Access almacena los valores de fecha y hora, así como cuándo y por qué debe usarse un método de entrada de datos determinado. En los pasos de los procedimientos se explican las técnicas más comunes de entrada de valores de fecha y hora, cómo crear y usar máscaras de entrada, y cómo aplicar diferentes formatos de presentación a los valores de fecha y hora.

Cuando se usa una base de datos de Access, los valores de fecha y hora pueden aparecer en diversos formatos, como un formato europeo (28.11.2006 ó 28-11-2006), un formato surasiático (28/11/2006) o el formato de EE.UU. (11/28/2006).

Independientemente de cómo Access aplique formato a los valores de fecha y hora e independientemente de cómo se realice la entrada de los valores de fecha y hora, Access almacena estos valores como números de punto flotante de precisión doble: se trata de un sistema que también se denomina fechas de serie. En esta ilustración se representa un valor de fecha y hora de serie típico.



La parte correspondiente al entero del valor, situada a la izquierda del separador decimal, representa la fecha.

El número en la ilustración representa las 9 p.m. del 24 de diciembre de 2003. El componente de fecha es el número de días enteros que han transcurrido desde la fecha inicial o "base" del 30/12/1899. En este ejemplo, han transcurrido 37.979 días desde el 30/12/1899 hasta el 24/12/2003. El componente de hora es una fracción de un día de 24 horas. Por lo tanto, un valor de 0,875 multiplicado por 24 horas es igual a 21 horas o 9:00 p.m.

Los valores negativos en el componente de fecha representan fechas anteriores a la fecha base. Por ejemplo, el valor -1 como componente de fecha equivale a un día anterior a la fecha base, es decir, 29/12/1899.

El intervalo de valores de fecha válidos va de -657.434 (1 de enero de 100 D.C.) a 2.958.465 (31 de diciembre de 9999 D.C.). El intervalo de valores de hora válidos es de .0 a .9999, es decir, 23:59:59.

Al almacenar los valores de fecha y hora como números, se pueden realizar numerosos cálculos con las fechas y horas. Por ejemplo, se puede calcular el número total de horas trabajadas (ficha de presencia) o la antigüedad de una factura. Para obtener más información sobre el cálculo de valores de fecha, vea los artículos: Date (función) y Crear una expresión.


El tipo de datos Date siempre contiene información de fecha y hora. Para la conversión de tipos, Visual Basic considera 1/1/1 (1 de enero del año 1) un valor neutral de fecha y 00:00:00 (medianoche) un valor neutral de hora. Si a un valor Date se le asigna el formato de cadena de fecha u hora, FormatDateTime no incluye valores neutrales en la cadena resultante. Por ejemplo, si se convierte #1/1/0001 9:30:00# en una cadena, el resultado sería "9:30:00 AM", ya que la información de fecha se omite. No obstante, la información de fecha sigue estando presente en el valor Date original y se puede recuperar mediante funciones como DatePart.


En este ejemplo se muestra el uso de la función FormatDateTime.
VB
Dim TestDate As DateTime = #3/12/1999#

' FormatDateTime returns "Viernes, Marzo 12, 1999".
'Dim TestString As String = FormatDateTime(TestDate, DateFormat.LongDate)

viernes, 4 de abril de 2014

ADO.NET C#

AD 5: C# NET INTRODUCION A LAS BASES DE DATOS
TEMA 6: ADO NET ACTIVEX DATA OBJECT C# NET
EL NUEVO MODELO DE DATOS DE MICROSOFT ES ADO NET, ESTE MODELO DESCANSA EN UNA SERIE DE OBJETOS ESPECIALIZADOS QUE FACILITAN EL PROCESAMIENTO DE UNA BASE DE DATOS.

fuente microsoft.net
Como ven esta bastante claro y no ocupa explicación, :-)
Empezando:
El problema es comunicar un programa o aplicación aspx con una base de datos y mas que comunicar se pretende que el programa o aplicación realize una serie de procesos u operaciones con la base de datos o mejor aun con el conjunto de tablas que contiene una base de datos.
La primera nota a recordar es que una base de datos puede estar físicamente en el servidor y en algun folder o directorio del disco duro de dicha maquina servidora, por ejemplo, c:\progfacil\misitio\mibase.mbd, como se observa la base que se construyo en access (mibase.mbd) se almaceno en el disco c en el folder progfacil y dentro del subfolder misitio.
Sin embargo también es necesario conocer que asi como existen servidores de paginas(web server), servidores de correo (mail server), servidores de ftp (ftp server), etc, tambien existen servidores de bases de datos (database server), los mas comunes son el sqlserver de microsoft, oracle, mysql, etc, estos servidores tambien pueden crear, administrar y procesar una base de datos, por supuesto que el procedimiento que se dio para crearla en access en el tema anterior no se puede usar para crear y cargar una base de datos en un servidor de bases de datos.(esperar libros de bases de datos en programacionfacil en un proximo futuro).
El modo de comunicarse entre nuestro programa o aplicación aspx y la base de datos (ya sea fisica o un dbserver), implica que ambos manejen un lenguaje de programación comun, es decir no se puede mandar una instrucción en csharp, o en basic o pascal a la base de datos y ademas esperar que esta ultima la entienda ( para entender esto, una razón muy sencilla es que la base de datos tendría que conocer o comprender todos los lenguajes de programación), para resolver este problema de comunicación es que se usa un lenguaje comun de bases de datos que tanto los lenguajes de programación existentes como las bases de datos entienden, este lenguaje común de bases de datos es el SQL (structured query languaje) o lenguaje estructurado de consultas.
En otras palabras, ustedes mis estimados lectores tendran que aprender este nuevo lenguaje de programación el SQL, la buena noticia es que es un lenguaje con muy pocas instrucciones y ademas existen muy buenos tutoriales en internet que hay que buscar y estudiar.
PROPAGANDA, ya ven que en este curso estan aprendiendo el lenguaje de programación CSHARP, el lenguaje de programación HTML y ahora el lenguaje de programación SQL, !wow! tres lenguajes por el precio de uno.
Bueno las principales instrucciones de SQL, que se usan en este curso son SELECT, INSERT, UPDATE y DELETE.
La pregunta es ahora como mandamos las instrucciones sql a la base de datos, la respuesta son los OBJETOS ADO.NET que estamos analizando en orden y proposito de uso, los estaremos explicando.
OBJETO CONNECTION:- OBJETO QUE SE UTILIZA PARA ESTABLECER UNA CONECCION O ENLACE A LA BASE DE DATOS.
Este objeto primero se tendra que crear en el programa y luego se tendra que cargar con dos parametros(ver ejemplo mas abajo), el primer parametro es el proveedor o la fuente que proporcionara los datos, los provedores o fuentes de datos que existen son:
SQLSERVER NET DATA PROVIDER.- QUE SE ESPECIALIZA EN COMUNICARSE Y PROCESAR BASES DE DATOS CONSTRUIDAS CON MICROSOF SQL SERVER V7.0
OLEDB.NET DATA PROVIDER.- QUE SE ESPECIALIZA EN COMUNICARSE Y PROCESAR BASES DE DATOS QUE A LA FECHA DEL PRESENTE LIBRO UTILIZEN ALGUNOS DE LOS SIGUIENTES DRIVERS, SQLOLEDB ( VERSIONES ANTERIORES DE SQL SERVER DE MICROSOFT), MSDAORA (ORACLE), MICROSOFT.JET ( ACCESS Y ALGUNOS OTROS DBMS DE MICROSOFT)
ODBC.NET .- BASES DE DATOS QUE USAN ODBC COMO MEDIO DE COMUNICACION CON OTRAS BASES DE DATOS Y APLICACIONES COMO NOTA A CONSIDERAR ODBC.NET NO ESTA INCLUIDA POR DEFAULT EN MICROSOFT.NET, SE TIENE QUE BAJAR DE MICROSOFT.
El segundo parámetro es la propia base de datos con la cual se comunicara el programa o aplicación.
Ejemplo del objeto CONNECTION


Static OleDbConnection coneccion;
coneccion = new OleDbConnection(“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\progfacil\\tusitio\\mibase.mdb”);


Es una sola string y los dos parametros mencionados van separados por el punto y coma.
ATENCION es DATA SOURCE= no usar DATASOURCE= estan adevertidos.
ejemplos de los otros poveedores o fuentes mencionados:

//Provider=MSDAORA; Data Source=ORACLE8i7; User ID=OLEDB; Password=OLEDB

//Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\bin\LocalAccess40.mdb;

//Provider=SQLOLEDB;Data Source=MySQLServer;Integrated Security=SSPI;
OBJETO COMMAND.-
Ya establecido el canal o enlace entre el programa aspx y la base de datos via el objeto CONECCION, se debe mandar la instruccion SQL a la propia base de datos, sin embargo en un programa de csharp por supuesto que no puede contener instrucciones de otros lenguajes de programación como el de SQL, es por esto que se deberan usar algunos de los otros objetos de ADO.NET para que estos objetos transporten la instruccion sql hacia la base de datos (y transporte de regreso al servidor los datos de alguna tabla), uno de estos objetos es el objeto COMMAND.
Este objeto puede contener directamente una instrucción SQL y enviarla al objeto conección ya descrito.
Este objeto command primero se tendra que crear y luego cargarle dos parametros que son:
la instruccíon sql y el objeto conneccion que ya se vio en el parrafo anterior. ejemplo


OleDbCommand orden;
orden= new OleDbCommand(“select * from mitabla”, coneccion);


Si esta muy grande o muy compleja la instruccion sql, es mas conveniente crearla en una variable string y poner la variable como parametro ejemplo:


OleDbCommand orden;
String q=“select * from mitabla”;
orden= new OleDbCommand(q, coneccion);


Sin embargo ciertas instrucciones de sql ( ya estudiaron su tutorial del sql??), requieren que se manden los datos a la base de datos, respetando el tipo de dato con los cuales los creo el software de bases de datos, por ejemplo si edad en access se declaro como NUMBER, la instruccion sql que prentenda cargar dicho campo, tiene la obligación de mandarla con este tipo de dato asociado, instrucciones SQL que permiten cargar o capturar ese campo edad son INSERT o UPDATE ( ya estudiarón su tutorial de SQL??).
Para resolver este problema, usaremos en la string q, unas variables especiales llamadas VARIABLES PARAMETROS que se simbolizan usando el simbolo @ antes de la variable y ademas al objeto COMMAND le agregamos dos instrucciones extras que permiten agregar a la string q el dato y el tipo de dato, ejemplo, se tienen seis renglones ya capturados en nuestra tabla y se quiere agregar un séptimo renglón con los siguientes datos, clave=7, nombre=“rana” peso=3.14 usaremos una instrucción SQL INSERT ej:


OleDbCommand orden;
String clave=7;string nombre=“rana”; string peso=3.14;
string q=“insert into mitabla(clave,nombre,peso) values(@CLAVE, @NOMBRE, @PESO)”;
orden= new OleDbCommand(q, coneccion);
orden.Parameters.Add(new OleDbParameter(”@CLAVE”, OleDbType.Integer));
orden.Parameters[”@CLAVE”].Value = clave;
orden.Parameters.Add(new OleDbParameter(”@NOMBRE”, OleDbType.VarWChar, 40));
orden.Parameters[”@NOMBRE”].Value = nombre;
orden.Parameters.Add(new OleDbParameter(”@PESO”, OleDbType.Double));
orden.Parameters[”@PESO”].Value = edad;


Observar que para cada variable parámetro, se tienen que cargar dos elementos, el valor y el tipo de dato correspondiente.
Aunque en valor se manda string's en oledbtype se hace un mapeo, relación o conversión al tipo de dato que se uso en access, tener mucho cuidado que exista una relación igual o cuando este pograma se ejecute el servidor les va a mandar un error o excepción de sql que les intenta decir que el tipo de dato que mandaron a la base de datos, no es igual al que se uso para crearlo en la base de datos.
Los OLEDBTYPE mas comunes son:


BigInt A 64-bit signed integer (DBTYPE_I8). This maps to Int64.
Binary A stream of binary data (DBTYPE_BYTES). This maps to an Array of type Byte.
Boolean A Boolean value (DBTYPE_BOOL). This maps to Boolean.
BSTR A null-terminated character string of Unicode characters (DBTYPE_BSTR). This maps to String.
Char A character string (DBTYPE_STR). This maps to String.
Currency A currency value ranging from -263 (or -922,337,203,685,477.5808) to 2 63 -1 (or +922,337,203,685,477.5807) with an accuracy to a ten-thousandth of a currency unit (DBTYPE_CY). This maps to Decimal.
Date Date data, stored as a double (DBTYPE_DATE). The whole portion is the number of days since December 30, 1899, while the fractional portion is a fraction of a day. This maps to DateTime.
DBDate Date data in the format yyyymmdd (DBTYPE_DBDATE). This maps to DateTime.
DBTime Time data in the format hhmmss (DBTYPE_DBTIME). This maps to TimeSpan.
DBTimeStamp Data and time data in the format yyyymmddhhmmss (DBTYPE_DBTIMESTAMP). This maps to DateTime.
Decimal A fixed precision and scale numeric value between -1038 -1 and 10 38 -1 (DBTYPE_DECIMAL). This maps to Decimal.
Double A floating point number within the range of -1.79E +308 through 1.79E +308 (DBTYPE_R8). This maps to Double.
Empty No value (DBTYPE_EMPTY). This maps to Empty.
Error A 32-bit error code (DBTYPE_ERROR). This maps to Exception.
Filetime A 64-bit unsigned integer representing the number of 100-nanosecond intervals since January 1, 1601 (DBTYPE_FILETIME). This maps to DateTime.
Guid A globally unique identifier (or GUID) (DBTYPE_GUID). This maps to Guid.
IDispatch A pointer to an IDispatch interface (DBTYPE_IDISPATCH). This maps to Object. Note This data type is not currently supported by ADO.NET. Usage may cause unpredictable results.
Integer A 32-bit signed integer (DBTYPE_I4). This maps to Int32.
IUnknown A pointer to an IUnknown interface (DBTYPE_UNKNOWN). This maps to Object. Note This data type is not currently supported by ADO.NET. Usage may cause unpredictable results.
LongVarBinary A long binary value (OleDbParameter only). This maps to an Array of type Byte.
LongVarChar A long string value (OleDbParameter only). This maps to String.
LongVarWChar A long null-terminated Unicode string value (OleDbParameter only). This maps to String. Numeric An exact numeric value with a fixed precision and scale (DBTYPE_NUMERIC). This maps to Decimal. PropVariant An automation PROPVARIANT (DBTYPE_PROP_VARIANT). This maps to Object.
Single A floating point number within the range of -3.40E +38 through 3.40E +38 (DBTYPE_R4). This maps to Single.
SmallInt A 16-bit signed integer (DBTYPE_I2). This maps to Int16.
TinyInt A 8-bit signed integer (DBTYPE_I1). This maps to SByte.
UnsignedBigInt A 64-bit unsigned integer (DBTYPE_UI8). This maps to UInt64.
UnsignedInt A 32-bit unsigned integer (DBTYPE_UI4). This maps to UInt32.
UnsignedSmallInt A 16-bit unsigned integer (DBTYPE_UI2). This maps to UInt16.
UnsignedTinyInt A 8-bit unsigned integer (DBTYPE_UI1). This maps to Byte.
VarBinary A variable-length stream of binary data (OleDbParameter only). This maps to an Array of type Byte. VarChar A variable-length stream of non-Unicode characters (OleDbParameter only). This maps to String.
Variant A special data type that can contain numeric, string, binary, or date data, as well as the special values Empty and Null (DBTYPE_VARIANT). This type is assumed if no other is specified. This maps to Object.
VarNumeric A variable-length numeric value (OleDbParameter only). This maps to Decimal.
VarWChar A variable-length, null-terminated stream of Unicode characters (OleDbParameter only). This maps to String.
WChar A null-terminated stream of Unicode characters (DBTYPE_WSTR). This maps to String.


Fuente:microsoft.net
Aun mas, con el ejemplo anterior el objeto COMMAND esta construido y preparado y cargado pero todavia no se manda desde el programa a la base de datos, es decir le faltan activar las siguientes tres propiedades, ejemplo;


OleDbCommand orden;
String clave=7;string nombre=“rana”;string peso=3.14;
string q=“insert into mitabla(clave,nombre,peso) values(@CLAVE, @NOMBRE, @PESO)”;
orden= new OleDbCommand(q, coneccion);
orden.Parameters.Add(new OleDbParameter(”@CLAVE”, OleDbType.Integer));
orden.Parameters[”@CLAVE”].Value = clave;
orden.Parameters.Add(new OleDbParameter(”@NOMBRE”, OleDbType.VarWChar, 40));
orden.Parameters[”@NOMBRE”].Value = nombre;
orden.Parameters.Add(new OleDbParameter(”@PESO”, OleDbType.Double));
orden.Parameters[”@PESO”].Value = edad;
orden.Connection.Open();
orden.ExecuteNonQuery();
orden.Connection.Close()


sencillo abrir la coneccion, mandar o ejecutar la instrucción y cerrar la coneccion.
OBJETOS DATAADAPTER Y DATASET:(dos por uno)
Son los otros dos objetos de ADO.NET que tambien permiten transportar una instruccion sql desde el servidor hasta la base de datos y transportar de regreso hacia el servidor los datos contenidos en alguna de las tablas .
Con los objetos CONNECTION y COMMAND ya se pueden efectuar cualquiera de la operaciones SQL descritas( ya estudiarón su tutorial de SQL), el problema es que pasa con el usuario cuando va a ver base de datos o mejor aun las tablas que estan en la base de datos en disco.
DATASET:- Es una copia en memoria (d la maquina cliente) de la base de datos( y todas sus tablas) que se encuentra en disco.
DATAADAPTER.- En principio es muy similar al objeto COMMAND es decir se usa para transportar instrucciones SQL a la base en disco, de hechos sus formatos e instrucciones son muy similares a los vistos para el objeto COMMAND, su diferencia principal es que dataadapter esta mas especializado y contiene una serie de métodos que facilitan la interaccion entre el DATASET y la Base de Datos en disco
En particular muchos de los programas que se veran en temas posteriores solo usan los objetos CONNECTION, DATAADAPTER y DATASET.
Otra vez, dataadpater se especializa en transportar LA INSTRUCCION SQL SELECT a la base de datos en disco pero ademas se utiliza para cargar la tabla en memoria o dataset del cliente.
Ejemplo:

// abriendo la coneccion

coneccion = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\progfacil\\tusitio\\mibase.mdb");

// cargando el adapter con la instruccion sql

canal=new OleDbDataAdapter("select * from mitabla", coneccion);

// cargando el dataset

tabla= new DataSet();

canal.Fill(tabla, "mitabla");

Como se observa en este ejemplo muy sencillo, el dataadapter(canal) esta funcionando de manera muy similar al primer ejemplo que se vio del objeto COMMAND pero tengan la seguridad que también se pueden usar variables parámetros y agregarles los dos tipos de parámetros a este objeto dataadpater.
Observar que su propiedad FILL carga el DATASET(tabla) con una de las tablas en disco, recordar que en la base de datos puede contener muchas tablas.
Ademas esa propiedad FILL es equivalente a las tres ultimas instrucciones del objeto COMMAND, es decir open, executenonquery y close, mas facil verdad.
DATAREADER y DATASET:
Observar que también se usan en forma conjunta, primero es muy similar en uso y función que el objeto DATAADAPATER, la diferencia entre datareader y dataadapter es el tipo de base de datos con las cuales se pueden comunicar, dataadpater se especializan en bases de datos relacionales y datareader se especializa en archivos, que no se estudian en este curso.
Tambien es importante mencionar que datareader es el objeto de ADO.NET mas parecido al objeto RESULTSET que uso mucho en el ADO anterior de microsoft.
EN general se han visto de manera sencilla los principales objetos ADO.ASP( connection, command, datareader, dataadapter, dataset), sin embargo la tabla o las tablas o la base de datos que se tiene en disco o sirviéndola algun servidor de bases de datos, se ha quedado en la memoria de la maquina del cliente, ADO.NET ha terminado su trabajo y su función.
Para mandar el dataset a el browser se tendra que pasar a algun tipo de objeto visible que soporte el browser, los objetos que se pueden usar para mandar el dataset a pantalla son:
1.- COMPONENTE TABLE DE HTML
2.- COMPONENTE HTMLTABLE DE ASP
3.- COMPONENTE DATAGRID DE ASP NET




viernes, 28 de marzo de 2014

Diagramas inteligentes

SMARTART
¿QUÉ ES SMARTART?
Es una ventana que traducida al español significa Arte Inteligente y es una forma innovadora de Microsoft Office que nos permite realizar gráficos en diferentes tipos de diseño entre las 115 plantillas disponibles por ejemplo en 3D, con sombre, etc., también puedes modificar cada una de ellas a tu gusto tanto su fuente como su iluminación y los efectos.
USO
Paso 1:
Ubica el cursor en el lugar donde quieras que aparezca la gráfica y haz clic en la pestaña Insertar.
Paso 2:
Selecciona la opción SmartArt ubicada en el grupo Ilustraciones. Verás que se abrirá la ventana Elegir un gráfico SmartArt.
Paso 3:
Selecciona una categoría en el cuadro de la izquierda y revisa las ráficas SmartArt que aparecen en el centro. 
Paso 4:
Haz clic izquierdo en cualquiera de las gráficas para seleccionarla. Finalmente, Haz clic en el botón Aceptar.




 

Anadir texto a una gráfica de SmartArt Paso 1:
Selecciona la gráfica. Verás que la primera casilla de texto estará seleccionada y el cursor aparecerá en el Panel de Tareas a la izquierda de la gráfica.

Moverse de

Un campo a otro.



Paso 2:
Ingresa el texto en el primer campo del Panel de Tareas y presiona la pestaña para

 Las herramientas de dibujo de Word son poderosas y podemos pasar mucho tiempo dibujando en nuestros documentos. Pero tal vez no dispongamos de él y, sin embargo, no queremos renunciar a que un buen gráfico explique mejor nuestras ideas. Para eso Word incluye SmartArt.
Imagina que has creado un diagrama con varios elementos y niveles, con estilos diferenciados y formas jerárquicas. Pues puede darse el caso de que tengas que ampliarlo o reducirlo, y reordenar todo para que el aspecto general sea correcto. SmartArt hace que eso no sea un problema. Vamos a verlo.

                        1. Pon el punto de inserción donde quieras colocar el gráfico y pulsa el comando SmartArt. en el grupo Ilustraciones de la ficha Insertar en la cinta de opciones.
                        2. En el cuadro de diálogo que aparece, selecciona uno de los diseños teniendo en cuenta la idea que quieres plasmar y haz clic en el botón Aceptar.
                        3. Observa que aparece una ficha nueva en la cinta de opciones, un lienzo que contiene el diseño elegido y un panel de texto. Lo primero es cambiar en ese panel el contenido. ¡Hazlo!
                        4. Añade más viñetas si las necesitas y cámbialas de nivel. En la pestaña Diseño de la ficha Herramientas de SmartArt está el grupo de comandos Crear gráficos desde el que puedes                                        hacerlo.
                        5. Prueba con el resto de comandos para cambiar el aspecto del gráfico. Son muy parecidos a los vistos para los otros objetos. Puedes hasta cambiar de diseño por completo.
                        6. Para dejar el modo de edición de SmartArt haz clic fuera de la zona del gráfico.
        Repitiendo el cuarto paso cada vez que tengamos que introducir un cambio, no tendríamos que preocuparnos de crear una forma similar y colocarla en la estructura junto a las demás. Solo tenemos que agregar el concepto y SmartArt se encarga del resto.

Elegir los gráficos con inteligencia

Un gráfico SmartArt es una representación gráfica de la información (como un diagrama) que es muy fácil de crear. A continuación se explican algunas maneras de utilizar uno de estos gráficos
- Puedes colocar los puntos principales de una lista con viñetas en el interior de formas relacionadas que no sigan un formato estrictamente vertical y a las que pueda aplicar color para que sean más impactantes y claras.
- O bien, puedes ilustrar un programa de producción, como muestra la imagen, utilizando una escala de tiempo gráfica que capture los hitos principales.
- O bien mostrar un proceso mediante flechas y formas conectadas para que la secuencia sea directa y clara.

Tipos de gráficos SmartArt

Cuando requieras utilizar un gráfico SmartArt, podrás elegir en una galería de diseños. Un diseño hace referencia a los tipos y a la organización de las formas del gráfico y a cómo están agrupadas o conectadas. Todos los diseños de gráficos SmartArt se encuentran en la categoría Todo del cuadro de diálogo Elegir un gráfico SmartArt (que se muestra en la animación). Después, se dividen en estos tipos:
•             Lista        
•             Proceso
•             Ciclo
•             Jerarquía
•             Relación
•             Matriz
•             Piramidal


 Gráficos de lista

Este gráfico SmartArt utiliza un diseño de tipo Lista. El gráfico mantiene la idea de la lista vertical pero separa los conceptos generales (que se muestran en las formas de la izquierda) de los detalles (que se reservan para las formas más largas, con menos texto, de la derecha).
Los diseños de lista suelen estar pensados para elementos que se desean agrupar pero no siguen un proceso paso a paso.

Para que el texto tenga un tamaño legible, limite la cantidad de texto que coloque en las formas del gráfico.

Listas con imágenes

Este diseño de lista gráfica incluye formas pensadas para insertar imágenes. En las formas de la derecha hay espacio para texto descriptivo. Existen otros diseños de lista que incluyen formas para imágenes, que le evitan tener que colocar y cambiar de tamaño las imágenes después de insertarlas. 

Gráficos de proceso

 Este gráfico SmartArt tiene un diseño de tipo Proceso que contiene formas repetitivas y una flecha larga y sinuosa para conectar cada paso y mostrar un flujo direccional. Si deseas utilizar formas de diagrama de flujo estándar para representar tipos de pasos, podría sustituir las formas de este diseño.
            Existen más de 30 tipos de diseños de proceso, y suelen incluir flechas de conexión para indicar la dirección o la progresión (ya sea para las fases del desarrollo de un plan o producto, los puntos de una escala de tiempo o una representación de la forma en que se combinan los elementos para proporcionar un resultado)
 Procesos con pasos numerados
Este diseño de tipo Proceso incluye formas que funcionan correctamente si se desean incluir números para los pasos. Las flechas mantienen la idea de la escala de tiempo y contienen el texto que describe cada fase. Este diseño enfatiza la visión de conjunto. Otros podrían dar más énfasis a los detalles textuales de los pasos.

 Secuencias continuas


 Diseño, Modelo, Ejecución: una forma concisa de describir el contenido de un gráfico SmartArt de tipo Ciclo. Este tipo de gráfico ilustra un proceso circular o repetitivo.

 Algunos ejemplos podrían ser los ciclos de vida de un producto o de un ser vivo, un ciclo de redacción y publicación de un sitio Web o el análisis de rendimiento anual en el que trabaja un empleado, que empieza con el establecimiento de los objetivos, requiere puntos de comprobación periódicos y finaliza cuando termina el año (y, después, vuelve a empezar).

 El diseño muestra eficazmente tanto el ciclo como la manera en que cada elemento que lo compone Encaja en un conjunto.

Jerarquía: organigrama

Un uso habitual para este tipo de gráfico SmartArt, denominado Jerarquía, es el organigrama de una compañía. En la ilustración se utiliza el diseño más adecuado para mostrar la jerarquía de cargos de una Empresa.

Con todo, existen varios diseños jerárquicos. Una jerarquía podría mostrar un árbol de decisiones o una Familia de productos
               
Relaciones: diagrama radial y de Venn                                                                 
Los diseños de relaciones abarcan varios tipos de diagrama, incluidos los diagramas radiales, de Venn y de círculos concéntricos, que normalmente representan una conexión entre dos o más conjuntos de objetos o información.

1.            El gráfico SmartArt que se muestra aquí utiliza un diseño radial convergente en el cual varios elementos afectan a un objeto central o están relacionados con el mismo.
2.            El diseño Venn básico, formado por dos o más círculos superpuestos, muestra cómo se superponen las áreas o los conceptos y se unen en la intersección central.
3.            El diseño Destino básico se usa para mostrar contenciones, gradaciones o relaciones jerárquicas.


 Matriz

El tipo de diseño Matriz muestra la relación de los componentes con un todo y puede representar relaciones más complejas por medio de ejes, como en el ejemplo.
Este diseño se denomina Matriz de cuadrícula. Cada eje funciona para mostrar un rango en términos de costo y habilidad. El diseño en sí incluye los cuadrantes y los ejes, pero está configurado de manera que se puedan agregar, fuera de los ejes, las etiquetas que sean necesarias.


Piramidal

Los diseños de tipo Piramidal muestran relaciones o procesos proporcionales, de base o jerárquicos que normalmente crecen hacia arriba.
 En este ejemplo se muestra un proceso de ajuste continuo que comienza con la recopilación de datos sin filtrar (que se muestran en la parte inferior) y continúa hacia arriba examinando los datos y extrayendo conclusiones sobre los mismos. El diseño está pensado para ofrecer más espacio para el texto a medida que la pirámide se estrecha.


Puntos a tener en cuenta al elegir un diseño para el gráfico SmartArt
Antes de elegir un diseño para el gráfico SmartArt, pregúntese que desea transmitir y si desea que la información aparezca de determinada manera. Dado que puede cambiar diseños de forma rápida y fácil, pruebe con los diferentes tipos de diseños hasta que encuentre el que mejor ilustre su mensaje.

Un tipo es similar a una categoría que puede ayudarle a elegir rápidamente el diseño adecuado para la información.