Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Jigsaw_MGO en 14 de Julio 2013, 21:07
-
Por favor esto es algo que me tiene por los pelos y lo tengo que entregar el miercoles, es un sistema de nomina de empleados con base de datos MYSQL, ya tengo todas las pantallas, INCLUIR, CONSULTAR, MODIFICAR, ELIMINAR, pero no me consulta, ni modifica ni elimina, alguien que me ayude? por favor, si quieren les paso el proyecto, o los codigos no se algo ya que me tiene desesperado. Gracias de antemano espero sus respuestas.
-------------------------------------------------------------------------------------------------------------------
Mi base de datos consta de 3 tablas una para cada cosa diferente, como, datos de empleados, asignaciones y deducciones. pero no se como hacer, si agregar todo de una vez incluyendo el sueldo y todas las deducciones y asignaciones en una sola tabla, o hacerlo en diferentes tablas, y hacer referencias a ellas.
-
Sube el proyecto y la base de datos a dropbox ó a skydrive para poder verlo.
-
Sube el proyecto y la base de datos a dropbox ó a skydrive para poder verlo.
https://www.dropbox.com/sh/k3ek8up9kd2ty7f/KoRy1a4dPp
Como lo hago? ya cree una cuenta en dropbox, cual es tu cuenta para invitarte? gracias de antemano por la ayuda
-
Ya lo he descargado (parece que no hace falta invitación), veo la base de datos en Access pero no veo el archivo de la base de datos MySql ¿lo has subido?
¿Cuál es el problema concreto que tienes?
-
Buenos dias y gracias por responder, bueno mi problema es entre otras cosas que no me consulta, modifica ni elimina datos del registro, y no me incluyen lo que son asignaciones y deducciones, consulta mediante cedula de identidad, y la base de datos es localhost con wampserver. ¿Como hago?
-
Para poder operar con una base de datos lo primero es haber creado la base de datos y haber creado las tablas de que consta, y para cada tabla las columnas. Eso es lo que no sé si has hecho ya que no he visto un archivo de base de datos dentro de lo que has enviado.
Si accedes a wampserver escribiendo en el navegador: http://localhost/ , debe aparecerte un link a phpMyAdmin que es la herramienta para gestión de bases de datos.
Si pinchas en phpMyAdmin debe aparecerte a la izquierda una columna donde figuran las bases de datos existentes en el servidor. Como mínimo te aparecerán normalmente information_schema y mysql, que son bases de datos de operación del sistema. Pero además ahí tendrás (o si no la tienes necesitas tenerla) una base de datos donde está la información para que funcione la aplicación.
Si tienes la base de datos, para generar un archivo con la información de la misma puedes pulsar sobre su nombre y luego sobre el link "Exportar", ahí elige compresión con gzip y expórtala. Una vez la exportas, se guarda como archivo. Si haces esto, ponla como archivo adjunto en el foro para poder verla. Saludos.
-
No sé si será esto lo que dices, pero de antemano te digo que te descargues el driver ODBC 3.51 para que pueda correr la aplicacion... gracias por tu respuesta hermano
-
No sé si será esto lo que dices, pero de antemano te digo que te descargues el driver ODBC 3.51 para que pueda correr la aplicacion... gracias por tu respuesta hermano
-
Buenas hermano disculpa lo intenso, solo queria decirte que ya me consulta el programa, me falta que actualice y que elimine datos, ok aqui surge una interrogante, en las nominas están los datos del empleado las asignaciones (bonificaciones) y deducciones al salario, y eso debe dar el total de cada una, pero no se como hacer esto, en la pantalla de asignaciones y deducciones, asignarle las formulas a cada uno de los textboxs ya que son constantes de la ley del trabajo en Venezuela, para que cuando el usuario inserte los n valores que quiera, hagan las operaciones correspondientes, se sumen todas, y manden un resultado, asi mismo con las deducciones, entonces TOTAL ASIGNACIONES-TOTALDEDUCCIONES=SUELDO NETO, y que para que cuando yo incluya los datos en las diferentes tablas (son 3, asignaciones, deducciones y datos de empleados) me los guarde cada uno en su tabla, y que al consultar solo me muestre los datos de empleado y los totales, luego en modificar, que me permita modificar los campos, y eliminar los datos de cada una de las tablas (NO LOS CAMPOS!) esa es mi logica no se si esta correcta o no, o muy complicada, pero gracias de antemano (NO ESTOY PIDIENDO QUE TODO EL PROYECTO LO HAGAS TU!, solo que en los puntos criticos me indiques como hago, y que codigo le pongo)
-
Ya lo he descargado (parece que no hace falta invitación), veo la base de datos en Access pero no veo el archivo de la base de datos MySql ¿lo has subido?
¿Cuál es el problema concreto que tienes?
Buenas Ultima actualizacion, 09:35 PM 15-jul-2013
Ya logré hacer bastante, agrega solamente los datos del formulario de empleados, aun no se como agregar asignaciones y deducciones, para que aparezcan todas en una sola tabla junto con los demas datos, ya que me da un debug en tiempo de ejecucion "NUMERO DE PARAMETROS NO VALIDO" en la parte de ASIGNACIONES, ya me consulta por medio de la cedula y muestra los datos en textboxes, ya me modifica los datos y los elimina del registro, ahora me faltan asignar las formulas a los campos y que mediante un boton calcular, me de el neto a pagar, sumando todas las asignaciones y restandolas de las deducciones. Cualquier cosa me avisas por favor, es para el miercoles :). aqui te dejo los links, ya está actualizado el dropbox.
https://www.dropbox.com/sh/k3ek8up9kd2ty7f/KoRy1a4dPp
-
Al final he conseguido ejecutar la aplicación, y también guardar asignaciones.
Si miras las asignaciones en la pantalla de asignaciones tienes los siguientes datos:
1 SUELDOQUINCENAL
2 SUELDOMENSUAL
3 BONOPORASISTENCIA
4 HORASEXTRAS
5 BONOVACACIONAL
6 COMISIONES
7 BONONOCTURNO
8 DIASFERIADOS
9 PRIMADERESPONSABILIDAD
10 PRIMAPROFESIONALIZACION
11 PRIMADETRANSPORTE
Estos son los datos que el programa intenta introducir en la base de datos. ¿Qué ocurre? Que en la base de datos los campos que existen en la tabla asignacionesdeempleados son estos:
CEDULA
NOMBRES
APELLIDOS
SUELDO
3 BONOPORASISTENCIA
4 HORASEXTRA
5 BONOVACACIONAL
6 COMISIONES
7 BONONOCTURNO
8 DIASFERIADOS
9 PRIMADERESPONSABILIDAD
10 PRIMAPROFESIONALIZACION
11 PRIMADETRANSPORTE
Como ves en la tabla en MySql te faltan estos campos:
1 SUELDOQUINCENAL
2 SUELDOMENSUAL
Tú intentas introducir datos en estos campos usando Visual Basic, pero en la base de datos no existen estos campos y entonces te salta un error. Luego resulta que esos datos están en otra tabla, pero si los quieres guardar en otra tabla tendrías que hacer otra operación de guardado.
Suponiendo que los vamos a guardar en la misma tabla, vete a phpMyAdmin y accede a la tabla asignacionesdeempleados, pulsa en "Estructura", luego en añadir un campo después de SUELDO y crea un campo de nombre SUELDOQUINCENAL y tipo int con longitud/valores 10 de modo que será int(10). Haz lo mismo y crea SUELDOMENSUAL
Además tienes otro problema en el código. Tú en el código del formulario asignaciones tienes esto:
If tabla.EOF = True Then
tabla.AddNew
tabla!SUELDOQUINCENAL = SUELDOQUINCENAL
tabla!SUELDOMENSUAL = SUELDOMENSUAL
tabla!BONOPORASISTENCIA = TextBonoAsistencia
tabla!HORASEXTRAS = TextHorasExtra
tabla!BONOVACACIONAL = TextVacaciones
tabla!COMISIONES = TextComisiones
tabla!BONONOCTURNO = TextBonoNocturno
tabla!DIASFERIADOS = TextDiasFeriados
tabla!PRIMADERESPONSABILIDAD = TextPrimaderesponsabilidad
tabla!PRIMAPROFESIONALIZACION = TextPrimaProfesionlizacion
tabla!PRIMADETRANSPORTE = textPRIMATRANSPORTE
tabla.Update
tabla.Close
Pero en la base de datos con phpMyAdmin el campo no se llama HORASEXTRAS acabado en S sino simplemente HORASEXTRA. En el código tiene que ir exactamente el mismo nombre, por tanto hay que poner
tabla!HORASEXTRA = TextHorasExtra
Porque si no no hay correspondencia exacta y no funcionará.
Más cosas a arreglar: el código dice
Set tabla = New ADODB.Recordset
sql = "select * from datosdeempleados where CEDULA="" & txtcedula & """
tabla.Open sql, cn, adOpenDynamic, adLockOptimistic
If tabla.EOF = True Then
tabla.AddNew
tabla!SUELDOQUINCENAL = SUELDOQUINCENAL
Pero la tabla en la que se quiere guardar no es datosdeempleados sino asignacionesdemepleados, luego hay que modificar esto para apuntar a la tabla que queremos:
sql = "select * from asignacionesdeempleados where CEDULA="" & txtcedula & """
Más cosas a arreglar:
sql = "select * from datosdeempleados where CEDULA="" & txtcedula & """
Sobran comillas:
sql = "select * from datosdeempleados where CEDULA=" & txtcedula & ""
Más cosas a arreglar: los valores numéricos hay que indicar que son numéricos añadiendo VAL("nombreDelTextBox") porque si no no coincide el tipo de dato.
Mírate esto si quieres: https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=203:la-funcion-val-con-visual-basic-para-transformar-texto-en-valores-numericos-ejemplo-de-uso-cu00318a&catid=37:curso-qprogramacion-en-visual-basic-nivel-iq&Itemid=61
Más cosas a arreglar:
Private Sub GuardarDatos2_Click()
Falta incluir un argumento para esta función: Private Sub GuardarDatos2_Click(Index as Integer)
Además hay que asignarle un Index al botón, para ello en la ventana de diseño del formulario tienes que pulsar sobre el botón y en el cuadro de propiedades poner en la casilla Index un número 0, y al botón Calcula total ponerle index 1
Con todos los cambios el código es este en el form de Asiginaciones1:
Private Sub GuardarDatos2_Click(Index As Integer)
MsgBox "Se ejecuta", vbInformation
Set tabla = New ADODB.Recordset
sql = "select * from asignacionesdeempleados where CEDULA=" & txtcedula & ""
tabla.Open sql, cn, adOpenDynamic, adLockOptimistic
If tabla.EOF = True Then
tabla.AddNew
tabla!CEDULA = txtcedula
tabla!NOMBRES = ""
tabla!APELLIDOS = ""
tabla!SUELDO = 0
tabla!SUELDOQUINCENAL = Val("SUELDOQUINCENAL")
tabla!SUELDOMENSUAL = Val("SUELDOMENSUAL")
tabla!BONOPORASISTENCIA = Val("TextBonoAsistencia")
tabla!HORASEXTRA = Val("TextHorasExtra")
tabla!BONOVACACIONAL = Val("TextVacaciones")
tabla!COMISIONES = Val("TextComisiones")
tabla!BONONOCTURNO = Val("TextBonoNocturno")
tabla!DIASFERIADOS = Val("TextDiasFeriados")
tabla!PRIMADERESPONSABILIDAD = Val("TextPrimaderesponsabilidad")
tabla!PRIMAPROFESIONALIZACION = Val("TextPrimaProfesionlizacion")
tabla!PRIMADETRANSPORTE = Val("textPRIMATRANSPORTE")
tabla.Update
tabla.Close
MsgBox "Asignaciones Registradas Exitosamente", vbInformation
R = MsgBox("DESEA SEGUIR REGISTRANDO ASIGNACIONES?", vbInformation)
If R = vbYes Then
Else
Unload Me
End If
End If
End Sub
Con esto he conseguido que guarde las asignaciones en la base de datos.
Todavía la parte de repetir el registro de asignaciones no está completada, pero con esto por lo menos he conseguido que me guarde en la tabla de "asignacionesdeempleados" y creo que tienes una buena orientación.
-
Muchas gracias, ya lo pruebo y te lo paso actualizado! eres el mejor!.
-
Buenas hermano me salta un error en la BD ya que cuando agrego las asignaciones, en el phpmyadmin, solo aparece la cedula mas los demas datos estan en cero, sabes por que? gracias de antemano
-
Para responder un mensaje no le des al botón "Citar" sino al botón "Responder" que aparece en la parte de abajo, ya que si le das a citar repites todo lo que puse anteriormente. Lo primero de todo ¿has añadido los campos en la tabla con phpMyAdmin? (SUELDOQUINCENAL Y SUELDOMENSUAL)
-
Si deja te lo paso, la profesora me dijo que eran demasiados campos, asi que lo simplifiqué. ya te lo paso
-
Aquí está actualizado el enlace dropbox, y la Base de datos Mysql, https://www.dropbox.com/sh/k3ek8up9kd2ty7f/KoRy1a4dPp
Veamos los Avances:
1- Ya Incluye,Consulta,Modifica,yElimina datos basicos del registro
2-Interfaz (Regular)
Defectos que aun tengo que resolver
1- Que me agregue las asignaciones en la tabla ("asignaciones1") y deducciones en la tabla ("deducciones1").
2- LO MAS IMPORTANTE!, calcular el sueldo mensual y los totales de cada uno, para saber cuanto se le va a pagar al empleado. eso deberia ir en una tabla llamada (totales). ( PERO AUN NO SÉ COMO SUMAR TODOS LOS TEXTBOXES Y QUE LOS MUESTRE EN EL LABEL!) ( y tampoco como hacer la ultima operacion que seria, restar deducciones con asignaciones y dar el neto a pagar.) Si se como declarar variables.. pero no se que hacer, te agradeceria mucho que me ayudaras con eso ya que cuando hago las operaciones me dan solo ceros :S. Gracias y disculpa la molestia.
-
Aquí está el link de dropbox actualizado a las 4:07 pm
https://www.dropbox.com/sh/k3ek8up9kd2ty7f/KoRy1a4dPp
-
Aquí tienes varios ejemplos de uso de textBoxes, cálculos y mostrar en labels: https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=37&Itemid=61
Y aquí ejemplos concretos: https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=236:ejercicios-resueltos-en-visual-basic-con-forms-labels-textbox-y-command-buttons-ejemplos-cu00322a&catid=37:curso-qprogramacion-en-visual-basic-nivel-iq&Itemid=61
-
Muchas gracias por tu ayuda! me funcionó a la perfeccion, necesita mejorarse, pero aprobé Lenguaje de programacion I!! GRACIAS!!
-
Me alegro, ya podrás revisarlo con tiempo para corregir las cosas que te faltaran. En el curso que te indiqué tienes bastantes cosas aunque ahí no viene la parte de bases de datos.
-
Me alegro, ya podrás revisarlo con tiempo para corregir las cosas que te faltaran. En el curso que te indiqué tienes bastantes cosas aunque ahí no viene la parte de bases de datos.
Lo haré hasta la proxima :) saludos desde Venezuela.
-
Tendran todavia el programa ?
Me lo podria pasa por favor ?