Cuando ya disponemos de los dos datos, pasamos a realizar una lectura de comprobación:

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Cuando ya disponemos de los dos datos, pasamos a realizar una lectura de comprobación:"

Transcripción

1 1. Ejemplos. 1.1 Introducción. Vamos a visualizar dos tipos de programas de mantenimiento, uno con una tabla que esta enlazada a un objeto de visualización como el DataGridView, y que necesita muy pocas líneas de código. El otro ejemplo es el de un mantenimiento más clásico, y sin enlazar la tabla de datos. Un ejemplo de un listado, sin uso del Crystal Report. Y algunos procedimientos que pueden resultar útiles. Los pasos que se van a considerar, con el fin de no alargar en exceso los ejemplos, son exclusivamente los referentes a lo imprescindible, dejando de lado lo accesorio, dicho de otra forma, configuraciones previas, mensajes de ayuda, cargas iniciales, etc Mantenimiento con tabla sin enlazar. Comparado con el enlazado, es mucho más costoso, pero claro, los resultados no son iguales, y no siempre un mantenimiento debe considerarse como un grid que visualice sus datos y dejar todo en manos del usuario, por eso conviene elegir el más adecuado en cada ocasión. Por lo tanto vamos a empezar con el punto de partida que es el control del campo de código de la tabla, el ejemplo es de una tabla con una clave principal compuesta por dos campos Punto de partida. Validación de los campos de código. Private Sub Campo00_Validating( _ ByVal sender As Object, _ ByVal e As System.ComponentModel.CancelEventArgs) _ Handles Campo01.Validating, _ Campo02.Validating, _.. /.. Campo13.Validating, _ Campo14.Validating Dim Cual As Integer Dim Mensaje As String Cual = CInt(Strings.Right(CType(sender, TextBox).Name, 2)) Validacion(Cual, CType(sender, TextBox), e.cancel) Al abandonar los TextBox, se valida su contenido Validación. En este procedimiento la primera parte de la clave se obtiene de un ComboBox,, Tipo = CType(ComboBox01.SelectedItem, ItemLista) Después el código se obtiene Campo.Text = Format(CInt(Campo.Text), "0000") Cuando ya disponemos de los dos datos, pasamos a realizar una lectura de comprobación: LeerRegistro(Tipo.Codigo, Campo01.Text) En este procedimiento obtendremos la situación de la clave introducida, existente o no.

2 El procedimiento de validación es el que sigue. Private Sub Validacion(ByVal Cual As Integer, _ ByRef Campo As TextBox, ByRef Cancel As Boolean) Dim Tipo As ItemLista Cancel = False Select Case Cual Case 1 If Campo.Text <> "" Then Campo.Text = Format(CInt(Campo.Text), "0000") Select Case ComboBox01.SelectedIndex > -1 Case True Tipo = CType(ComboBox01.SelectedItem, ItemLista) LeerRegistro(Tipo.Codigo, Campo01.Text) Case Else Cancel = True MsgBox("Debe indicar cual es el tipo de la publicación", _ MsgBoxStyle.Information, NomProgram) Case 5.. / Lectura de control. Veamos el procedimiento de lectura. El procedimiento realiza una lectura de un registro que exista en la tabla, si existe en la propiedad Tag del objeto button, Comando01, que hay en el formulario asignamos una A, actualizar, y si no N, nuevo, inserción. Si existe aprovechamos para visualizar los datos, se podía haber enfocado de varias formas. Los pasos son Generamos la instrucción SQL. CadenaSQL = "SELECT TipPub, Codigo, Titulo, ClasEdad, " & _ "ClasTema, Period, Editorial, ISBN, Autor, " & _ "PreCoste, PreVenta, EntAcu, SalAcu, EntDev, SalDev, " & _ "StockMax, StockMin, UltCompra, UltVenta " & _ "FROM Titulos " & _ "WHERE TipPub = '" & TipoPub & "' And " & _ "Codigo = '" & Codigo & "'" Inicializamos los objetos de acceso a la base de datos, el objeto conexión se configura una vez al inicio de la aplicación. ' Código SQL para la consulta Comando.CommandText = CadenaSQL ' Tipo de comando a ejecutar Comando.CommandType = CommandType.Text ' Conexión a utilizar, configurada previamente. Comando.Connection = Conexion Y después se ejecuta la acción. ' Uso del comando Lector = Comando.ExecuteReader

3 Después de la ejecución se comprueba si se encuentra o no un registro, y se asigna A o N según el resultado, y visualizamos los datos. Select Case Lector.HasRows Case True Lector.Read() Campo01.Text = Lector.Item("Codigo").ToString. /.. Comando01.Tag = "A" Actualización Case Else Comando01.Tag = "N" Inserción El código completo es el siguiente. Private Sub LeerRegistro(ByVal TipoPub As String, ByVal Codigo As String) Dim Comando As New System.Data.OleDb.OleDbCommand Dim Lector As System.Data.OleDb.OleDbDataReader Dim CadenaSQL As String Conexion.Open() CadenaSQL = "SELECT TipPub, Codigo, Titulo, ClasEdad, " & _ "ClasTema, Period, Editorial, ISBN, Autor, " & _ "PreCoste, PreVenta, EntAcu, SalAcu, EntDev, SalDev, " & _ "StockMax, StockMin, UltCompra, UltVenta " & _ "FROM Titulos " & _ "WHERE TipPub = '" & TipoPub & "' And " & _ "Codigo = '" & Codigo & "'" ' Código SQL para la consulta Comando.CommandText = CadenaSQL ' Tipo de comando a ejecutar Comando.CommandType = CommandType.Text ' Conexión a utilizar, configurada previamente. Comando.Connection = Conexion ' Uso del comando Lector = Comando.ExecuteReader Select Case Lector.HasRows Case True Lector.Read() Campo01.Text = Lector.Item("Codigo").ToString Campo02.Text = Lector.Item("Titulo").ToString.. /.. Campo14.Text = Lector.Item("UltVenta").ToString Comando01.Tag = "A" Actualización Case Else Comando01.Tag = "N" Inserción Campo01.Tag = Campo01.Text InicializarCampos(Me) Campo01.Text = Campo01.Tag.ToString Catch ex As OleDb.OleDbException MsgBox(ex.Message, MsgBoxStyle.Information) End ' Liberar recursos Comando.Dispose() Comando = Nothing Conexion.Close()

4 El siguiente paso, después de la ejecución normal del programa, sería la acción a realizar por el usuario. Borrado Grabación Elección del usuario. En el formulario se han previsto las siguientes posibilidades. Grabar Baja Cancelar Salida Que son las cuatro posibilidades que contempla el evento. Private Sub Comando01_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) _ Handles Comando01.Click, _ Comando02.Click, _ Comando03.Click, _ Comando04.Click Dim Cual As Integer = CInt(Strings.Right(CType(sender, Button).Name, 2)) TrataComando(Cual) Capturada la acción del usuario el siguiente paso es actuar. Private Sub TrataComando(ByVal Cual As Integer) Select Case Cual Case 1 ' Aceptar Grabar() Case 2 ' Baja Borrar() Case 3 ' Cancelar InicializarCampos(Me) Case 4 ' Salir Salida() Campo01.Focus() Borrado. El borrado queda como sigue. Crear la cadena SQL CadenaSQl = "Delete From Titulos " & _ "Where (Titulos.TipPub = '" & Tipo.Codigo.ToString & "') and " & _ "(Titulos.Codigo = '" & Campo01.Text & "');" Inicializar los objetos de acceso a la base de datos. Ejecución de la instrucción SQL Cuantos = Comando.ExecuteNonQuery En este caso como no hay datos de retorno, se usa ExecuteNonQuery.

5 Y el ejemplo completo a continuación. Private Sub Borrar() Dim Comando As New System.Data.OleDb.OleDbCommand Dim Cuantos As Integer Dim CadenaSQl As String Dim Tipo As ItemLista Tipo = CType(ComboBox01.SelectedItem, ItemLista) CadenaSQl = "Delete From Titulos " & _ "Where (Titulos.TipPub = '" & Tipo.Codigo.ToString & "') and " & _ "(Titulos.Codigo = '" & Campo01.Text & "');" Conexion.Open() ' Nombre de la consulta en la base de datos. Comando.CommandText = CadenaSQl ' Tipo de comando a ejecutar Comando.CommandType = CommandType.Text ' Conexión a utilizar, configurada previamente. Comando.Connection = Conexion Cuantos = Comando.ExecuteNonQuery Select Case Cuantos Case Is <> 0 MsgBox("Datos borrados", MsgBoxStyle.Information, Me.Text) Case Else MsgBox("Incidencia en borrado", MsgBoxStyle.Information, Me.Text) Catch ex As OleDb.OleDbException MsgBox(ex.Message, MsgBoxStyle.Information, "Error en borrado") End Conexion.Close() ' Liberar recursos Comando.Dispose() Comando = Nothing Grabación. La acción de grabación, oculta al usuario la acción de inserción o actualización, que ya se ha seleccionado en el momento de validar a nivel de programa. Por lo tanto el primer paso es seleccionar la acción a realizar. Private Sub Grabar() Select Case Comando01.Tag.ToString Case "A" Actualizar() Case "N" Insertar() Como se puede observar se utiliza la propiedad Tag, que se ha cargado previamente en validación. Por lo tanto ahora o se inserta o se actualiza. Veamos primero la actualización.

6 Primero como siempre creación de la instrucción SQL, CadenaSQl = "Update Titulos Set " & _ "TipPub = '" & TipoPub.Codigo.ToString & "', " & _ "Codigo = '" & Campo01.Text & "', " & _.. /.. "UltVenta = '" & UltVent & "' " & _ "WHERE (Titulos.TipPub = '" & TipoPub.Codigo.ToString & "') And " & _ "(Titulos.Codigo = '" & Campo01.Text & "');" Después como siempre la inicialización de los objetos de acceso a la base de datos, y la ejecución de la instrucción SQL. Cuantos = Comando.ExecuteNonQuery Y el control del resultado de la actualización. Select Case Cuantos Case Is <> 0 MsgBox("Datos grabados", MsgBoxStyle.Information, Me.Text) Case Else ' cuando hay error salta el Catch, y sino MsgBox("Error en actualización", MsgBoxStyle.Information, Me.Text) El procedimiento completo queda. Private Sub Actualizar() Dim Comando As New System.Data.OleDb.OleDbCommand Dim Cuantos As Integer Dim CadenaSQl As String CadenaSQl = "Update Titulos Set " & _ "TipPub = '" & TipoPub.Codigo.ToString & "', " & _ "Codigo = '" & Campo01.Text & "', " & _ "Titulo = '" & Campo02.Text & "', " & _.. /.. "UltVenta = '" & UltVent & "' " & _ "WHERE (Titulos.TipPub = '" & TipoPub.Codigo.ToString & "') And " & _ "(Titulos.Codigo = '" & Campo01.Text & "');" Conexion.Open() ' Código SQL Comando.CommandText = CadenaSQl ' Tipo de comando a ejecutar Comando.CommandType = CommandType.Text ' Conexión a utilizar, configurada previamente. Comando.Connection = Conexion Cuantos = Comando.ExecuteNonQuery Select Case Cuantos Case Is <> 0 MsgBox("Datos grabados", MsgBoxStyle.Information, Me.Text) Case Else ' cuando hay error salta el Catch, y sino MsgBox("Error en actualización", MsgBoxStyle.Information, Me.Text) Catch ex As OleDb.OleDbException MsgBox(ex.Message, MsgBoxStyle.Information, "Error en actualización") End Conexion.Close()

7 ' Liberar recursos Comando.Dispose() Comando = Nothing El proceso de inserción es similar al anterior pero claro cambia la instrucción SQL, por lo que hay poco que comentar. Private Sub Insertar() Dim Comando As New System.Data.OleDb.OleDbCommand Dim Cuantos As Integer Dim CadenaSQl As String CadenaSQl = "INSERT INTO Titulos ( TipPub, Codigo, Titulo, ClasEdad, " & _ "ClasTema, Period, Editorial, ISBN, Autor, " & _ "PreCoste, PreVenta, EntAcu, SalAcu, " & _ "EntDev, SalDev, StockMax, StockMin, " & _ "UltCompra, UltVenta ) " & _ "Values ('" & TipoPub.Codigo.ToString & "', " & _ "'" & Campo01.Text & "', " & _.. /.. "'" & UltVent & "') " Conexion.Open() ' Código SQL Comando.CommandText = CadenaSQl ' Tipo de comando a ejecutar Comando.CommandType = CommandType.Text ' Conexión a utilizar, configurada previamente. Comando.Connection = Conexion ' hay que borrarlo cuando está probado Cuantos = Comando.ExecuteNonQuery Select Case Cuantos Case Is <> 0 MsgBox("Datos grabados", MsgBoxStyle.Information, Me.Text) Case Else ' cuando hay error salta el Catch, y sino MsgBox("Error en inserción", MsgBoxStyle.Information, Me.Text) Catch ex As OleDb.OleDbException MsgBox(ex.Message, MsgBoxStyle.Information, "Error en inserción") End Conexion.Close() ' Liberar recursos Comando.Dispose() Comando = Nothing En clase se les propone a los alumnos, que abrevien el código para realizar un único paso. Visto el ejemplo comentar, que en caso de querer realizarlo con un DataSet, los cambios son mínimos, pero pensamos que un Mantenimiento es más lógico hacerlo enlazando con la base de datos y dejando los cambios plasmados en la misma, sin que se difieran los mismos en el tiempo. Con un DataSet por otro lado se puede utilizar el método de búsqueda Find. 1.3 Mantenimiento con tabla enlazada. La ventaja de este planteamiento, es los pocos recursos que se necesitan para dejar una tabla accesible al usuario y permitir que realice tareas de mantenimiento. El inconveniente, lo parco en recursos de validación, pero se puede alcanzar un buen nivel. Por otro lado queda el tema del control de teclado, que hemos podido resolver creando una clase que herede el objeto DataGridView y a la que le hemos mejorado el control del teclado, personalizándolo por columnas.

8 No hemos incluido dicha clase, pues aunque funciona, aún es un embrión, y no nos gusta su aspecto. Veamos el ejemplo Punto de partida. En este caso el punto de partida tiene que ser el enlace de la tabla al DataGridView. Private Sub CargaFormulario(ByVal sender As Object, _ ByVal e As System.EventArgs) _ Handles Me.Load ConfigConexion(Conexion) Carga(Conexion, Adaptador, Enlace, ObjDataGrid, Select * from provincia") Por lo tanto el mejor sitio para hacerlo es el evento Load del formulario, en el cual también configuramos el objeto DataConnection. Los objetos a utilizar son: ' Conexión a la base de datos Dim Conexion As New System.Data.OleDb.OleDbConnection ' Acceso a la base de datos Dim Adaptador As New System.Data.OleDb.OleDbDataAdapter ' Enlace a datos, no es imprescindible, solo por mostrarlo Dim Enlace As New BindingSource ' Comando para la ejecución de SQL Dim Comando As New System.Data.OleDb.OleDbCommand Definidos a nivel de formulario. En este procedimiento se realiza la carga de los datos, y el enlace del objeto. Public Sub Carga(ByVal Conexion As System.Data.OleDb.OleDbConnection, _ ByRef Adaptador As System.Data.OleDb.OleDbDataAdapter, _ ByRef EnlaceTabla As BindingSource, _ ByRef ObjDataGrid As DataGridView, _ ByVal CadenaSql As String) Dim ComandoActualizar As OleDb.OleDbCommandBuilder Conexion.Open ' Crear un nuevo adaptador de datos Adaptador = New OleDb.OleDbDataAdapter(CadenaSql, Conexion) ' Crear un 'commandbuilder' que genere el SQL Update/Insert/Delete ' no debe cambiarse de sitio ComandoActualizar = New OleDb.OleDbCommandBuilder(Adaptador) ' Llenar la tabla con los datos Dim Tabla As New DataTable Adaptador.Fill(Tabla) ' Enlazarla al 'bindingsource' ObjDataGrid.DataSource = EnlaceTabla EnlaceTabla.DataSource = Tabla Conexión.Close Catch ex As OleDb.OleDbException MsgBox(ex.Message, MsgBoxStyle.Information) End El enlace también puede realizarse de forma directa sin usar el bindingsource. ObjDataGrid.DataSource = Tabla

9 1.3.2 Elección del usuario. Teniendo en cuenta que el DataGrid contiene todos los datos de la tabla, el usuario se supone que sabe localizar lo que desea modificar, borrar o cuando debe insertar una fila nueva. Salvada esta consideración, hay que tener presente que mientras no se ejecute el método Update los cambios no se reflejan en la base de datos, por lo tanto es posible en la acción de cancelar, recargar el DataGrid, y éste retomará la situación inicial, o desde la última actualización. El borrado se realiza mediante el método Remove del DataGridView, sobre la fila actual. En el formulario se han previsto las siguientes posibilidades. Actualizar Baja Cancelar Salida Que son las cuatro posibilidades que contempla el evento, y el código que se acompaña. Private Sub Comando01_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) _ Handles Comando01.Click, _ Comando02.Click, _ Comando03.Click, _ Comando04.Click Dim Cual As Integer Cual = CInt(Strings.Right(CType(sender, Button).Name, 2)) Select Case Cual Case 1 ' Actualizar la base de datos con los cambios efectuados Adaptador.Update(CType(Enlace.DataSource, DataTable)) MsgBox("Datos actualizados", MsgBoxStyle.Information) Catch ex As System.Data.OleDb.OleDbException MsgBox("Errores " & vbcrlf & ex.message, MsgBoxStyle.Critical) End Case 2 ' Borrar ObjDataGrid.Rows.Remove(ObjDataGrid.CurrentRow) Case 3 ' Cancelar, recargar sin actualizar los cambios Carga(Conexion, _ Adaptador, _ Enlace, _ ObjDataGrid, _ Adaptador.SelectCommand.CommandText) Case 4 ' salida Salida() Y no es necesario nada más, para que funcione. Las columnas en el DataGridView, se generan de forma automática a partir de la estructura de la tabla que estamos utilizando. Mediante las propiedades de configuración de este objeto es posible el bloqueo de las acciones de edición de forma personalizada. Este sistema no siempre es posible plantearlo, acudir a la documentación de VB.Net.

10 El procedimiento Carga se puede utilizar también de esta otra forma, por otro lado más lógica, pues dispone de la propiedad DataSource, y no precisa del objeto BindingSource de forma imprescindible. Private Sub Carga(ByVal Conexion As System.Data.OleDb.OleDbConnection, _ ByRef Adaptador As System.Data.OleDb.OleDbDataAdapter, _ ByRef ObjDataGrid As DataGridView, _ ByRef Tabla As DataTable, _ ByVal CadenaSql As String) Dim ComandoActualizar As OleDb.OleDbCommandBuilder ' Crear un nuevo adaptador de datos Adaptador = New OleDb.OleDbDataAdapter(CadenaSql, Conexion) ' Crear un 'commandbuilder' que genere el SQL Update/Insert/Delete ' no debe cambiarse de sitio ComandoActualizar = New OleDb.OleDbCommandBuilder(Adaptador) ' Llenar la tabla con los datos Tabla = New DataTable Adaptador.Fill(Tabla) ' Enlazar tabla y DataGrid ObjDataGrid.DataSource = Tabla Catch ex As OleDb.OleDbException MsgBox(ex.Message, MsgBoxStyle.Information) End La diferencia está en que se enlaza la tabla al DataGrid, no se usa el BindingSource, que es más adecuado. Por lo tanto desaparece del procedimiento el objeto BindingSource y aparece la tabla. Para esta versión, el procedimiento de evento del objeto Button, debe quedar así. Private Sub Comando01_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) _ Handles Comando01.Click, _ Comando02.Click, _ Comando03.Click, _ Comando04.Click Dim Cual As Integer Cual = CInt(Strings.Right(CType(sender, Button).Name, 2)) Select Case Cual Case 1 ' Actualizar la base de datos con los cambios efectuados Adaptador.Update(Tabla) MsgBox("Datos actualizados", MsgBoxStyle.Information) Catch ex As System.Data.OleDb.OleDbException MsgBox("Errores " & vbcrlf & ex.message, MsgBoxStyle.Critical) End Case 2 ' Borrar ObjDataGrid.Rows.Remove(ObjDataGrid.CurrentRow) Case 3 ' Cancelar, recargar sin actualizar los cambios Carga(Conexion, _ Adaptador, _ ObjDataGrid, _ Tabla, _ Adaptador.SelectCommand.CommandText) Case 4 ' salida Salida()

11 Y como consecuencia de los cambios, en el evento Load también ha de cambiarse la llamada a Carga Private Sub CargaFormulario(ByVal sender As Object, _ ByVal e As System.EventArgs) _ Handles Me.Load ConfigConexion(Conexion) Carga(Conexion, Adaptador, ObjDataGrid, Tabla, Select * from provincia") Y debe aparecer el objeto tabla en la definición de objetos en el formulario. Dim Tabla as DataTable En función de cómo se quiera enriquecer el programa, son de setenta a cien líneas de código para el mismo, lo cual es ridículo, comparado con uno más exhaustivo en su validación. Conviene recordar las posibilidades de formato que incorpora éste objeto a la hora de visualizar información y que permiten mejorar el aspecto de los datos visualizados incorporando distintas opciones de fondos o colores en las celdas que se desee. 1.4 Listado. Crystal Report, he mejorado en mucho desde sus inicios, malo sería que no fuera así, pero la ventaja de controlar el uso de la impresión sin el asistente en cuestión, es la libertad que se tiene de poder abordar cualquier tipo de proceso de impresión sin el corsé que podría suponer dicha utilidad, a la que evidentemente siempre se puede recurrir. Exponemos solo los dos procedimientos base, el bucle de impresión y la línea de detalle, el resto de procedimientos no entrañan ningún problema. La línea de detalle se utiliza partiendo de la existencia de un vector en el que hemos calculado la ubicación de cada campo en el listado. El procedimiento que realiza dichos cálculos es el que sigue. Private Sub ConfigCabecera(ByRef Textocabecera() As CabecDetalle) Dim Fuente As Font Dim Lapiz As New System.Drawing.SolidBrush(System.Drawing.Color.Black) Dim AnchoString As New SizeF Dim Formato As New System.Drawing.StringFormat Dim Cx As Long Dim Grafico As Graphics = Me.CreateGraphics Dim X As Integer Fuente = Est_Lin_Det ' Campos del listado Textocabecera(0).Texto = "Código " Textocabecera(1).Texto = "Nombre " Textocabecera(2).Texto = "Apellido 1 " Textocabecera(3).Texto = "Apellido 2 " Textocabecera(4).Texto = "Domicilio " Textocabecera(5).Texto = "" ' Formato del texto Formato.FormatFlags = StringFormatFlags.MeasureTrailingSpaces ' Margen lateral Cx = CLng(Hoja.DefaultPageSettings.Margins.Left) ' Fuente a utiilizar Fuente = Est_Lin_Det ' New Font("Arial", 12, FontStyle.Italic)

12 ' Bucle de cálculo While X < UBound(Textocabecera) Textocabecera(X).Cx = Cx ' Ancho del texto AnchoString = Grafico.MeasureString(StrDup(Len(Textocabecera(X).Texto), n"), Fuente) Cx = CLng(Cx + AnchoString.Width) X = X + 1 End While Punto de partida. Por lo tanto el punto de arranque debe ser la ejecución del procedimiento de configuración en el evento Load Private Sub ListAlum_Load(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Me.Load ConfigCabecera(TextoCabecera) El inicio del listado arrancará, después de haberse captado por uno u otro sistema los rangos del mismo, en la pulsación del Button Aceptar o Listar, es lo mismo. Suponemos que en pantalla el destino del listado. Private Sub Comando01_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) _ Handles Comando01.Click VistaPrevia = New PrintPreviewDialog VistaPrevia.Document = Hoja VistaPrevia.ShowDialog() Hay que tener presente que VistaPrevia.Document = Hoja Es donde se indica el destino del listado. El objeto de impresión, PrintDocument se llama Hoja. Este objeto es indistinto del destino del listado, podríamos decir que es un gestor que realiza la labor de direccionamiento al destino de la impresión. El destino en pantalla se obtiene con el objeto PrintPreviewDialog Los datos. El primer paso será obtener los datos a listar a partir de las circunstancias del listado. Ese paso se puede hacer desde el evento de inicio de listado del PrintDocument, BeginPrint Private Sub Hoja_BeginPrint( _ ByVal sender As Object, _ ByVal e As System.Drawing.Printing.PrintEventArgs) _ Handles Hoja.BeginPrint CrearDataReader()

13 En el ejemplo se cargan los datos de la cabecera de forma manual, pero podría ejecutarse un procedimiento como éste para automatizar la tarea. CargaCamposCabecera(TextoCabecera, Reader) Cuyo contenido sería Private Sub CargaCamposCabeceraDos(ByVal V() As CabecDetalle, _ ByVal RecordSet As OleDb.OleDbDataReader) Dim Diseny As DataTable = RecordSet.GetSchemaTable() Dim Fila As DataRow Dim X As Integer For Each Fila In Diseny.Rows ' elemento cero tiene el nombre del campo V(X).Texto = Fila(0).ToString() X = X + 1 Next El procedimiento para la obtención de los datos del listado sería Private Sub CrearDataReader() Dim CadenaSQL As String Dim Condicion As String Dim Clave As String CreaRangos(Condicion, Clave) CadenaSQL = "Select Exped, Ape1, Ape2, Nombre, Domic From Alumnos " & _ "Where " & Condicion & _ " Order by " & Clave & " ;" ContPag = 0 ' Contador de páginas Conexion = New System.Data.OleDb.OleDbConnection Comando = New System.Data.OleDb.OleDbCommand ' Abrir la base de datos. ConfigConexion(Conexion) Conexion.Open() ' Tipo de comando a ejecutar Comando.CommandType = CommandType.Text ' Contenido del comando Comando.CommandText = CadenaSQL ' Conexión a utilizar, configurada previamente. Comando.Connection = Conexion ' Ejecución de SQL Reader = Comando.ExecuteReader Catch Ex As Exception MsgBox(Ex.Message, MsgBoxStyle.Information, "Crear RecordSet") End Obtenidos los datos ahora pasamos a la ejecución del bucle El bucle. Ahora se trata de realizar la lectura de la estructura obtenida en el procedimiento anterior. Se ha utilizado un DataReader, pero igual se podía haber utilizado un DataTable,

14 La lectura la realizaremos dentro del evento PrintPage del objeto PrintDocument. Solo recordar, o indicar, que algunas variables usadas en el ejemplo no se declaran a nivel de procedimiento por la idiosincrasia de funcionamiento de éste evento. Veamos los pasos principales. Dado que se entra y sale del evento por la acción de la propiedad e.hasmorepages = True las variables que siguen han de tener siempre este valor al entrar en el procedimiento. Dim Cabec As Boolean = True Dim Pie As Boolean = False Si hay algo a listar la condición será cierta If Reader.HasRows Then Y después mientras algo haya que leer While Reader.Read ' Línea de detalle LineaDet(e, Cy, Reader, Fuente, TextoCabecera) Iremos sacando líneas de detalle. Cada vez que se llene la página haremos el pié de página, si procede, y sacaremos cabeceras. ' Control de fin de página If Cy > e.marginbounds.height Then PiePagina(Cy, e) e.hasmorepages = True Exit Sub End If El control se realiza con el valor de Cy comparado con la altura del objeto que se usa en la impresión, hay que tener presente que se usa el valor de la zona imprimible, no de toda la altura del objeto. If Cy > e.marginbounds.height Then Sacar cabeceras es salir y entrar del seiscientos, que es un gran coche. e.hasmorepages = True Exit Sub Por eso es necesario los valores iniciales de Cabec y Pie Cuando se acabe el contenido del Reader, se realizará el fin de listado, y se dejará a falso la propiedad FinImpresion(Cy, e) e.hasmorepages = False Y con eso acabaría el listado. El fin de impresión también puede colocarse en el evento End_Print. Veamos ahora el contenido del evento PrintPage completo.

15 Private Sub Hoja_PrintPage( _ ByVal sender As Object, _ ByVal e As System.Drawing.Printing.PrintPageEventArgs) _ Handles Hoja.PrintPage ' ' Ejemplo con un datareader ' Dim Cy As Long ' Coordenada vertical Dim Cabec As Boolean = True Dim Pie As Boolean = False Dim Fuente As Font Fuente = Est_Lin_Det ' estilo línea de detalle If Reader.HasRows Then If Cabec Then If ContPag = 0 Then LineaIden(Cy, ContPag, e) ' Línea de identificación InicioImpresion(e) e.hasmorepages = True Exit Sub End If Cabeceras(Cy, e) Cabec = False End If While Reader.Read ' Línea de detalle LineaDet(e, Cy, Reader, Fuente, TextoCabecera) ' Control de fin de página If Cy > e.marginbounds.height Then PiePagina(Cy, e) e.hasmorepages = True Exit Sub End If End While End If Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Information, "Evento Print Page") End FinImpresion(Cy, e) e.hasmorepages = False La línea de detalle. En el procedimiento de impresión se recibe la variable Cy, que nos indicará la situación en vertical de la línea de detalle, en éste procedimiento se incrementa en el valor de la altura de la fuente utilizada. De este forma el número de líneas de detalle depende de la altura, o tamaño de la fuente no del número de líneas que se lleven impresas, que evidentemente también se puede usar. En el ejemplo se usa un objeto Pincel, por lo de dibujar, al cual se le asigna el color negro, pero también se puede hacer lo siguiente en la línea de impresión y no es necesario utilizar ningún objeto. e.graphics.drawstring(.item(0).tostring, Fuente, Brushes.Black, V(0).Cx, Cy) En el procedimiento se utiliza una línea para cada campo de impresión. Y cada campo de impresión será uno de los campos de la Select utilizada en la carga del Reader, es decir Reader.Item(0), Reader.Item(1).

16 Si que comentar, que mejor que Item(0), es utilizar Item( Exped ), ya que de esa forma, aunque cambiará el orden de los campos en la Select, no se alteraría el listado. Por lo tanto la línea de impresión quedaría, e.graphics.drawstring(.item( Exped ).ToString, Fuente, Pincel, V(0).Cx, Cy) e.graphics.drawstring(.item( Ape1 ).ToString, Fuente, Pincel, V(1).Cx, Cy) e.graphics.drawstring(.item( Ape2 ).ToString, Fuente, Pincel, V(2).Cx, Cy) e.graphics.drawstring(.item( Nombre ).ToString, Fuente, Pincel, V(3).Cx, Cy) e.graphics.drawstring(.item( Domic ).ToString, Fuente, Pincel, V(4).Cx, Cy) Y el procedimiento Private Sub LineaDet(ByVal e As System.Drawing.Printing.PrintPageEventArgs, _ ByRef Cy As Long, _ ByVal Reader As OleDb.OleDbDataReader, _ ByVal Fuente As Font, _ ByVal V() as CabecDetalle) Dim Pincel As New System.Drawing.SolidBrush(System.Drawing.Color.Black) With Reader e.graphics.drawstring(.item(0).tostring, Fuente, Pincel, V(0).Cx, Cy) e.graphics.drawstring(.item(1).tostring, Fuente, Pincel, V(1).Cx, Cy) e.graphics.drawstring(.item(2).tostring, Fuente, Pincel, V(2).Cx, Cy) e.graphics.drawstring(.item(3).tostring, Fuente, Pincel, V(3).Cx, Cy) e.graphics.drawstring(.item(4).tostring, Fuente, Pincel, V(4).Cx, Cy) End With Cy = Cy + Fuente.Height El final del listado. Private Sub Hoja_EndPrint(ByVal sender As Object, _ ByVal e As System.Drawing.Printing.PrintEventArgs) _ Handles Hoja.EndPrint Conexion.Close() Comando.Dispose() Reader.Close() Impresora como destino. Todo lo visto se usa igual, y hay que cambiar en el evento Clic del inicio del listado el objeto de destino PrintPreviewDialog por el de PrintDialog, pasando de A VistaPrevia.Document = Hoja PrinterDialogo.Document = Hoja Ya que es de esta forma como se asigna el destino del listado.

17 1.4.7 Con un DataTable como objeto de datos. Si usamos un DataTable como objeto para los datos, en el procedimiento de creación de los datos se ha de sustituir lo del DataReader por ' Asignación del comando al objeto adapter. Adaptador.SelectCommand = Comando Adaptador.Fill(Tabla) Por lo que ahora dispondremos de un DataTable y en el evento PrintPage quedaría como sigue. Private Sub Hoja_PrintPage( _ ByVal sender As Object, _ ByVal e As System.Drawing.Printing.PrintPageEventArgs) _ Handles Hoja.PrintPage ' ' Ejemplo con un DataTable ' Dim Cy As Long ' Coordenada vertical Dim Cabec As Boolean = True Dim Pie As Boolean = False Dim Fuente As Font Fuente = Est_Lin_Det ' Estilo línea de detalle If Posicion < Tabla.Rows.Count Then If Cabec Then If ContPag = 0 Then LineaIden(Cy, ContPag, e) ' Línea de identificación InicioImpresion(e) e.hasmorepages = True Exit Sub End If Cabeceras(Cy, e) Cabec = False End If While Tabla.Rows.Count > Posicion ' Línea de detalle LineaDet(e, Cy, Tabla, Fuente, Posicion) ' Incremento de posición en la Tabla Posicion = Posicion + 1 ' Control de fin de página If Cy > e.marginbounds.height Then PiePagina(Cy, e) e.hasmorepages = True Exit Sub End If End While End If Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Information, "Evento Print Page") End FinImpresion(Cy, e) e.hasmorepages = False La filosofía del procedimiento se mantiene igual, pero el origen es un DataTable. El bucle While se usa con una variable integer y con Count, también se podría haber utilizado un bucle For each, con un objeto DataRow.

18 1.5 Mantenimiento con Button de navegación. La labor de navegación se obtiene con un objeto BindingSource, ya que este objeto dispone de los métodos adecuados. Los objetos a utilizar en el programa son: Dim Conexion As New System.Data.OleDb.OleDbConnection Dim Adaptador As New System.Data.OleDb.OleDbDataAdapter Dim Tabla As New DataTable Dim EnlaceTabla As New BindingSource Dim Actualizador As New OleDb.OleDbCommandBuilder(Adaptador) Dim CadenaSql As String = "Select * From Provincia Order By CodProv" Dim Nuevo As Boolean = False Dim Actualizado As Boolean = True Además utilizamos TextBox para la visualización y Button para las acciones de navegación y mantenimiento. La apariencia del formulario es la que vemos en la imagen. Los campos los hemos enlazado Private Sub Enlaces() Campo00.DataBindings.Add("Text", EnlaceTabla, "CodProv") Campo01.DataBindings.Add("Text", EnlaceTabla, "DenomCas") Campo02.DataBindings.Add("Text", EnlaceTabla, "DenomVal") La carga de datos se realiza como sigue: Private Sub CargaDatos() If Conexion.State = ConnectionState.Closed Then Conexion.Open() Adaptador = New OleDb.OleDbDataAdapter(CadenaSql, Conexion) Adaptador.Fill(Tabla) EnlaceTabla.DataSource = Tabla Actualizador = New OleDb.OleDbCommandBuilder(Adaptador) Conexion.Close()

19 1.5.1 Punto de partida. Arrancamos del evento Load, y en él realizamos las siguientes tareas. Private Sub Mantenimiento_Load(ByVal sender As Object, _ ByVal e As System.EventArgs) _ Handles Me.Load ConfigConexion(Conexion) CargaDatos() Enlaces() Los eventos La captura de las acciones del usuario es como sigue: Private Sub Comando00_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) _ Handles Comando01.Click, _ Comando02.Click, _ Comando03.Click, _ Comando04.Click, _ Comando05.Click, _ Comando06.Click, _ Comando07.Click, _ Comando08.Click, _ Comando09.Click Dim Cual As Integer Cual = CInt(Strings.Right(CType(sender, Button).Name, 2)) Select Case Cual Case 1 ' cancelar EnlaceTabla.CancelEdit() Case 2 ' borrar EnlaceTabla.RemoveCurrent() Case 3 ' salida Salida() Case 4 ' primero EnlaceTabla.MoveFirst() Case 5 ' anterior EnlaceTabla.MovePrevious() Case 6 ' siguiente EnlaceTabla.MoveNext() Case 7 ' último EnlaceTabla.MoveLast() Case 8 ' nuevo EnlaceTabla.AddNew() Case 9 ' actualizar EnlaceTabla.EndEdit() Actualizar() Como se puede observar toda la labor de navegación se realiza en la captura de evento de los Button adecuados y con el uso de los métodos MoveXXXX. Hacer hincapié en el uso del EndEdit para su correcto funcionamiento a la hora de actualizar. EnlaceTabla.EndEdit() Actualizar()

20 Y del uso de Case 2 ' borrar EnlaceTabla.RemoveCurrent() Para el borrado del registro actual La actualización. Ejecutar el método Update del DataAdapter y emitir el mensaje adecuado. Private Sub Actualizar() Conexion.Open() Adaptador.Update(CType(EnlaceTabla.DataSource, DataTable)) MsgBox("Datos actualizados.", MsgBoxStyle.Information, Me.Text) Catch ex As OleDb.OleDbException MsgBox("Datos existentes", MsgBoxStyle.Critical, Me.Text) End Conexion.Close() Actualizado = True Tal como está generado el procedimiento, si al pulsar la opción de registro nuevo se coloca un código existente, se genera la excepción que se captura en el procedimiento. Si se coloca un código existente, no hay problema el procedimiento lo realiza correctamente. El borrado se realiza con el RemoveCurrent del Button adecuado La salida. Dada la condición de no grabar hasta que se pulse el botón de actualización en la salida se puede hacer lo siguiente. Private Sub Salida() ' Liberar recursos, en este orden, por el FormClosing Select Case Actualizado Case False Select Case MsgBox("Hay datos sin guardar," & vbcrlf & _ " desea guardarlos ahora.? ", _ MsgBoxStyle.YesNoCancel, Me.Text) Case MsgBoxResult.Yes Actualizar() Case MsgBoxResult.No Case MsgBoxResult.Cancel Exit Sub Me.Close() Me.Dispose() Me.Finalize() Actualizador.Dispose() EnlaceTabla.Dispose() Adaptador.Dispose() Conexion.Dispose() De esa forma se puede advertir al usuario de la situación en ese momento y grabar o continuar. Para ello es necesario que en el evento KeyPress figure: Private Sub Campo00_KeyPress( _ ByVal sender As Object, _

21 ByVal e As System.Windows.Forms.KeyPressEventArgs) _ Handles Campo00.KeyPress, _ Campo01.KeyPress, _ Campo02.KeyPress Actualizado = False 1.6 Leer las tablas de una base de datos. El ejemplo que sigue muestra como leer las tablas de una base de datos de Access, y dejarlas cargada en un ListBox. En el ListBox queda cargado el nombre de la tabla, con lo que en el momento de utilizarse se puede usar para cargar los campos de la tabla seleccionada. Se utiliza el procedimiento que sigue y la llamada a la función que figura a continuación. El procedimiento recorre con el bucle For each, la tabla obtenida en la función y la visualiza en el ListBox. Public Sub CargarListaTablasBaseDatos( _ ByVal Conexion As System.Data.OleDb.OleDbConnection, _ ByVal Adaptador As System.Data.OleDb.OleDbDataAdapter, _ ByRef Lista As ListBox) ' El paso inicial es obtener la lista de tablas disponibles ' luego se visualiza de modo predeterminado la primera ' tabla de la lista y ordenada por su primera columna Dim Tablas As DataTable Tablas = ObtenerTablasBaseDatos(Conexion) Lista.Items.Clear() For Each Row As DataRow In Tablas.Rows 'la tercera columna tiene el nombre de la tabla Lista.Items.Add(Row(2).ToString) Next Esta función es la que obtiene las tablas de la base de datos, utilizando el objeto Connection. Public Function ObtenerTablasBaseDatos( _ ByVal Conexion As System.Data.OleDb.OleDbConnection) _ As DataTable Dim EsquemaTabla As DataTable EsquemaTabla = _ Conexion.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, _ New Object() {Nothing, Nothing, Nothing, "TABLE"}) Return EsquemaTabla End Function 1.7 Leer los campos de una tabla. No tiene ningún misterio, solo se incorpora el contenido de la propiedad Text del ListBox a la cadena SQL que se envía como parámetro al procedimiento de Carga, que es muy similar, igual, al visto anteriormente en éste mismo tema, y se enlaza la tabla al DataGrid, incorporando las posibilidades de edición que se desee, y que en el ejemplo se basa en la configuración del Objeto BindingSource.

22 Private Sub Lista_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) _ Handles Lista.Click Dim CadenaSql as String = "Select * From " & Lista01.Text ' Esta línea realiza el enlace entre el DataGrid y la tabla ObjDataGrid.DataSource = Me.Enlace CargaDataGrid(Conexion, Adaptador, Enlace, ObjDataGrid,CadenaSQL) Edit.Checked = Enlace.AllowEdit Borrar.Checked = Enlace.AllowRemove Add.Checked = Enlace.AllowNew Con el contenido de estos dos apartados se puede confeccionar un programa que lea todas las tablas de la base de datos, y permita su edición. Para ello solo hace falta un DataGridView, para el contenido de la tabla seleccionada en cada momento y un ListBox para cargar las tablas de la base de datos. Después ya incorporar los Button y los objetos en función de la sofisticación que deseemos. 1.8 Las tablas provisionales. Muchas veces necesitamos por uno u otro motivo del uso de una tabla provisional de trabajo. El ejemplo que se expone sirve de apoyo a un DataGridView, para la visualización de los datos seleccionados por el usuario, y es capaz de controlar la duplicidad de un dato introducido por error dos veces La configuración. La tabla de trabajo la creamos a partir de una Select en la cual podemos o no cargar los datos que nos sean precisos para nuestro programa. CadenaSql = "Select Movimientos.TipTitulo as Tipo, " & _ "Movimientos.Titulo as Codigo, " & _ "Titulos.Titulo, " & _ "Titulos.PreVenta as Precio, " & _ "Movimientos.Cantidad " & _ "From Movimientos " & _ "Inner Join Titulos On " & _ "(Movimientos.TipTitulo = Titulos.TipPub) and & _ (Movimientos.Titulo = Titulos.Codigo) " & _ "Where Movimientos.Numero = '" & Campo01.Text & "';" Esta Select, es la que se utilizará para el llenado, o no, de la tabla. ' Crear un nuevo adaptador de datos Adaptador = New OleDb.OleDbDataAdapter(CadenaSql, Conexion) ' Llenar la tabla con los datos y enlazarza con el 'bindingsource' Adaptador.Fill(Tabla) Para el correcto funcionamiento y evitar el duplicado de datos en el DataGridView es necesario crear una clave principal. ' Se define la restricción CrearRestriccion(Tabla) Cuyo procedimiento es el que sigue:

23 Private Sub CrearRestriccion(ByVal Tabla As System.Data.DataTable) Dim ColPri(1) As DataColumn Dim Restriccion As UniqueConstraint ColPri(0) = Tabla.Columns("Tipo") ColPri(1) = Tabla.Columns("Codigo") Restriccion = New UniqueConstraint("Principal", ColPri, True) Tabla.Constraints.Add(Restriccion) Hay que enlazar la tabla y el DataGridView. ' Se enlaza el objeto ObjDataGrid.DataSource = Tabla ' EnlaceTabla ' EnlaceTabla.DataSource = Tabla De las dos formas funciona, pero es más lógico ObjDataGrid.DataSource = Tabla Queda configurar el DataGrid y asignar el ancho de columnas y alineación de las columnas.. Y el procedimiento queda como sigue: Private Sub CargaDataGrid() Dim CadenaSql As String ' Se deshace de los datos anteriores Tabla = New DataTable CadenaSql = "Select Movimientos.TipTitulo as Tipo, " & _ "Movimientos.Titulo as Codigo, " & _ "Titulos.Titulo, " & _ "Titulos.PreVenta as Precio, " & _ "Movimientos.Cantidad " & _ "From Movimientos " & _ "Inner Join Titulos On " & _ "(Movimientos.TipTitulo = Titulos.TipPub) and & _ (Movimientos.Titulo = Titulos.Codigo) " & _ "Where Movimientos.Numero = '" & Campo01.Text & "';" ' Crear un nuevo adaptador de datos Adaptador = New OleDb.OleDbDataAdapter(CadenaSql, Conexion) ' Llenar la tabla con los datos y enlazarla con el 'bindingsource' Adaptador.Fill(Tabla) ' Se define la restricción CrearRestriccion(Tabla) ' Se enlaza el objeto ObjDataGrid.DataSource = Tabla ' EnlaceTabla ' EnlaceTabla.DataSource = Tabla ConfigDataGrid(Me, ObjDataGrid, False) Catch ex As OleDb.OleDbException MsgBox(ex.Message, MsgBoxStyle.Information) End

24 1.8.2 Llenado de la tabla. Finalizada la parte de configuración ahora queda llenar la tabla. Para ello se genera un objeto DataRow, el cual al utilizar el método NewRow, queda cargado con la estructura de la tabla provisional, que sale de la Select, y solo queda cargarlo con datos. Registro.Item("Tipo") = Titulo.Tipo.ToString Para luego añadirlo a la tabla. Tabla.Rows.Add(Registro) Y si hubiera duplicidad se captura el error en la instrucción Catch. Por lo que el procedimiento queda: Private Sub AnyadirTitulos() Dim Registro As DataRow = Tabla.NewRow Dim Titulo As ItemLista = CType(Lista.SelectedItem, ItemLista) Dim RegTit As System.Data.DataRow Registro.Item("Tipo") = Titulo.Tipo.ToString Registro.Item("Codigo") = Titulo.Codigo.ToString Registro.Item("Titulo") = Titulo.ToString Registro.Item("Cantidad") = "0" Registro.Item("Precio") = Titulo.Precio Tabla.Rows.Add(Registro) Catch ex As ConstraintException MsgBox("Título existente", MsgBoxStyle.Critical, NomProgram) End Lectura de la tabla. Como el objeto Datagrid es un reflejo del contenido de la tabla, podemos tratar cualquiera de los dos objetos mediante un bucle por el sistema que deseemos, con un contador y usando Count, While X < ObjDataGrid.RowCount And Not Error Fila = ObjDataGrid.Rows.Item(X) While X < ObjDataSet.Tables("TablaGrid").Rows.Count And Not Error Registro = ObjDataSet.Tables("TablaGrid").Rows(X) ActualizarStock(Registro) GrabarMovim(Conexion, _ Comando, _ Fec, _ Clientes.Codigo.ToString, _ Clientes.Codig2.ToString, _ Fila.Cells.Item("Tipo").FormattedValue.ToString, _ Fila.Cells.Item("Codigo").FormattedValue.ToString, _ Fila.Cells.Item("Cantidad").FormattedValue.ToString, _ Format(CInt(Campo01.Text), "0000"), _ Error) o con un objeto del tipo DataRow, o DataGridViewRow y el bucle del tipo For Each in Objeto.

1. Bases de datos desde VB.Net 1.1 Introducción. Desde Vb Net 2005 se puede acceder a las siguientes bases de datos, utilizando las clases adecuadas.

1. Bases de datos desde VB.Net 1.1 Introducción. Desde Vb Net 2005 se puede acceder a las siguientes bases de datos, utilizando las clases adecuadas. 1. Bases de datos desde VB.Net 1.1 Introducción. Desde Vb Net 2005 se puede acceder a las siguientes bases de datos, utilizando las clases adecuadas. Oracle SQL Server Access Las que se puedan acceder

Más detalles

El que dirige la impresión PrintDocument y el resto los que recogen los resultados, por lo tanto: Como receptor para la impresora

El que dirige la impresión PrintDocument y el resto los que recogen los resultados, por lo tanto: Como receptor para la impresora 1. Impresión. 1.1 Introducción. Vamos a ver la impresión desde el entorno de programación, no vamos a ver Crystal Report. La conclusión después de lo visto con ésta versión de VB Studio Net 2005 es que

Más detalles

Public Sub ConfigDataGrid(ByVal Formulario As Form, _ ByRef ObjDataGrid As DataGridView, _ ByVal Estado As Boolean)

Public Sub ConfigDataGrid(ByVal Formulario As Form, _ ByRef ObjDataGrid As DataGridView, _ ByVal Estado As Boolean) 1. Visualización. 1.1 Introducción. Objetos de visualización pueden ser cualquiera que nosotros queramos utilizar. Pero aquellos más habituales en el enlace con las Bases de datos podían ser DataGridView

Más detalles

Bases de Datos en VB.Net. El control Datagrid, Relaciones y Vistas.1

Bases de Datos en VB.Net. El control Datagrid, Relaciones y Vistas.1 Bases de Datos en VB.Net. El control Datagrid, Relaciones y Vistas.1 (cc) 2007 Justo Sáez Arenas http://vb.jsaez.com/ Contenidos: 1. Introducción... 1 2. DataGrid... 2 Creación de un DataGrid a través

Más detalles

Operación Microsoft Access 97

Operación Microsoft Access 97 Trabajar con Controles Características de los controles Un control es un objeto gráfico, como por ejemplo un cuadro de texto, un botón de comando o un rectángulo que se coloca en un formulario o informe

Más detalles

MS ACCESS BÁSICO 6 LOS INFORMES

MS ACCESS BÁSICO 6 LOS INFORMES 2010 MS ACCESS BÁSICO 6 LOS INFORMES 93 LOS INFORMES Los informes son una herramienta de Access para elaborar información, sobre los datos que deseemos, preparada para ser impresa. A partir de una base

Más detalles

Enviar Felicitación Navideña por Email con Off. 2007

Enviar Felicitación Navideña por Email con Off. 2007 Enviar Felicitación Navideña por Email con Off. 2007 Hola Amigos, hoy vamos a ver un ejercicio de Excel que nos permitirá hacer un Envío de correo electrónico, para enviar nuestra felicitación de Navidad

Más detalles

El e-commerce de Grupo JAB es una herramienta que permite a los clientes del Grupo, realizar un amplio conjunto de servicios de consulta, petición y

El e-commerce de Grupo JAB es una herramienta que permite a los clientes del Grupo, realizar un amplio conjunto de servicios de consulta, petición y El de Grupo JAB es una herramienta que permite a los clientes del Grupo, realizar un amplio conjunto de servicios de consulta, petición y compra en los diversos almacenes del Grupo JAB. En concreto podremos:

Más detalles

Imprimir códigos de barras

Imprimir códigos de barras Imprimir códigos de barras Al igual que en Abies 1, podemos definir el papel de etiquetas que vamos a utilizar. Se nos dan tres tipos de etiquetas ya creadas, que podemos modificar o eliminar, para lo

Más detalles

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie.

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie. Adaptación al NPGC Introducción Nexus 620, ya recoge el Nuevo Plan General Contable, que entrará en vigor el 1 de Enero de 2008. Este documento mostrará que debemos hacer a partir de esa fecha, según nuestra

Más detalles

GUIA APLICACIÓN DE SOLICITUDES POR INTERNET. Gestión de Cursos, Certificados de Aptitud Profesional y Tarjetas de Cualificación de Conductores ÍNDICE

GUIA APLICACIÓN DE SOLICITUDES POR INTERNET. Gestión de Cursos, Certificados de Aptitud Profesional y Tarjetas de Cualificación de Conductores ÍNDICE ÍNDICE ACCESO A LA APLICACIÓN... 2 1.- HOMOLOGACIÓN DE CURSOS... 4 1.1.- INICIAR EXPEDIENTE... 4 1.2.- CONSULTA DE EXPEDIENTES... 13 1.3.- RENUNCIA A LA HOMOLOGACIÓN... 16 2.- MECÁNICA DE CURSOS... 19

Más detalles

INSTALACIÓN DE MEDPRO

INSTALACIÓN DE MEDPRO 1 Estimado Cliente: Uno de los objetivos que nos hemos marcado con nuestra nueva plataforma de gestión, es que un cliente pueda instalar MedPro y realizar su puesta en marcha de forma autónoma. Siga paso

Más detalles

MACROS Y FORMULARIOS

MACROS Y FORMULARIOS MACROS Y FORMULARIOS Para poder realizar formularios en Excel es necesario ubicar el menú programador Qué hacer si no aparece el menú programador? En algunos equipos no aparece este menú, por lo que es

Más detalles

Manual CMS Mobincube

Manual CMS Mobincube Manual CMS Mobincube CMS Mobincube Qué es? El CMS (Sistema de Gestión de Contenidos) es un completo website que permite la creación y actualización de contenido remoto. De esta forma, una vez creada una

Más detalles

Conectar Flash con Access usando MDM Zinc

Conectar Flash con Access usando MDM Zinc Conectar Flash con Access usando MDM Zinc Con este tutorial pretendo enseñar la conexión básica entre Flash / Actionscript y Microsoft Access mediante MDM Zinc, para poder empezar a crear aplicaciones

Más detalles

19 4.1.1.0 4 04/05/2009

19 4.1.1.0 4 04/05/2009 Soluciones Informáticas Descripción: Como utilizar la Agenda de Visitas Objetivos: Al finalizar este tutorial el usuario será capaz de utilizar la Agenda de Visitas con sus diferentes opciones: asignar

Más detalles

UNIVERSIDAD LIBRE DE COLOMBIA FACULTAD INGENIERIA DE SISTEMAS ELECTIVA TECNICA II.NET Y SQL SERVER

UNIVERSIDAD LIBRE DE COLOMBIA FACULTAD INGENIERIA DE SISTEMAS ELECTIVA TECNICA II.NET Y SQL SERVER UNIVERSIDAD LIBRE DE COLOMBIA FACULTAD INGENIERIA DE SISTEMAS ELECTIVA TECNICA II.NET Y SQL SERVER La presente guía los ayudará a complementar el trabajo que han venido desarrollando sobre la base de datos

Más detalles

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL OBJETIVO Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante para utilizar formulas en Microsoft Excel 2010. 1) DEFINICIÓN Una fórmula de Excel es un código especial que introducimos

Más detalles

SICAE S.L.L. Almansa nº 4.28224.Pozuelo de Alarcón (Madrid). www.sicae.es. 91 799 07 66.Manual general de C. de Inventario/Ordenador V.1 Pag.

SICAE S.L.L. Almansa nº 4.28224.Pozuelo de Alarcón (Madrid). www.sicae.es. 91 799 07 66.Manual general de C. de Inventario/Ordenador V.1 Pag. SICAE S.L.L. Almansa nº 4.28224.Pozuelo de Alarcón (Madrid). www.sicae.es. 91 799 07 66.Manual general de C. de Inventario/Ordenador V.1 Pag. 1 INDICE Entrada y Menú principal.... 2 Configuración de la

Más detalles

A25. Informática aplicada a la gestión Curso 2005/2006 Word Tema 3. Formato de sección.

A25. Informática aplicada a la gestión Curso 2005/2006 Word Tema 3. Formato de sección. DEPARTAMENTO DE LENGUAJES Y SISTEMAS INFORMÁTICOS ESCUELA SUPERIOR DE TECNOLOGÍA Y CIENCIAS EXPERIMENTALES A.D.E.M. Segundo Curso A25. Informática aplicada a la gestión Curso 2005/2006 Word Tema 3. Formato

Más detalles

1.- MENU DE CONTROL O MENU VENTANA: permite cerrar la ventana cambiarla de tamaño y pasar a otra ventana

1.- MENU DE CONTROL O MENU VENTANA: permite cerrar la ventana cambiarla de tamaño y pasar a otra ventana EXCEL PRÓLOGO Microsoft Excel es una hoja de cálculo de gran capacidad y fácil uso. Excel no solo es una hoja de calculo, sino también tiene capacidad para diseñar bases de datos (listas) de forma totalmente

Más detalles

... Formas alternativas de escribir un texto. Columnas. anfora CAPÍTULO 4

... Formas alternativas de escribir un texto. Columnas. anfora CAPÍTULO 4 CAPÍTULO 4. Formas alternativas de escribir un texto........ Columnas Para fijar columnas se posiciona el Punto de Inserción donde se desee que comiencen las columnas, o bien se selecciona el texto que

Más detalles

Con esta nueva versión, si un artículo que está incluido dentro de un Paquete de Ventas tiene precio 0,00, significará gratis.

Con esta nueva versión, si un artículo que está incluido dentro de un Paquete de Ventas tiene precio 0,00, significará gratis. NOVEDADES Y MEJORAS Continuando con nuestra política de mejora, innovación y desarrollo, le presentamos la nueva versión 9.50 de datahotel que se enriquece con nuevas funcionalidades que aportan soluciones

Más detalles

Práctica GESTIÓN Y UTILIZACIÓN DE REDES LOCALES. Curso 2001/2002. TCP/IP: protocolo TCP

Práctica GESTIÓN Y UTILIZACIÓN DE REDES LOCALES. Curso 2001/2002. TCP/IP: protocolo TCP Práctica 9 GESTIÓN Y UTILIZACIÓN DE REDES LOCALES Curso 2001/2002 TCP/IP: protocolo TCP Introducción Como se ha comentado en la práctica anterior, el protocolo UDP es muy sencillo de implementar, pero

Más detalles

Informes. 3. Elija la opción Nuevo (en la parte superior de la ventana) 4. Elija Autoinformes: en tablas y luego la tabla o consulta que se usará.

Informes. 3. Elija la opción Nuevo (en la parte superior de la ventana) 4. Elija Autoinformes: en tablas y luego la tabla o consulta que se usará. Informes Se pueden imprimir fácilmente los registros en una tabla o el resultado de un filtro simplemente usando el botón de Impresora de la barra de herramientas, o la opción Archivo / Imprimir. Sin embargo,

Más detalles

Centro de Profesorado Luisa Revuelta (Córdoba) TEMA 6 TABLAS Y GRÁFICOS EN IMPRESS

Centro de Profesorado Luisa Revuelta (Córdoba) TEMA 6 TABLAS Y GRÁFICOS EN IMPRESS Centro de Profesorado Luisa Revuelta (Córdoba) TEMA 6 TABLAS Y GRÁFICOS EN IMPRESS Antes que nada tenemos que hablar de la distinción entre tabla y hoja de cálculo. Una tabla es una estructura formada

Más detalles

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda: Apuntes de ACCESS Campos de Búsqueda: Los campos de búsqueda permiten seleccionar el valor de un campo de una lista desplegable en lugar de tener que escribirlos. El usuario sólo tiene que elegir un valor

Más detalles

Aplicateca. Manual de Usuario: Ilion Factura Electrónica. Espíritu de Servicio

Aplicateca. Manual de Usuario: Ilion Factura Electrónica. Espíritu de Servicio Aplicateca Manual de Usuario: Ilion Factura Electrónica Espíritu de Servicio Índice 1 Introducción... 4 1.1 Qué es Ilion Factura electrónica?... 4 1.2 Requisitos del sistema... 4 1.3 Configuración del

Más detalles

TARIFAS DE VENTA Y DESCUENTOS

TARIFAS DE VENTA Y DESCUENTOS Manual del módulo TRAZABILIDAD EUROWIN 8.0 SQL TARIFAS DE VENTA Y DESCUENTOS 1 Documento: docew_tarifasventa Edición: 03 Nombre: Tarifas de venta y descuentos Fecha: 06-05-2009 Índice 1. Introducción...

Más detalles

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO Fecha última revisión: Junio 2011 INDICE DE CONTENIDOS HERRAMIENTA DE APROVISIONAMIENTO... 3 1. QUÉ ES LA HERRAMIENTA DE APROVISIONAMIENTO... 3 HERRAMIENTA

Más detalles

Acceso a Datos. Visual Basic.NET 2005

Acceso a Datos. Visual Basic.NET 2005 Acceso a Datos Visual Basic.NET 2005 Capítulo I Acceso a datos Lectura de datos Inserción Actualización Eliminación Acceso a datos En este capítulo realizaremos una conexión, lectura, inserción, actualización

Más detalles

Manual SBR. Pero antes de explicar las actividades que principalmente podemos desarrollar vamos a dar una visión global de la aplicación.

Manual SBR. Pero antes de explicar las actividades que principalmente podemos desarrollar vamos a dar una visión global de la aplicación. Manual SBR Este proyecto consta de una herramienta denominada SBR mediante la cual el usuario podrá realizar principalmente las siguientes actividades: Crear un nuevo dominio. Modificar el dominio existente.

Más detalles

Optimizar base de datos WordPress

Optimizar base de datos WordPress Optimizar base de datos WordPress Cardenal Gardoki, 1 48008 BILBAO (Vizcaya) Teléfono: 902 012 199 www.hostalia.com WordPress se ha convertido en uno de los CMS más utilizados en todo el mundo. Su robustez,

Más detalles

SOLUCIÓN CASO GESTIÓN DE PERSONAL I

SOLUCIÓN CASO GESTIÓN DE PERSONAL I SOLUCIÓN CASO GESTIÓN DE PERSONAL I Empezaremos abriendo un nuevo libro de trabajo que podemos guardar como Nóminas e introducimos los datos que nos proporciona el enunciado relativos a coste por hora

Más detalles

GENERACIÓN DE TRANSFERENCIAS

GENERACIÓN DE TRANSFERENCIAS GENERACIÓN DE TRANSFERENCIAS 1 INFORMACIÓN BÁSICA La aplicación de generación de ficheros de transferencias permite generar fácilmente órdenes para que la Caja efectúe transferencias, creando una base

Más detalles

Kaldeera Advanced Forms 2009 Guía del usuario

Kaldeera Advanced Forms 2009 Guía del usuario Kaldeera Advanced Forms 2009 Guía del usuario Indice Usando Kaldeera Advanced Forms 2009... 3 Accediendo a la página de configuración... 3 Activando o desactivando la funcionalidad de Kaldeera Advanced

Más detalles

Programa diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L.

Programa diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L. Manual de Usuario Programa diseñado y creado por Contenido 1. Acceso al programa... 3 2. Opciones del programa... 3 3. Inicio... 4 4. Empresa... 4 4.2. Impuestos... 5 4.3. Series de facturación... 5 4.4.

Más detalles

Versión 2.01. Página 2 de 29

Versión 2.01. Página 2 de 29 Versión 2.01 Página 2 de 29 Índice Instalación del dispositivo... 4 Protección de CashDro... 4 Configuración de CashDro... 5 Monedas / billetes... 6 Billetes... 6 Monedas... 6 Alertas... 7 Más Opciones...

Más detalles

Día 2: Utilizando controles de datos en Visual Studio 2008.

Día 2: Utilizando controles de datos en Visual Studio 2008. Día 2: Utilizando controles de datos en Visual Studio 2008. Requerimientos de este laboratorio: Base de datos creada en el laboratorio 1 en SQL SERVER. Visual Studio 2008 *Nota: Si usted cuenta con el

Más detalles

MICROSOFT WORD 2007 AVANZADO. Unidad Didáctica Nº 1

MICROSOFT WORD 2007 AVANZADO. Unidad Didáctica Nº 1 MICROSOFT WORD 2007 AVANZADO Unidad Didáctica Nº 1 I Tablas A) Explicación conceptual y de uso de una tabla B) Creación de tablas C) Trabajo con tablas D) Formato de las tablas Ejercicio de Repaso Portal

Más detalles

Notas para la instalación de un lector de tarjetas inteligentes.

Notas para la instalación de un lector de tarjetas inteligentes. Notas para la instalación de un lector de tarjetas inteligentes. Índice 0. Obtención de todo lo necesario para la instalación. 3 1. Comprobación del estado del servicio Tarjeta inteligente. 4 2. Instalación

Más detalles

GENERACIÓN DE ANTICIPOS DE CRÉDITO

GENERACIÓN DE ANTICIPOS DE CRÉDITO GENERACIÓN DE ANTICIPOS DE CRÉDITO 1 INFORMACIÓN BÁSICA La aplicación de generación de ficheros de anticipos de crédito permite generar fácilmente órdenes para que la Caja anticipe el cobro de créditos

Más detalles

Bibliotecas Escolares. Perfil de Lector.

Bibliotecas Escolares. Perfil de Lector. Bibliotecas Escolares. Perfil de Lector. 2012 Como usuario Lector de AbiesWeb, podrás acceder al catálogo de fondos, solicitar reservas, ver tus préstamos activos, ver el historial de tus lecturas, escribir

Más detalles

2_trabajar con calc I

2_trabajar con calc I Al igual que en las Tablas vistas en el procesador de texto, la interseccción de una columna y una fila se denomina Celda. Dentro de una celda, podemos encontrar diferentes tipos de datos: textos, números,

Más detalles

Formularios. Formularios Diapositiva 1

Formularios. Formularios Diapositiva 1 Formularios Crear un formulario utilizando el Asistente para formularios Modificación en vista Diseño Adición de Controles a un Formulario Adición de un Subformulario a un formulario Formularios Diapositiva

Más detalles

Microsoft Access proporciona dos métodos para crear una Base de datos.

Microsoft Access proporciona dos métodos para crear una Base de datos. Operaciones básicas con Base de datos Crear una Base de datos Microsoft Access proporciona dos métodos para crear una Base de datos. Se puede crear una base de datos en blanco y agregarle más tarde las

Más detalles

BASES DE DATOS EN VISUAL BASIC ACCESS + SQL

BASES DE DATOS EN VISUAL BASIC ACCESS + SQL BASES DE DATOS EN VISUAL BASIC ACCESS + SQL by Damián Sottosanti Ultima actualización: 03-08-2004 CREAMOS LA BASE DE DATOS EN ACCESS Abrimos Access y elegimos "Crear una nueva base de datos usando" "Base

Más detalles

PUESTA EN MARCHA PROGRAMA GESTION DE OPTICAS. Junio - 2004

PUESTA EN MARCHA PROGRAMA GESTION DE OPTICAS. Junio - 2004 PUESTA EN MARCHA PROGRAMA GESTION DE OPTICAS Junio - 2004 pmqsoft Servicios Informáticos, S.L. www.pmqsoft.com soporte@pmqsoft.com Entendiendo que la instalación ha finalizado y que todo ha salido correctamente.

Más detalles

Proyecto de Facturación con Filemaker Pro 12

Proyecto de Facturación con Filemaker Pro 12 Proyecto de Facturación con Filemaker Pro 12 Autor: Pere Manel Verdugo Zamora Web: http://www.peremanelv.com/pere3/sitio_web_2/bienvenida.html E- Mail: pereverdugo@gmail.com Autor: Pere Manel Verdugo Zamora

Más detalles

STRATO LivePages Inicio rápido

STRATO LivePages Inicio rápido STRATO LivePages Inicio rápido LivePages es la práctica herramienta de creación de páginas web de STRATO. En pocos pasos podrá crear su propia página web y publicarla en Internet sin necesidad de conocimientos

Más detalles

Módulo mod_banners para insertar y visualizar anuncios o publicidad (banners) en Joomla. Contador. (CU00446A)

Módulo mod_banners para insertar y visualizar anuncios o publicidad (banners) en Joomla. Contador. (CU00446A) aprenderaprogramar.com Módulo mod_banners para insertar y visualizar anuncios o publicidad (banners) en Joomla. Contador. (CU00446A) Sección: Cursos Categoría: Curso creación y administración web: Joomla

Más detalles

MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA. Perfil Entidad Proveedora

MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA. Perfil Entidad Proveedora MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA Perfil Entidad Proveedora El objetivo del módulo de Gestión de Solicitudes vía Internet es facilitar el trabajo

Más detalles

ÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009)

ÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009) JOOMLA! ÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009) Es necesario comentar que este manual ha sido diseñado en su mayor parte por comunidadjoomla.org. Este manual es una

Más detalles

Resolver triángulos en Visual Basic. Parte 3/3

Resolver triángulos en Visual Basic. Parte 3/3 Artículo Revista digital Matemática, Educación e Internet (www.cidse.itcr.ac.cr/revistamate/). Vol. 3, N o 1. Agosto Diciembre 2002. Resolver triángulos en Visual Basic. Parte 3/3 Introducción Luis Acuña

Más detalles

Bases de Datos en VB.Net

Bases de Datos en VB.Net Bases de Datos en VB.Net 2007 Justo Sáez Arenas http://vb.jsaez.com/ Contenidos: Introducción... 2 Herramientas visuales... 2 Conexión... 2 Adaptador de Datos...3 Conjunto de Datos...3 Enlazado de Controles

Más detalles

Ministerio de Educación. Base de datos en la Enseñanza. Open Office. Módulo 5: Report Builder

Ministerio de Educación. Base de datos en la Enseñanza. Open Office. Módulo 5: Report Builder Ministerio de Educación Base de datos en la Enseñanza. Open Office Módulo 5: Report Builder Instituto de Tecnologías Educativas 2011 Informes con Oracle Report Builder En su configuración original, OpenOffice

Más detalles

Guía rápida de la Oficina Virtual (Solicit@V5) Área Web y Administración Electrónica

Guía rápida de la Oficina Virtual (Solicit@V5) Área Web y Administración Electrónica Guía rápida de la Oficina Virtual (Solicit@V5) Área Web y Administración Electrónica HOJA DE CONTROL Título Nombre del Fichero Autores Guía rápida de la Oficina Virtual (Solicit@V5) UHU_GuiaRapidaSolicita_V5.pdf

Más detalles

Ejemplos de conversión de reales a enteros

Ejemplos de conversión de reales a enteros Ejemplos de conversión de reales a enteros Con el siguiente programa se pueden apreciar las diferencias entre las cuatro funciones para convertir de reales a enteros: program convertir_real_a_entero print

Más detalles

13.1. Tablas dinámicas de Excel

13.1. Tablas dinámicas de Excel 13.1. Tablas dinámicas de Excel Una tabla dinámica consiste en el resumen de un conjunto de datos, atendiendo a varios criterios de agrupación, representado como una tabla de doble entrada que nos facilita

Más detalles

Programación Gambas 3 Prof: Mileti, P. Acceso a base de datos SQLite desde Gambas 3.

Programación Gambas 3 Prof: Mileti, P. Acceso a base de datos SQLite desde Gambas 3. Acceso a base de datos SQLite desde Gambas 3. Si deseamos realizar una pequeña aplicación en Gambas que trabaje con una base de datos local (alojada en el mismo disco rígido que nuestra aplicación), la

Más detalles

MANUAL DE USO PROGRAMA DE GESTIÓN AGENCIAS DE VIAJES

MANUAL DE USO PROGRAMA DE GESTIÓN AGENCIAS DE VIAJES MANUAL DE USO PROGRAMA DE GESTIÓN AGENCIAS DE VIAJES Estructura general... 2 Pantalla General de Reservas... 3 Alta de una reserva Pantalla de un expediente... 5 Manejo de Documentos... 7 Ejemplo de un

Más detalles

SISTEMA DE APARTADO DE SALAS PARA EVENTOS

SISTEMA DE APARTADO DE SALAS PARA EVENTOS SISTEMA DE APARTADO DE SALAS PARA EVENTOS Dirección General de Comunicaciones e Informática Febrero 2008 1 INDICE 1. Objetivos del Sistema... 3 10. Solución de problemas... 23 2. Introducción... 4 3. Requisitos...

Más detalles

MANUAL DE PRACTICUM12 PARA CENTROS EDUCATIVOS ÁMBITO MÁSTER

MANUAL DE PRACTICUM12 PARA CENTROS EDUCATIVOS ÁMBITO MÁSTER MANUAL DE PRACTICUM12 PARA CENTROS EDUCATIVOS ÁMBITO MÁSTER Centros educativos de la Comunidad de Madrid que deseen ser centros de prácticas de los alumnos del Máster en Profesorado de ESO y Bachillerato,

Más detalles

La ventana de Microsoft Excel

La ventana de Microsoft Excel Actividad N 1 Conceptos básicos de Planilla de Cálculo La ventana del Microsoft Excel y sus partes. Movimiento del cursor. Tipos de datos. Metodología de trabajo con planillas. La ventana de Microsoft

Más detalles

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS ARCHIVOS ANEXOS Son los documentos, hojas de cálculo o cualquier archivo que se anexa a las carpetas, subcarpetas, hallazgos u otros formularios de papeles de trabajo. Estos archivos constituyen la evidencia

Más detalles

GVisualPDA Módulo de Almacén

GVisualPDA Módulo de Almacén GVisualPDA Módulo de Almacén GVisualPDA es una aplicación para Windows Mobile 5/6 que amplía más aún las posibilidades de integración del software de gestión GVisualRec permitiendo estar conectados en

Más detalles

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto INFORMÁTICA INFORMÁTICA 1 Sesión No. 4 Nombre: Procesador de Texto Contextualización La semana anterior revisamos los comandos que ofrece Word para el formato del texto, la configuración de la página,

Más detalles

TUTORIAL DESARROLLO DE APLICACIONES PARA EVOLUTION CON MS ACCESS

TUTORIAL DESARROLLO DE APLICACIONES PARA EVOLUTION CON MS ACCESS TUTORIAL DESARROLLO DE APLICACIONES PARA EVOLUTION CON MS ACCESS 1 Introducción... 3 2 Despliegue de la aplicación de ejemplo... 3 2.1 Requisitos previos... 3 2.2 Despliegue de la aplicación... 3 3 Prueba

Más detalles

Qué es y para qué sirve Excel2007?

Qué es y para qué sirve Excel2007? Excel es un programa del tipo Hoja de Cálculo que permite realizar operaciones con números organizados en una cuadrícula. Es útil para realizar desde simples sumas hasta cálculos de préstamos hipotecarios.

Más detalles

Roberto Quejido Cañamero

Roberto Quejido Cañamero Crear un documento de texto con todas las preguntas y respuestas del tema. Tiene que aparecer en él todos los contenidos del tema. 1. Explica qué son los modos de presentación en Writer, cuáles hay y cómo

Más detalles

Herramientas CONTENIDOS. MiAulario

Herramientas CONTENIDOS. MiAulario Herramientas CONTENIDOS MiAulario CONTENIDOS Qué es Contenidos Ver un ejemplo Añadir la herramienta al sitio Añadir contenido en la página Páginas principales / subpáginas Criterios de visibilidad Configuración

Más detalles

15 CORREO WEB CORREO WEB

15 CORREO WEB CORREO WEB CORREO WEB Anteriormente Hemos visto cómo funciona el correo electrónico, y cómo necesitábamos tener un programa cliente (Outlook Express) para gestionar los mensajes de correo electrónico. Sin embargo,

Más detalles

POWER POINT. Iniciar PowerPoint

POWER POINT. Iniciar PowerPoint POWER POINT Power Point es la herramienta de Microsoft Office para crear presentaciones que permiten comunicar información e ideas de forma visual y atractiva. Iniciar PowerPoint Coloque el cursor y dé

Más detalles

Ministerio de Educación. Diseño de Presentaciones en la Enseñanza. Módulo 9: Imprimir

Ministerio de Educación. Diseño de Presentaciones en la Enseñanza. Módulo 9: Imprimir Ministerio de Educación Diseño de Presentaciones en la Enseñanza Módulo 9: Imprimir Instituto de Tecnologías Educativas 2011 Diseño de Presentaciones en la Enseñanza (OpenOffice) Imprimir Imprimir una

Más detalles

Combinar correspondencia (I)

Combinar correspondencia (I) Combinar correspondencia (I) Mediante la opción Combinar correspondencia Word2007 nos permite incluir en un documento, datos almacenados en otro sitio. De esta forma podremos obtener copias de un mismo

Más detalles

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD Fecha última revisión: Diciembre 2010 Tareas Programadas TAREAS PROGRAMADAS... 3 LAS TAREAS PROGRAMADAS EN GOTELGEST.NET... 4 A) DAR DE ALTA UN USUARIO...

Más detalles

Tipo albarán ENVIO. Tipo albarán DEVOLUCIÓN. Asociación Factura - Albarán ANULACION DE FACTURA FACTURA ANULADA

Tipo albarán ENVIO. Tipo albarán DEVOLUCIÓN. Asociación Factura - Albarán ANULACION DE FACTURA FACTURA ANULADA INDICE: 1- Facturación 2- Selección de albaranes para facturación 3- Impresión de facturas 4- Albarán facturado 5- Anulación de facturas 6- Diario de facturas emitidas 7- Resumen de unidades facturadas

Más detalles

Prerrequisitos El alumno debe conocer y dominar los aspectos básicos de programación.

Prerrequisitos El alumno debe conocer y dominar los aspectos básicos de programación. Objetivo El objetivo de la práctica es que el alumno aprenda a desarrollar de programas orientados a objetos en Visual Basic.NET. Aprender el entorno de programación Visual Basic.NET Obligatoriedad La

Más detalles

Ejercicio de Microsoft Access

Ejercicio de Microsoft Access Práctica 1. Creación de una Base de Datos y diseño de varias tablas. 1) Crear una nueva Base de Datos. Llamarla CURSACC01.MDB 2) Crear una tabla nueva para registrar la información de fichas de Clientes.

Más detalles

LAS CONSULTAS ACCESS 2007. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

LAS CONSULTAS ACCESS 2007. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE LAS CONSULTAS ACCESS 2007 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE LAS CONSULTAS En esta unidad veremos cómo crear consultas y manejarlas para la edición de registros de tablas

Más detalles

BASES DE DATOS - Microsoft ACCESS 2007-

BASES DE DATOS - Microsoft ACCESS 2007- BASES DE DATOS - Microsoft ACCESS 2007- Una base de datos es un archivo estructurado de datos que nos permite almacenarlos, modificarlos, ordenarlos, generar informes etc., de manera rápida. Un listín

Más detalles

En términos generales, un foro es un espacio de debate donde pueden expresarse ideas o comentarios sobre uno o varios temas.

En términos generales, un foro es un espacio de debate donde pueden expresarse ideas o comentarios sobre uno o varios temas. 1 de 18 Inicio Qué es un foro En términos generales, un foro es un espacio de debate donde pueden expresarse ideas o comentarios sobre uno o varios temas. En el campus virtual, el foro es una herramienta

Más detalles

Operación de Microsoft Excel

Operación de Microsoft Excel Representación gráfica de datos Generalidades Excel puede crear gráficos a partir de datos previamente seleccionados en una hoja de cálculo. El usuario puede incrustar un gráfico en una hoja de cálculo,

Más detalles

H E R R A M I E N T A S D E A N Á L I S I S D E D A T O S HERRAMIENTAS DE ANÁLISIS DE DATOS

H E R R A M I E N T A S D E A N Á L I S I S D E D A T O S HERRAMIENTAS DE ANÁLISIS DE DATOS H E R R A M I E N T A S D E A N Á L I S I S D E D A T O S HERRAMIENTAS DE ANÁLISIS DE DATOS Una situación que se nos plantea algunas veces es la de resolver un problema hacia atrás, esto es, encontrar

Más detalles

LEY CONTRA EL DELITO DE LAVADO DE DINERO O ACTIVOS. CIRCULAR CNBS No. XXXX. CAPTURADOR Lavado de Activos v5.0

LEY CONTRA EL DELITO DE LAVADO DE DINERO O ACTIVOS. CIRCULAR CNBS No. XXXX. CAPTURADOR Lavado de Activos v5.0 LEY CONTRA EL DELITO DE LAVADO DE DINERO O ACTIVOS CIRCULAR CNBS No. XXXX CAPTURADOR Lavado de Activos v5.0 COMISION NACIONAL DE BANCOS Y SEGUROS HONDURAS C. A. ( WWW.CNBS.GOV.HN ) #$#%&& &&'#& '# El Sistema

Más detalles

WINDOWS 2008 7: COPIAS DE SEGURIDAD

WINDOWS 2008 7: COPIAS DE SEGURIDAD 1.- INTRODUCCION: WINDOWS 2008 7: COPIAS DE SEGURIDAD Las copias de seguridad son un elemento fundamental para que el trabajo que realizamos se pueda proteger de aquellos problemas o desastres que pueden

Más detalles

MANUAL DE AYUDA. SAT Móvil (Movilidad del Servicio Técnico)

MANUAL DE AYUDA. SAT Móvil (Movilidad del Servicio Técnico) MANUAL DE AYUDA SAT Móvil (Movilidad del Servicio Técnico) Fecha última revisión: Abril 2015 INDICE DE CONTENIDOS INTRODUCCION SAT Móvil... 3 CONFIGURACIONES PREVIAS EN GOTELGEST.NET... 4 1. INSTALACIÓN

Más detalles

Base de datos OpenOffice 2.0. 1ª parte. por Pedro Peregrín González 18002693 CEIP San Juan de Dios Granada -España-

Base de datos OpenOffice 2.0. 1ª parte. por Pedro Peregrín González 18002693 CEIP San Juan de Dios Granada -España- Base de datos OpenOffice 2.0 1ª parte por Pedro Peregrín González 18002693 CEIP San Juan de Dios Granada -España- Tradicionalmente los datos han sido recopilados en listados, siendo tratados como texto

Más detalles

Módulo I - Word. Iniciar Word... 2. Finalizar Word... 3. Definición de elementos de pantalla... 4. Escribir texto en un documento... 5. El cursor...

Módulo I - Word. Iniciar Word... 2. Finalizar Word... 3. Definición de elementos de pantalla... 4. Escribir texto en un documento... 5. El cursor... Módulo I - Word Índice Iniciar Word... 2 Finalizar Word... 3 Definición de elementos de pantalla... 4 Escribir texto en un documento... 5 El cursor... 5 Control de párrafos... 5 Nuevos párrafos... 5 Abrir

Más detalles

En este ejemplo también vamos a crear la capa Entidades que va a servir para modelar nuestra base de datos.

En este ejemplo también vamos a crear la capa Entidades que va a servir para modelar nuestra base de datos. La programación por capas es un estilo de programación en el que el objetivo primordial es la separación de la lógica de negocios de la lógica de diseño; un ejemplo básico de esto consiste en separar la

Más detalles

1.- INTRODUCCIÓN 2.- PARÁMETROS

1.- INTRODUCCIÓN 2.- PARÁMETROS 1.- INTRODUCCIÓN Hemos diseñado una aplicación que facilite el envío a las entidades bancarias de las de cobro por domiciliación. La entrada de esta aplicación pueden ser, tanto ficheros cuyos formatos

Más detalles

Presentaciones. Con el estudio de esta Unidad pretendemos alcanzar los siguientes objetivos:

Presentaciones. Con el estudio de esta Unidad pretendemos alcanzar los siguientes objetivos: UNIDAD 8 Presentaciones Reunión. (ITE. Banco de imágenes) as presentaciones son documentos formados por una sucesión de páginas, llamadas diapositivas, que transmiten información estructurada de manera

Más detalles

BLOQUE VIII POWERPOINT

BLOQUE VIII POWERPOINT BLOQUE VIII POWERPOINT INSTRUCTOR: ANTONIO J. FERNANDEZ EDICION 2008 1 de 28 INSTRUCTOR: ANTONIO J. FERNANDEZ EDICION 2008 2 de 28 MODULO V DE OFIMÁTICA BLOQUE I BLOQUE II BLOQUE III BLOQUE IV BLOQUE V

Más detalles

CUESTIONARIOS AUTOCORREGIBLES

CUESTIONARIOS AUTOCORREGIBLES CÓMO CREAR CUESTIONARIOS AUTOCORREGIBLES CON GOOGLE DOCS Las posibilidades didácticas de Google Docs son incuestionables. Además de sus posibilidades colaborativas, sus formularios pueden utilizarse para

Más detalles

13.3. Personalización avanzada

13.3. Personalización avanzada 13.3. Personalización avanzada Cómo crear informes mediante Report Builder Un informe es un documento que nos va a mostrar una información. En un informe disponemos de varias secciones. El encabezado de

Más detalles

Instituto Mar de Cortés Elaborar Documentos en Procesador de Texto

Instituto Mar de Cortés Elaborar Documentos en Procesador de Texto Instituto Mar de Cortés Elaborar Documentos en Procesador de Texto Configurar página Cuando estamos escribiendo en un documento Word es como si lo hiciéramos en una hoja de papel que luego puede ser impresa.

Más detalles

M a n u a l Inventarios

M a n u a l Inventarios M a n u a l Desde Tienda Software de Gestión para Cadenas de Tiendas Desde tienda.- En Almacen o Warehouse, / F5 / F2 Realizar Inventario: Los inventarios se pueden realizar manualmente, por lector o por

Más detalles

TEMA 1. MANEJO DE PROCESADOR DE TEXTOS: Microsoft WORD 2003

TEMA 1. MANEJO DE PROCESADOR DE TEXTOS: Microsoft WORD 2003 TEMA 1. MANEJO DE PROCESADOR DE TEXTOS: Microsoft WORD 2003 TEMA 1. MANEJO DE PROCESADOR DE TEXTOS: MICROSOFT WORD 2003...1 1. ESTILOS Y FORMATOS...1 1.1. Estilos...1 1.2. Niveles...2 1.3. Secciones...2

Más detalles

CASO PRÁCTICO. ANÁLISIS DE DATOS EN TABLAS DINÁMICAS

CASO PRÁCTICO. ANÁLISIS DE DATOS EN TABLAS DINÁMICAS CASO PRÁCTICO. ANÁLISIS DE DATOS EN TABLAS DINÁMICAS Nuestra empresa es una pequeña editorial que maneja habitualmente su lista de ventas en una hoja de cálculo y desea poder realizar un análisis de sus

Más detalles