|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Temas - ProfesorX
Páginas: [1]
1
« en: Jueves 7 de Noviembre de 2013, 01:38 »
Por lo regular yo soy el que da asistencia, pero ahora me toca que me den asistencia a mi XD.
Tengo la siguiente tabla en SQL Server:
create table creditos_abonos ( contrato_id int not null, semana int not null, interes decimal (18,2) not null default 0, abono decimal (18,2) not null default 0, iva decimal (18,2) not null default 0, fecha_pago datetime not null default getdate(), pagado bit not null default 0, )
Un ejemplo de los valores de la tabla:
contrato_id semana interes abono iva fecha_pago pagado 5 6 217.50 906.25 34.80 2013-04-30 00:00:00.000 1 5 7 217.50 906.25 34.80 2013-05-07 00:00:00.000 1 5 8 217.50 906.25 34.80 2013-05-14 00:00:00.000 0 5 9 217.50 906.25 34.80 2013-05-21 00:00:00.000 0 5 10 217.50 906.25 34.80 2013-05-28 00:00:00.000 0 9 9 67.50 281.25 10.80 2013-04-30 00:00:00.000 0 9 10 67.50 281.25 10.80 2013-05-07 00:00:00.000 0
Yo lo que quiero es una consulta que me de la semana mas atrasada en pago de todos los contratos, en este caso se considera pagada cuando el campo pago = 1 y no pagada cuando pago = 0
o sea en base a lo anterior necesito que me regrese lo siguiente
contrato_id semana interes abono iva fecha_pago pagado 5 8 217.50 906.25 34.80 2013-05-14 00:00:00.000 0 9 9 67.50 281.25 10.80 2013-04-30 00:00:00.000 0
Tengo la siguiente consulta
select top 1 b.contrato_id, b.semana, b.interes, b.abono, b.iva, fecha_pago, pagado from creditos_abonos as b where pagado = 0 and fecha_pago < '24/08/2013' and contrato_id = 5 order by contrato_id, semana;
El problema es que solo me regresa la semana mas atrasada de un solo contrato, en este caso el numero 5, y yo necesito la mas atrasada de todos los contratos de la tabla. Lo que he hecho es por medio de un ciclo dentro de un programa, revisar todas las filas de la tabla, cambiando el valor de la condicion contrato_id = 5, pero siento que es un metodo muy ineficiente. Si alguien tiene la manera de obtenerlo por medio de una sola consulta SQL me pareceria excelente.
Gracias de antemano =)
2
« en: Miércoles 24 de Abril de 2013, 03:27 »
Aqui dejo un sencillo ejemplo para utilizar el BindingSource Y el ErrorProvider, esta codificado en Visual C# 2010, y utiliza Conexion con SQL Server, pero debe ser facilmente modificable para utilizar cualquier conector, espero les sea de utilidad
4
« en: Lunes 18 de Julio de 2011, 09:13 »
Hola IronMan, la pagina de solo codigo ha quedado bastante bien, sin embargo, hay algunas cosas que no me agradaron mucho, en especial que ahora los foros son SMF en lugar de phpBB, en lo personal prefiero mil veces los foros phpBB, no se porque, la interfaz de los foros SMF no me agrada mucho, bueno esa es mi opinion personal, pero bueno, dejando eso de lado, pondre los detalles que no me agradan, las opciones que no encuentro, a ver si me dices como hacerlo, o si se puede cambiar. 1. Ahora los foros aparecen bajo el nombre de "comunidad", quizas sea cosa de acostumbrarse, pero al menos en mi caso no encontraba como entrar a los foros , quizas sea mejor cambiar el menu de comunidad por foros. 2. No encuentro como personalizar la manera en que me aparece la fecha, las horas aparecen en formato 00:00-24:00, me agrada mas en formato am/pm, no se si se pueda personalizar. 3. No encotre como seleccionar el codigo en etiquetas [ code ], si elijo una etiqueta con un lenguaje especifico para el coloreado de sintaxis, te dejo el ejemplo, para que veas a que me refiero: #include <cstdio> 4. La opcion de mensajes nuevos no leidos desde la ultima visita (nuevos temas), la lista se borra demasiado rapido, si accidentalemnte elijo la opcion de recargar la pagina, los mensajes que no he leido se borran de la lista, aun cuando valga la redundancia no los haya ledio aun , eso hace que el seguimiento de los temas que vas contestando sea mas dificil, pues si se borra la lista, debes entrar a cada subforo para ver que mensajes aun no lees/contestas, quitando toda utilidad a la opcion de nuevos mensajes Bueno, esos son los detalles que note, si sabes como puedo hacer para hacer lo que quiero, o si se puede corregir, sere feliz, si no, pues como dije antes tendremos que irnos acostumbrando Saludos
5
« en: Jueves 7 de Julio de 2011, 06:22 »
Bueno antes que nada para ponerlo en contexto, dire que vivo en Mexico, soy profesional independiente (Lic en Informatica), y actualmente estoy buscando trabajo fijo en alguna empresa, asi que deje mi curriculum en una de esas paginas de empleo. Hatsa ahora solo me habian llegado correos en los que te piden dinero para realizar un examen medico antes de que te den el puesto, fraudes a todas luces, ya que incluso son correos con remitente en gmail XD Pero hoy me llegaron 2 correos de una empresa llamada tesis.com, incluso tienen pagina web, y segun dicen se han tratado de comunicar conmigo por telefono, lo raro es que no he recibido ninguna llamada y en casa siempre hay alguien para contestar mi telefono aunque no este. Me enviaron unos formularios para que los llene, y hasta ahorita no me han pedido dinero, pero dado que los formularios me estan pidiendo informacion muy detallada de mi persona, y los que vivimos en Mexico sabemos lo "caliente" que esta la cosa por aca, como para dar tu informacion personal, quiero sabes si alguien mas sabe algo de esta empresa, ¿es real? ¿o solo otro fraude mas elaborado hasta ahora? Dejo a continuacion uno de los correos que me llegaron, eliminando algunas partes. Estimado xxxxx, Buen día, hemos localizado tu CV en la página de xxxxx, estamos interesados en platicar contigo sobre nuestras ofertas, debido a que deseamos que asistas a una entrevista en xxxxx el dìa Viernes a las 9 am, y queríamos conocer tu disponibilidad. Te agradecería que me proporciones algún teléfono para contactarme contigo y me indiques día y hora en que podamos llamarte para realizar una entrevista telefónica. Brevemente te comento que actualmente nos encontramos en un fuerte periodo de expansión, mismo que va de la mano de vacantes en el área de Automatización, para ello estamos requiriendo recursos que cubran con el perfil de Programadores.NET.
Para dar continuidad al proceso se requiere de un formato de ingreso, un estudio de entorno y formato de sistemas los cuales anexo al presente para que devuelvas a este mi correo. Así mismo te pido envíes tus respuestas con copia a las Lic. xxxxx y a la Lic. xxxxx del Departamento de Recursos Humanos así como tu CV actualizado para que podamos dar seguimiento a tu caso.
A tus órdenes y quedo en espera de tu respuesta.
Te pido confirmes la recepción de los formatos y envíes a la brevedad.
Me encuentro a la orden.
Saludos Cordiales
http://www.tesis.com
Si alguien sabe sobre este empresa, le agradeceria que me diera su opinion. Saludos
6
« en: Lunes 30 de Mayo de 2011, 07:10 »
Bueno, ahora es mi turno de pedir ayuda, a ver si alguien me puede ayudar. Mi problema consiste en lo siguiente, necesito sacar un total de clientes activos e inactivos por colonia, en una sola tabla, de tal forma que quede de la siguiente manera: Colonia Activos Inactivos A 2 9 B 0 2 C 0 1 D 1 1
Actualmente saco la informacion de 2 tablas (clientes y contrato), y tengo que crear 3 tablas de la siguiente manera: -- Creacion de la tabla activos DROP TABLE colonia_activos SELECT c1.colonia, COUNT(DISTINCT c1.id) AS activos INTO colonia_activos FROM clientes AS c1 INNER JOIN contrato AS c2 ON c1.id = c2.cliente WHERE c2.cerrado = 0 GROUP BY c1.colonia -- Creacion de la tabla inactivos DROP TABLE colonia_inactivos SELECT c1.colonia, COUNT(DISTINCT c1.id) AS inactivos INTO colonia_inactivos FROM clientes AS c1 INNER JOIN contrato AS c2 ON c1.id = c2.cliente WHERE c2.cliente NOT IN (SELECT cliente FROM contrato WHERE cerrado = 0) GROUP BY c1.colonia -- Creacion de la tabla totales DROP TABLE colonia_totales SELECT DISTINCT c1.colonia, c2.activos, c3.inactivos INTO colonia_totales FROM clientes AS c1 LEFT JOIN colonia_activos AS c2 ON c1.colonia = c2.colonia LEFT JOIN colonia_inactivos AS c3 ON c1.colonia = c3.colonia ORDER BY c1.colonia UPDATE colonia_totales SET activos = 0 WHERE activos IS NULL UPDATE colonia_totales SET inactivos = 0 WHERE inactivos IS NULL SELECT * FROM colonia_totales
Quisiera saber si es posible sacar esta informacion creando esa ultima tabla de totales, de una manera mas simple, sin tener que crear 2 tablas intermedias. Intente lo siguiente: SELECT c1.colonia, COUNT(DISTINCT c2.cliente) AS activos, COUNT(DISTINCT c3.cliente) AS inactivos FROM clientes AS c1 INNER JOIN contrato AS c2 ON c1.id = c2.cliente INNER JOIN contrato AS c3 ON c1.id = c3.cliente WHERE c2.cerrado = 0 OR c3.cliente NOT IN (SELECT cliente FROM contrato WHERE cerrado = 0) GROUP BY c1.colonia ORDER BY c1.colonia
Pero ademas de que la consulta demora 15 segundos, a diferencia de las anteriores, que hace todo en 2 segundos, no me arroja el resultado correcto, sino que me arroja la suma de activos e inactivos, de la siguiente manera: Colonia Activos Inactivos A 11 11 B 2 2 C 1 1 D 2 2
Pero eso mismo ya lo obtengo de manera mas eficiente (un segundo) de la siguiente manera: SELECT c1.colonia, COUNT(DISTINCT c1.id) AS total FROM clientes AS c1 INNER JOIN contrato AS c2 ON c1.id = c2.cliente GROUP BY c1.colonia ORDER BY c1.colonia
Repito mi pregunta, alguna idea para sacar el resultado de totales que deseo, sin tener que crear 3 tablas intermedias? Uso SQL Server 2000 Saludos
7
« en: Miércoles 3 de Septiembre de 2008, 02:26 »
Tengo un problema que no he podido resolver, resulta que tengo un DataGridView que lleno previamente mediante un DataTable que obengo de una base de datos, y quiero añadirle una columna extra en la que calcule el 15% de impuesto. El problema es que aunque añado la columna, y despues recorro las filas con un foreach para llenar las celdas, al despelgar el DataGridView en el formulario, esta columna me aparece vacia. A pesar de que ya comprobe que la celda tiene un valor en el debugger. Ojala y alguien me pudiera explicar el porque, y si hay una solucion, que no sea añadir un campo extra a la B.D. private void ChildFormArticuloslectura_Load(object sender, EventArgs e) { tablaExistencias = articulos.ObtenerExistencias(); dgvArticulos.DataSource = tablaExistencias; dgvArticulos.Columns[0].HeaderText = "CLAVE ARTICULO"; dgvArticulos.Columns[1].HeaderText = "DESCRIPCION"; dgvArticulos.Columns[2].HeaderText = "IDENTIFICACION"; dgvArticulos.Columns[3].HeaderText = "PRECIO COSTO"; dgvArticulos.Columns[3].DefaultCellStyle.Format = "C2"; dgvArticulos.Columns[3].DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopRight; dgvArticulos.Columns[4].HeaderText = "EXISTENCIAS"; dgvArticulos.Columns[4].DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopRight; dgvArticulos.Columns.Add("articulos_iva", "IVA"); foreach (DataGridViewRow row in dgvArticulos.Rows) { row.Cells[5].Value = (decimal)(row.Cells[3].Value) * 0.15m; } }
8
« en: Jueves 26 de Junio de 2008, 19:17 »
Una pregunta, en este nuevo foro, cada vez que respondo o publico un mensaje en un hilo, me suscribe automaticamente, y me manda un mail cada vez que alguien responde en el mismo hilo, como lo puedo desactivar? estuve buscando y no encuentro como. Saludos
9
« en: Jueves 28 de Junio de 2007, 04:31 »
Bueno, le he estado buscando, pero no le he dado en el clavo, y es que nunca entendi muy bien las plantillas avanzadas en C++ . basicamente me gustaria que alguien me dijera a que traduce la siguiente plantilla: class MemberFunctionSlot { public: virtual ~MemberFunctionSlot() {}; virtual bool execute(const EventArgs& args) = 0; }; template<typename T> class MemberFunctionPointer : public MemberFunctionSlot { public: typedef bool (T::*MemberFunction)(const EventArgs&); public: MemberFunctionPointer() : d_undefined(true) {} MemberFunctionPointer(MemberFunction func, T* obj) : d_function(func), d_object(obj), d_undefined(false) {} virtual ~MemberFunctionPointer() {} virtual bool execute(const EventArgs& args) { if(!d_undefined) return (d_object->*d_function)(args); return false; } protected: MemberFunction d_function; T* d_object; bool d_undefined; };
Aqui pongo la aproximacion que he hecho en C#: public class MemberFunctionSlot { public virtual bool execute(EventArgs args); } public class MemberFunctionPointer<T> : MemberFunctionSlot { public bool MemberFunction(EventArgs args); public MemberFunctionPointer() { d_undefined(true); } public MemberFunctionPointer(MemberFunction func, T obj)//Esta linea me da error { d_function(func); d_object(obj); d_undefined(false); } public virtual bool execute(EventArgs args) { if (!d_undefined) return (d_object.d_function)(args); return false; } protected MemberFunction d_function;//esta linea me da error protected T d_object; protected bool d_undefined; }
El error que me marca es el siguiente: C:\CvsProjects\proyecto-x\alfa\jubilee\QuickGUI\src2\QuickGUIMemberFunctionPointer.cs(36,38): error CS0118: 'Cm.QuickGUI.MemberFunctionPointer<T>.MemberFunction(System.EventArgs)' es 'método' pero se utiliza como 'tipo' C:\CvsProjects\proyecto-x\alfa\jubilee\QuickGUI\src2\QuickGUIMemberFunctionPointer.cs(50,19): error CS0118: 'Cm.QuickGUI.MemberFunctionPointer<T>.MemberFunction(System.EventArgs)' es 'método' pero se utiliza como 'tipo' Si alguien me puede iluminar que estoy haciendo mal y como lo puedo arreglar, se lo agradecere Saludos
10
« en: Martes 26 de Julio de 2005, 01:06 »
Pues eso, como me ha llamado mucho la atencion la programación gráfica 3D, hice una página acerca de OGRE, utilizando XOOPS, se aceptan opiniones y sugerencias, aunque advierto, todavia no pongo mucho contenido. Saludos http://profesorxy.cogia.net
11
« en: Lunes 16 de Febrero de 2004, 14:34 »
Proyecto-X URL : http://www.proyecto-x.netWeb dedicada al desarrollo de un juego, que esta siendo creado como un proyecto libre, por el grupo de programación y diseño Cubical Minds. En este portal, podreis encontrar información tanto sobre el juego, como sobre los que lo desarrollan, además si quereis colaborar en la creación de dicho juego, este es el lugar para contactar. Si lo que quieres es colaborar en la creacion del juego, ponte en contacto en http://www.proyecto-x.net, sigue los pasos que se te indican, y pronto recibiras noticias. Para ayudar en la creacion de dicho juego, no necesitas conocimientos especificos y muy altos, unicamente necesitas ganas de aprender y pasarlo bien. Todos son bienvenidos, aunque lo que mas necesita en este momento son grafistas y modeladores 3D. Un Saludo.
Páginas: [1]
|
|
|