Beruflich Dokumente
Kultur Dokumente
PROYECTO
SISTEMA
INTEGRAL DE
BIBLIOTECA
INTEGRANTES:
Barrera Ruiz, Dante Edison.
Diaz Estela, Maria Jobita
Soto Pinedo, Jhoselyn Pamela.
Velasquez Chavez, Angel
RESUMEN
El presente informe propone el anlisis y diseo un sistema integral de
biblioteca, que ha sido implementado en esta casa superior de estudios.
La biblioteca de esta casa superior de estudios constituye uno de los
principales organismos para facilitar el uso del acervo bibliogrfico y que mejor
cubriendo todas las necesidades del lector.
El sistema para la gestin integral de la biblioteca del instituto, optimiza y
estandariza el flujo de la informacin en el proceso de prstamos, devolucin,
catalogacin, adquisiciones y reportes; utilizando herramientas de alta tecnologa
como son MySql y Visual Basic 2010.
El objetivo de este sistema es integrar los procesos bibliotecarios,
proporcionando alta disponibilidad, beneficio y seguridad; gestionando de manera
eficiente la transicin de los datos entre cada proceso. Actualmente se encuentra
implementado en la biblioteca de nuestra institucin.
AGRADECIMIENTOS
-
INDICE
CAPITULO I: INTRODUCCION ............................................................................................................................. 5
1.1
1.2
FUNDAMENTACIN............................................................................................................ 5
1.3
1.4
1.5
OBJETIVOS .......................................................................................................................... 7
1.6
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
MySQL: ............................................................................................................................. 21
3.1
3.2
RECURSOS ........................................................................................................................ 23
3.3
PRESUPUESTO .................................................................................................................. 23
3.4
FUENTE DE FINANCIAMIENTO.......................................................................................... 24
3.5
4.1
4.2
4.3
4.4
5.1
CONCLUCIONES: ............................................................................................................... 42
5.2
RECOMENDACIONES: ....................................................................................................... 43
5.3
BIBLIOGRAFIA: .................................................................................................................. 43
5.4
WEBGRAFIA: ..................................................................................................................... 44
ANEXOS .................................................................................................................................................................... 45
A.
B.
C.
D.
E.
F.
CAPITULO I: INTRODUCCION
1.1
ASPECTOS GENERALES
1.1.1 TITULO DEL PROYECTO
SISTEMA INFORMATICO INTEGRAL DE BIBLIOTECA
1.1.2 UBICACIN
Regin
San Martn.
Departamento
San Martn.
Provincia
Tocache.
Distrito
Tocache.
Localidad
Pucayacu.
Grupo Responsable:
Barrera Ruiz, Dante Edison.
Diaz Estela, Maria Jobita
Soto Pinedo, Jhoselyn Pamela.
Velasquez Chavez, Angel
Directos
Alumnos en General.
Biblioteca.
Indirectos
IESTP ALTO HUALLAGA TOCACHE
1.2
FUNDAMENTACIN
En los ltimos aos el uso de las tecnologas de la informacin y
1.3
1.4
OBJETIVOS
1.5.1 OBJETIVO GENERAL
Desarrollar e implementar un Sistema de Informacin va Web
para realizar la administracin de la biblioteca del IESTP Alto
Huallaga Tocache, y una biblioteca digital.
1.5.2 OBJETIVOS ESPECFICOS
1.6
todas estas
Documento
Programas.
Datos.
Soporte.
manipular
fsicamente
los
datos,
ocupndose
de
su
10
Cualquier
coleccin
organizada
de
libros
en
construir
bibliotecas,
mantenerlas,
Conservacin
Difusin
Prstamo
TIPOLOGAS DE BIBLIOTECA.
Lo habitual es que todas ellas estn agrupadas en una sola
biblioteca ms general. Aun as la UNESCO establece 6 tipos de
bibliotecas:
1. Bibliotecas Nacionales
11
En
Alemania
se
conocen
como
bibliotecas
estatales
4 Bibliotecas escolares
5 Bibliotecas pblicas
6 Bibliotecas especializadas
12
13
sealarle
al
usuario
que
esta
programas
para
14
la
biblioteca
especializada
quedarn
esbozados
15
1.
implica
la
necesidad
de
informarse
sobre
las
Inspeccionar
el
haber
bibliogrfico
de
otras
2.
16
B. Clasificacin
La clasificacin es el arreglo sistemtico de dichos materiales;
considera el tema tratado de los documentos y propone una
agrupacin de dichos materiales en un ordenamiento para el lector e
investigador.
17
C. La Catalogacin
La catalogacin tal como la entiende Strabel, es un proceso tcnico
mediante el cual el bibliotecario transfiere a una ficha la informacin
descriptiva de un libro, siguiendo en dicha labor cierta aceptacin
general. La ficha que resulta de esa transferencia de datos
bibliogrficos, sirve para el control de los libros existentes en la
coleccin. Dicha ficha describe los libros fsicamente. Actualmente
es por ordenador.
en
informes,
documentos,
folletos,
recortes,
18
E. Indizacin
Un procedimiento, tambin bsico para la preparacin de los
materiales para el uso, es
19
20
2.8 MySQL:
21
Recursos Econmicos:
-
Donaciones
Recursos Humanos:
-
22
3.2 RECURSOS
A. HUMANOS
Alumnos
B. MATERIALES
Software
PHP
Apache
MySql
JavaScript
Adobe Master Collection 5
Hardware
Redes inalmbricas.
Servidor
Estaciones de Trabajo
Hojas Bond A 4
Copias
Cds
3.3 PRESUPUESTO
DETALLES
COSTO
COSTOS DIRECTOS
Programador
1000
Diseador de BD
500
Documentacin
250
COSTOS INDIRECTOS
23
Fotografas y Capacitaciones
200
Equipos de entrevista
100
240
100
TOTAL
S/. 2390.00
RECURSOS
-
Papel.
Entrevistas.
Lapiceros.
Plumones.
Computadora.
Microsoft Visio.
MySQL
MySQL
PHP
Computadora
VISUAL
Diseo y Creacin de
aplicacin.
Internet.
Impresora
TIEMPO
1 Semana.
3 Semanas
Computadora.
-
MySQL
sistema
Computadora.
Red Inalambrica
1 semana
24
Elaboracin de la
Microsoft Word
Documentacin
Acrobat PDF
Proyector Multimedia.
Laboratorio de Computo
Computadoras.
Red Inalmbrica
Computadora
sistema
Red Inalmbrica
Capacitacin
1 semana
1 semana
1 Semanas
25
continuacin
se
explica
la
metodologa
utilizar,
los
26
4.2.1 ACTORES:
Un actor representa un rol de una entidad externa que interacta
con el sistema [Arlow, Neustadt]. En este proyecto los actores
representaran los roles de usuarios del sistema.
ACTOR
DESCRIPCION
BIBLIOTECARIO
USUARIO
27
REGISTRO DE USUARIOS
DESCRIPCION
ACTORES
PRECONDICION
Copia de DNI.
FLUJO BASICO
1. El bibliotecario ingresa al sistema.
2. Luego accede a la pestaa Usuarios.
3. Presiona con un clic el botn Nuevo.
4. En la ventana de nuevo usuario rellena los datos personales y de ubicacin del nuevo
usuario.
5. Selecciona la foto del usuario, si tiene la foto.
6. Para guardar la informacin presiona en aceptar.
28
PRECONDICION
No adeudar ms de 3 libros.
FLUJO BASICO
1. El bibliotecario ingresa al sistema.
2. Luego accede a la pestaa de Prstamos.
3. Presiona con un clic el botn Prestar.
4. En la pestaa prstamo.
4.1 Busca el libro que el usuario solicita ingresando el cdigo del libro o realiza la
bsqueda en una nueva ventana.
4.2 Ingresa el nmero de DNI del usuario o realiza la bsqueda en una nueva ventana.
4.3 Ingresa el nmero de das a prestar.
5. Para registrar el prstamo clic en aceptar.
PRECONDICION
FLUJO BASICO
1. El bibliotecario ingresa al sistema.
2. Luego accede a la pestaa de Prstamos.
3. Presiona con un clic el botn Devolver.
29
4. En la pestaa devolver.
4.1 Ingresamos el cdigo del libro prestado o elegimos la opcin DNI e ingresamos el
DNI de usuario.
4.2 Seleccionamos con un clic en la lista el libro a devolver.
5. Para registrar el prstamo clic en devolver.
PRECONDICION
FLUJO BASICO
1. El bibliotecario ingresa al sistema.
2. En Catalogo, presiona con un clic el botn Nuevo Libro.
3. En la ventana nuevo libro.
3.1 Buscamos si el libro ya est registrado, porque puede ser un ejemplar ms, para
ello escribimos el nombre del libro.
3.1.1
3.1.2
3.1.3
3.1.4
3.1.5
3.1.6
3.2 En el caso de ser una copia accede a la pestaa datos de ejemplar y completamos
los datos de cada ejemplar y agregamos a la lista que vamos a guardar.
4. Presionamos en finalizar para guardar los libros ingresados.
30
PRECONDICION
FLUJO BASICO
1. El bibliotecario ingresa al sistema.
2. Se ingresa a la opcin de Auxiliares.
3. Aqu se presentan tres botones: ESTANTES, CATEGORIAS Y TIPOS DE
PUBLICACION.
4. Para crear un nuevo estante clic en Estante:
4.1 Ingresamos los datos requeridos y presionamos agregar.
5. Para crear una nueva categora estante clic en Categora:
5.1 Ingresamos los datos requeridos y presionamos agregar
6. Para crear un nuevo tipo de publicacin clic en Tipos de Publicacin:
6.1 Ingresamos los datos requeridos y presionamos agregar
ACTORES
Bibliotecario
PRECONDICION
FLUJO BASICO
1. El bibliotecario ingresa al sistema.
2. Clic en el botn Etiquetas.
3. Se abre la ventana que contiene la vista preliminar de la impresin.
4. Selecciona la impresora que utilizara o si desea lo puede exportar al formato PDF.
5. Luego se corta las etiquetas y se pega al libro correspondiente.
31
Estantes
Usuario
Categorias
esta
es
tiene
Libros
Persona
anula
solicta
Prestamos
es
estan
esta
Publicaciones
solicta
tiene
Autores
TipoPublicacion
Perdidos
32
TIPO DE DATO
DESCRIPCION
NULL
DNI
VARCHAR(8)
Clave primaria.
NOT
APEPA
VARCHAR(80)
Apellidos paternos.
NOT
APEMA
VARCHAR(80)
Apellidos maternos.
NOT
NOMBRES
VARCHAR(120)
Nombres.
NOT
SEXO
BIT
0=Masculino,1=Femenino
NOT
FNAC
DATE
Formato Y/M/D
NOT
DIRECCION
VARCHAR(60)
NOT
BARRIO
VARCHAR(45)
OPERADOR
VARCHAR(45)
TELEFONO
VARCHAR(11)
VARCHAR(45)
FREGISTRO
DATE
Formato Y/M/D
NOT
DETALLE
VARCHAR(200)
TABLA: USUARIOS
NOMBRE DE COLUMNA
TIPO DE DATO
DESCRIPCION
NULL
IDUSUARIO
INT
NOT
LOGIN
VARCHAR(15)
Usuario de Logeo.
NOT
PWD
VARCHAR(5)
Contrasea.
NOT
DNI
VARCHAR(8)
NOT
TABLA: PRESTAMOS
NOMBRE DE COLUMNA
TIPO DE DATO
DESCRIPCION
NULL
IDPRESTAMO
INT
NOT
FECHAPRESTAMO
DATE
Formato Y/M/D
NOT
33
FECHAPROGRAMADA
DATE
Formato Y/M/D
NOT
FECHAENTREGA
DATE
Formato Y/M/D
NOT
OBS
VARCHAR(100)
Observaciones.
IDLIBRO
DATE
NOT
DNI
VARCHAR(8)
NOT
TABLA: LIBROS
NOMBRE DE COLUMNA
TIPO DE DATO
DESCRIPCION
NULL
IDLIBRO
INT
NOT
FECHAINGRESO
DATE
Formato Y/M/D
NOT
ESTADO
VARCHAR(45)
NOT
PROCEDENCIA
VARCHAR(45)
Comprado, Donacin.
NOT
OBSERV
VARCHAR(100)
Observaciones.
COSTO
DECIMAL(5,2)
NOT
NUM
INT
Numero de publicacin.
NOT
IDESTANTE
INT
IDPUBLICACION
INT
Clave Fornea
PUBLICACION.IDPUBLICACION
TABLA: ANULADOS
NOMBRE DE COLUMNA
TIPO DE DATO
DESCRIPCION
Clave Primaria. Auto Incremento.
NULL
IDANULADOS
INT
IDPRESTAMO
INT
FECHAPRESTAMO
DATE
Formato Y/M/D
NOT
FECHAPROGRAMADA
DATE
Formato Y/M/D
NOT
FECHAENTREGA
DATE
Formato Y/M/D
NOT
FECHAANULADO
DATE
Formato Y/M/D
NOT
MOTIVO
VARCHAR(100)
NOT
Referencia.
PRESTAMOS.IDPRESTAMOS.
NOT
NOT
34
IDLIBRO
DATE
NOT
DNI
VARCHAR(8)
NOT
TABLA: ESTANTES
NOMBRE DE COLUMNA
TIPO DE DATO
DESCRIPCION
NULL
IDESTANTE
INT
NOT
NOMBRE
VARCHAR(45)
NOT
DETALLE
VARCHAR(45)
NOT
TABLA: CATEGORIAS
NOMBRE DE COLUMNA
TIPO DE DATO
DESCRIPCION
NULL
IDCATEGORIA
VARCHAR(3)
NOT
NOMBRE
VARCHAR(100)
NOT
TABLA: PUBLICACIONES
NOMBRE DE
COLUMNA
TIPO DE DATO
DESCRIPCION
NULL
IDPUBLICACION
INT
NOT
TITULO
VARCHAR(45)
Ttulo de la publicacin
NOT
NUMPAG
VARCHAR(45)
Numero de Pginas.
NOT
EDICION
VARCHAR(45)
LUGAR
VARCHAR(100)
Lugar de publicacin.
NUM
DECIMAL(5,2)
IDCATEGORIA
INT
IDTIPOPUBLICACION
INT
Clave Fornea
CATEGORIA.IDCATEGORIA
Clave Fornea
TIPOPUBLICACION.IDTIPOPUBLICACION.
NOT
NOT
NOT
35
TABLA: PERDIDOS
NOMBRE DE COLUMNA
TIPO DE DATO
DESCRIPCION
NULL
IDPERDIDO
INT
NOT
IDLIBRO
INT
Referencia a Libros.idlibros
NOT
FECHAINGRESO
DATE
Formato Y/M/D
NOT
ESTADO
VARCHAR(45)
NOT
PROCEDENCIA
VARCHAR(45)
Comprado, Donacin.
NOT
MOTIVO
VARCHAR(100)
MOTIVO DE PRDIDA.
NOT
COSTO
DECIMAL(5,2)
NOT
NUM
INT
Numero de publicacin.
NOT
FECHA DE PERDIDA
DATE
Formato Y/M/D
NOT
IDPUBLICACION
INT
Clave Fornea
PUBLICACION.IDPUBLICACION
NOT
TIPO DE DATO
DESCRIPCION
NULL
IDTIPOPUBLICACIONES
INT
NOT
NOMBRE
VARCHAR(45)
NOT
INICIALES
VARCHAR(10)
NOT
TIPO DE DATO
IDPUBLIAUTORES
INT
IDPUBLICACION
INT
IDAUTOR
INT
DESCRIPCION
Clave Primaria. Auto Incremento.
Clave Fornea
PUBLICACION.IDPUBLICACION
Clave Fornea AUTOR.IDAUTOR
NULL
NOT
NOT
NOT
36
TIPO DE DATO
DESCRIPCION
NULL
IDAUTORES
INT
NOT
APELLIDOS
VARCHAR(80)
Apellidos.
NOT
NOMBRES
VARCHAR(120)
Nombres.
NOT
37
38
39
40
41
42
5.2 RECOMENDACIONES:
Para la recoleccin de informacin y requisitos de una o varias
dependencia, utilizar diferentes tcnicas de investigacin, que
capturen lo que realmente necesita el sistema.
Implementar de los medios y equipos necesarios para la facilitar el uso
del sistema.
Evitar el descuido del seguimiento en las fases del modelo RUP, con
la finalidad de cumplir con plazos y tiempos establecidos.
Mantener seguidas reuniones y entrevistas con los beneficiarios de
proyecto para recoger las inquietudes del sistema.
Realizar constantes pruebas y con diferentes casos, una vez que se
encuentre desarrollado el aplicativo para as estar seguros de su
correcto funcionamiento.
El manual de funciones es un documento muy necesario en la
Biblioteca, por lo que se recomienda elaborarlo en su momento para
conocer con claridad el rea de cada uno de los Bibliotecarios y sus
responsabilidades.
5.3 BIBLIOGRAFIA:
Dolores Cuadra, Elena Castro, Lourdes Moreno. DESARROLLO DE BASE
DE DATOS.
Robert Vieira. FUNDAMENTOS DE PROGRAMACION CON SQL
SERVER.
Dusan Petrovic. MS SQL SERVER 2008.
Jose A. Gomez, GESTION DE BIBLIOTECAS 2002.
PROGRAMA DE ESPECIALIZACION - IDAT. Manual de Visual Basic.
43
5.4 WEBGRAFIA:
http://www.sapientia.uji.es.
http://msdn.microsoft.com/es-pe/default.aspx
http://es.slideshare.net/SandraHaro/principios-para-cuidado-ymanejo-de-bibliotecas-ifla
http://msdn.microsoft.com/es-pe/default.aspx
http://guille.costasol.net.
44
ANEXOS
A. EVIDENCIAS FOTOGRAFICAS DE IMPLEMENTACION:
45
46
CREATE SCHEMA IF NOT EXISTS `BibliotecaIESTP` DEFAULT CHARACTER SET utf8 COLLATE
utf8_general_ci ;
USE `BibliotecaIESTP` ;
47
48
49
50
USE `BibliotecaIESTP` ;
-- -----------------------------------------------------
51
52
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
USE `BibliotecaIESTP`;
DELIMITER $$
USE `BibliotecaIESTP`$$
DROP TRIGGER IF EXISTS `BibliotecaIESTP`.`Libro_ADEL` $$
USE `BibliotecaIESTP`$$
CREATE TRIGGER `Libro_ADEL` AFTER DELETE ON `Libro` FOR EACH ROW
insert into perdidos (idlibro,fechaingreso,estado,procedencia,costo,num,idpublicacion,fechaperdida)
values
(old.idlibro,old.fechaingreso,old.estado,old.procedencia,old.costo,old.num,old.idpublicacion,curdate()
)
$$
USE `BibliotecaIESTP`$$
DROP TRIGGER IF EXISTS `BibliotecaIESTP`.`Prestamos_ADEL` $$
USE `BibliotecaIESTP`$$
CREATE TRIGGER `Prestamos_ADEL` AFTER DELETE ON `Prestamos` FOR EACH ROW
insert into anulados
(idprestamo,fechaprestamo,fechaprogramada,fechaentrega,idlibro,dni,fechaanulado) values
(old.idprestamo,old.fechaprestamo,old.fechaprogramada,old.fechaentrega,old.idlibro,old.dni,curdate(
))
$$
53
54
cn.Close()
End Try
Return num
End Function
Function numlibro(idpubli As String) As Integer
Dim num As Integer
Dim numpubli As New MySqlCommand("select max(num) from libro where
idpublicacion=" & idpubli, cn)
If cn.State = ConnectionState.Closed Then
cn.Open()
End If
Try
Dim numero As Integer
numero = CInt(numpubli.ExecuteScalar)
num = numero + 1
Catch ex As Exception
num = 1
Finally
cn.Close()
End Try
Return num
End Function
Public Sub limpiar(ByVal contenedor As Windows.Forms.Control.ControlCollection)
For Each obj As Object In contenedor
If TypeOf obj Is QTextBox Then
obj.clear()
End If
Next
End Sub
Function idpubifinal() As String
Dim idpubli As String
Dim lista As New MySqlCommand("select idpublicacion from publicaciones
order by idpublicacion desc limit 1", cn)
cn.Open()
idpubli = lista.ExecuteScalar
cn.Close()
Return idpubli
End Function
Function checklibro(idpubli As String) As Boolean
Dim libr As Boolean
Dim tipo As String
Dim lista As New MySqlCommand("select idTipoPublicacion from publicaciones
where idpublicacion=" & idpubli, cn)
cn.Open()
tipo = lista.ExecuteScalar
If tipo = "2" Then
libr = False
Else
libr = True
End If
cn.Close()
Return libr
End Function
Function nuevoLibroSerie(idpubli As String) As Integer
Dim num, nuevocod As Integer
Dim lista As New MySqlCommand("select count(idpublicacion) from libro where
idpublicacion=" & idpubli & " group by idpublicacion", cn)
cn.Open()
Try
55
num = lista.ExecuteScalar
num = CInt((num)) + 1
nuevocod = num
Catch
num = 1
nuevocod = num
Finally
cn.Close()
End Try
Return nuevocod
End Function
Function totaltipopubli(tipo As Integer) As Integer
End Function
Function nuevoCliente() As String
Dim codigo As String
Dim lista As New MySqlCommand("select max(clientes.idcliente ) from
clientes ", cn)
cn.Open()
codigo = lista.ExecuteScalar
codigo += 1
cn.Close()
Return codigo
End Function
Function nuevoSumini(ByVal id As String) As String
Dim codigo As String
Dim num As Integer
Dim lista As New MySqlCommand("select max(suministro.idsumini ) from
suministro where idsumini like '" & id & "%' ", cn)
cn.Open()
Try
If IsDBNull(lista.ExecuteScalar) Then
codigo = id
codigo = id & "-001"
Else
codigo = lista.ExecuteScalar
num = CInt(Mid(codigo, 11, 3)) + 1
codigo = id & "-" & Format(num, "000")
End If
Catch ex As Exception
MsgBox(ex.Message, 0 + 16, proyecto)
Finally
cn.Close()
End Try
cn.Close()
Return codigo
End Function
Function backupBD(ByVal tipo As Integer, Optional ByVal direc As String = "") As
Boolean
Dim resultado As Boolean = False
If tipo = 1 Then
Dim comando As MySqlCommand
cn.Open()
Try
comando = cn.CreateCommand
comando.CommandText = "BACKUP DATABASE [sedapatfinal] TO [sedapat]
WITH DIFFERENTIAL , NOFORMAT, NOINIT, NAME = N'sedapatfinal-Differential Database
Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10"
comando.ExecuteNonQuery()
56
resultado = True
Catch
resultado = False
Finally
cn.Close()
End Try
Else
End If
Return resultado
End Function
End Module
End Sub
Private Sub QCompositeMenuItem7_ItemSelected(sender As Object, e As
Qios.DevSuite.Components.QCompositeEventArgs) Handles
QCompositeMenuItem7.ItemSelected, QCompositeMenuItem8.ItemSelected,
QCompositeMenuItem9.ItemSelected
Me.QCompositeLargeMenuItem1.Title = "filtro por " & sender.title
For Each Menu As Qios.DevSuite.Components.QCompositeMenuItem In
Me.QCompositeLargeMenuItem1.ChildItems
Menu.Checked = False
Next
sender.checked = True
End Sub
Private Sub QCompositeMenuItem1_ItemActivated(sender As System.Object, e As
Qios.DevSuite.Components.QCompositeEventArgs) Handles
QCompositeMenuItem1.ItemActivated
libro.accion = 0
libro.Text = "Nuevo Libro"
libro.ShowDialog()
libro = Nothing
End Sub
Private Sub QCompositeMenuItem3_ItemActivated(sender As System.Object, e As
Qios.DevSuite.Components.QCompositeEventArgs) Handles
QCompositeMenuItem3.ItemActivated
libro.accion = 1
57
58
End If
End Sub
Private Sub QCompositeMenuItem6_ItemActivated(sender As System.Object, e As
Qios.DevSuite.Components.QCompositeEventArgs) Handles
QCompositeMenuItem6.ItemActivated
Dim gridTable As DataTable = CType(catalogo.DataGridView1.DataSource,
DataTable)
End Sub
Private Sub cargarBiblioteca()
End Sub
Private Sub QRibbon1_ItemActivated(sender As System.Object, e As
Qios.DevSuite.Components.QCompositeEventArgs) Handles QRibbon1.ItemActivated
End Sub
Private Sub QRibbonPage3_Activated(sender As System.Object, e As
System.EventArgs) Handles QRibbonPage3.Activated
fcatalogo.Hide()
fusuarios.WindowState = FormWindowState.Maximized
fusuarios.Show()
End Sub
Private Sub QCompositeMenuItem16_ItemActivated(sender As System.Object, e As
Qios.DevSuite.Components.QCompositeEventArgs) Handles
QCompositeMenuItem16.ItemActivated
usuario.ShowDialog()
usuario = Nothing
End Sub
Private Sub QCompositeMenuItem17_ItemActivated(sender As System.Object, e As
Qios.DevSuite.Components.QCompositeEventArgs) Handles
QCompositeMenuItem17.ItemActivated
usuario.accion = 1
usuario.ShowDialog()
usuario = Nothing
End Sub
Private Sub QCompositeMenuItem10_ItemActivated(sender As System.Object, e As
Qios.DevSuite.Components.QCompositeEventArgs) Handles
QCompositeMenuItem10.ItemActivated
administracion.ShowDialog()
End Sub
Private Sub QCompositeMenuItem19_ItemActivated(sender As System.Object, e As
Qios.DevSuite.Components.QCompositeEventArgs) Handles
QCompositeMenuItem19.ItemActivated
Dim usu As New usuariosdigital
usu.ShowDialog()
usu.Dispose()
End Sub
59
End Sub
Private Sub QCompositeMenuItem21_ItemActivated(sender As System.Object, e As
Qios.DevSuite.Components.QCompositeEventArgs) Handles
QCompositeMenuItem21.ItemActivated
Estantes.ShowDialog()
End Sub
Private Sub QCompositeMenuItem23_ItemActivated(sender As System.Object, e As
Qios.DevSuite.Components.QCompositeEventArgs) Handles
QCompositeMenuItem23.ItemActivated
categorias.ShowDialog()
End Sub
Private Sub QCompositeMenuItem22_ItemActivated(sender As System.Object, e As
Qios.DevSuite.Components.QCompositeEventArgs)
tipoinfo.ShowDialog()
End Sub
Private Sub QCompositeMenuItem24_ItemActivated(sender As System.Object, e As
Qios.DevSuite.Components.QCompositeEventArgs) Handles
QCompositeMenuItem24.ItemActivated
tipopublicacion.ShowDialog()
End Sub
Private Sub QCompositeMenuItem25_ItemActivated(sender As System.Object, e As
Qios.DevSuite.Components.QCompositeEventArgs) Handles
QCompositeMenuItem25.ItemActivated
etiquetas.ShowDialog()
End Sub
Private Sub QCompositeMenuItem11_ItemActivated(sender As System.Object, e As
Qios.DevSuite.Components.QCompositeEventArgs) Handles
QCompositeMenuItem11.ItemActivated
administracion.QTabControl1.ActivateTabPage(administracion.QTabPage2)
administracion.ShowDialog()
End Sub
Private Sub QCompositeMenuItem12_ItemActivated(sender As System.Object, e As
Qios.DevSuite.Components.QCompositeEventArgs) Handles
QCompositeMenuItem12.ItemActivated
administracion.QTabControl1.ActivateTabPage(administracion.QTabPage3)
administracion.ShowDialog()
End Sub
End Class
60
End Sub
Public Sub cargarDatos()
Me.DataGridView2.DataSource = runSQL("select idpublicacion,titulo,edicion
from publicaciones")
Me.QComboBox1.DataSource = runSQL("select * from categorias")
Me.QComboBox1.ValueMember = "idcategoria"
Me.QComboBox1.DisplayMember = "nombre"
Me.QComboBox9.DataSource = runSQL("select * from estantes")
Me.QComboBox9.ValueMember = "idestante"
Me.QComboBox9.DisplayMember = "nombre"
Me.QComboBox5.DataSource = runSQL("select * from tipopublicaciones")
Me.QComboBox5.ValueMember = "idTipoPublicacion"
Me.QComboBox5.DisplayMember = "nombre"
End Sub
End Sub
Private Sub Caja5_TextChanged(sender As System.Object, e As System.EventArgs)
Handles Caja5.TextChanged
Dim gridTable As DataTable = CType(Me.DataGridView2.DataSource, DataTable)
gridTable.DefaultView.RowFilter = "[titulo] like '" & Me.Caja5.Text & "%'"
End Sub
61
62
Me.QButton5.Text = "Finalizar"
Me.QButton5.Image = My.Resources.Resource1.onebit_34.ToBitmap
End Sub
Private
Dim
Dim
Dim
titulo = Me.Caja1.Text
edicion = Me.QComboBox2.SelectedItem
categoria = QComboBox1.SelectedValue
numpag = Caja4.Text
idtipo = Me.QComboBox5.SelectedValue
num = numpublicacion(categoria, idtipo)
If titulo.Length > 0 Then
If consulta("insert into publicaciones
(titulo,numpag,edicion,idcategoria,idtipopublicacion,num) values ('" & titulo & "',"
& numpag & ",'" & edicion & "','" & categoria & "'," & idtipo & "," & num & ")")
Then
res = True
Else
MsgBox("No se pudo guardar libro")
res = False
End If
Else
MsgBox("Ingrese Titulo a la publicacion", MsgBoxStyle.Critical +
MsgBoxStyle.OkOnly, proyecto)
Caja1.Focus()
res = False
End If
Return res
End Function
Private Function guardarAutores() As Boolean
Dim res As Boolean
If Me.DataGridView1.Rows.Count > 0 Then
For Each fila As DataGridViewRow In Me.DataGridView1.Rows
Dim idpubli, idautor As String
idpubli = idpubifinal()
idautor = fila.Cells(0).Value.ToString
If consulta("insert into publiautores (idpublicacion,idautor) values
(" & idpubli & "," & idautor & ")") Then
res = True
Else
res = False
End If
Next
Else
res = True
End If
Return res
End Function
Function nuevoLibro() As Boolean
Dim res As Boolean
Dim estado, procedencia, idestante, obs As String
Dim precio As Decimal
Dim num As Integer
For Each fila As DataGridViewRow In Me.DataGridView3.Rows
63
estado = fila.Cells(0).Value
procedencia = fila.Cells(1).Value
precio = fila.Cells(2).Value
idestante = fila.Cells(3).Value
obs = fila.Cells(4).Value
num = numlibro(idpublicacion)
If consulta("insert into libro
(fechaingreso,estado,procedencia,observ,costo,idestante,idpublicacion,num) values
(CURDATE(),'" & estado & "','" & procedencia & "','" & obs & "','" & precio & "'," &
idestante & "," & idpublicacion & "," & num & ")") Then
End If
Next
Return res
End Function
Function generadorEtiqueta(idpubli As String) As String
Dim etiqueta As String
Dim tb As DataTable
If checklibro(idpubli) = True Then
tb = runSQL("select idcategoria,iniciales from publicaciones inner join
tipopublicaciones on
tipopublicaciones.idtipopublicacion=publicaciones.idtipopublicacion where
idpublicacion=" & idpubli)
Dim et1, et2 As String
et1 = tb.Rows(0).Item(0) & tb.Rows(0).Item(1)
Else
'tb = runSQL("select
idcategoria,tipopublicaciones.iniciales,tipoinformes.iniciales from publicaciones
inner join tipopublicaciones on
tipopublicaciones.idtipopublicacion=publicaciones.idtipopublicacion inner join
informes on informes.idpublicacion=publicaciones.idpublicacion inner join
tipoinformes on tipoinformes.idtipoinforme=informes.idtipoinforme where
publicaciones.idpublicacion=" & idpubli")
End If
Return etiqueta
End Function
Private Sub QButton8_Click(sender As System.Object, e As System.EventArgs)
Handles QButton8.Click
If Me.DataGridView3.SelectedRows.Count = 1 Then
Me.DataGridView3.Rows.Remove(Me.DataGridView3.CurrentRow)
End If
End Sub
Private Sub QButton7_Click(sender As System.Object, e As System.EventArgs)
Handles QButton7.Click
Dim fila As New DataGridViewRow
fila.CreateCells(Me.DataGridView3)
fila.Cells(0).Value = QComboBox7.SelectedItem
fila.Cells(1).Value = QComboBox8.SelectedItem
fila.Cells(2).Value = Caja6.Text
fila.Cells(3).Value = QComboBox9.SelectedValue
fila.Cells(4).Value = Caja7.Text
Me.DataGridView3.Rows.Add(fila)
End Sub
Private Sub QButton1_Click(sender As System.Object, e As System.EventArgs)
Handles QButton1.Click
64
Autores.ShowDialog()
agregarAutor(Autores.DataGridView1.CurrentRow.Cells(0).Value,
Autores.DataGridView1.CurrentRow.Cells(1).Value)
Autores = Nothing
End Sub
Private Sub QButton2_Click(sender As System.Object, e As System.EventArgs)
Handles QButton2.Click
Try
Me.DataGridView1.Rows.Remove(Me.DataGridView1.CurrentRow)
Catch ex As Exception
End Try
End Sub
Private Sub QButton4_Click(sender As System.Object, e As System.EventArgs)
Handles QButton4.Click
Me.OpenFileDialog1.Title = "Seleccione imagen para la publicacion"
Me.OpenFileDialog1.InitialDirectory = "Mis Imagenes"
Me.OpenFileDialog1.Filter = "Archivos de Imagenes (*.jpg)|*.jpg"
Me.OpenFileDialog1.ShowDialog()
Me.PictureBox1.ImageLocation = Me.OpenFileDialog1.FileName
End Sub
End Class
Imports Microsoft.Reporting.WinForms
Public Class etiquetas
Private Sub etiquetas_Load(sender As System.Object, e As System.EventArgs)
Handles MyBase.Load
Dim tb As DataTable
65
tb = runSQL("select
idlibro,idcategoria,iniciales,lpad(publicaciones.num,4,'0') as
numpubli,lpad(libro.num,2,'0') as numlibro from libro inner join publicaciones on
publicaciones.idpublicacion=libro.idpublicacion inner join tipopublicaciones on
tipopublicaciones.idtipopublicacion=publicaciones.idtipopublicacion")
Me.ReportViewer1.RefreshReport()
Me.ReportViewer1.LocalReport.ReportPath = "F:\Proyecto Biblioteca\Biblioteca
Integral\Biblioteca Integral\etiquetas.rdlc"
Dim myReportDataSource = New ReportDataSource("DataSet1", tb)
ReportViewer1.LocalReport.DataSources.Add(myReportDataSource)
Me.ReportViewer1.RefreshReport()
End Sub
66