lunes, 6 de octubre de 2008

Error en el Return Next

Error al Ejecutar Funcion en plpgsql, como aso curioso me ocurrio este error:

ERROR: se llama una funcion que retorna un conjunto en un contexto que no puede aceptarlo
CONTEXT: PL/pgSQL function "get_record_cadenas" line 7 at return next

Lamentablemente no encontre la solucion facilmente, aqui un ejemplo de una funcion, el error y la solucion:


CREATE OR REPLACE FUNCTION maestros.get_record_cadenas(campod bpchar, tabla bpchar, campof bpchar, cadena bpchar)
RETURNS SETOF record AS
$BODY$
declare
record1 record;
begin
--*
FOR record1 IN execute 'select ' || $1 || ' from ' || $2 || ' where position(' || $3 || ' in ' || quote_literal($4) || ') > 0' LOOP
return next record1;
end loop;
return;
end
$BODY$
LANGUAGE 'plpgsql' VOLATILE;

Al llamar a la funcion de esta forma:

select maestros.get_record_cadenas('usu_nombre', 'maestros.usuarios', 'usu_codigo', '003--*--GERENCIA')

Me arrojaba el error arriba indicado en rojo.

La solucion resulta bastante simple:

select * from maestros.get_record_cadenas('nombres', 'clientes', 'codigo', 'valor1*valor2*valor3') as (usuario varchar);

Continúa...

lunes, 29 de septiembre de 2008

PostgreSql: Creacion de campo con CASE WHEN END en el Default

El dia de hoy necesite crear un campo que me parecio medio complejo al principio, la verdad que no busque documentacion si no que me aventure a crearlo.

La idea era crear un campo que tomara la fecha del Sistema y colocara los dos ultimos digitos del año, como siempre hay muchas formas de hacerlo, aqui copio lo que hice y funciono, por lo menos funcionara dentro del proximo milenio :D

ALTER TABLE maestros.numerador ADD COLUMN anho character(2) DEFAULT case when extract(year from now()) - 2000 > 10 then '' else '0' end || cast(extract(year from now()) - 2000 as varchar);

Siempre se descubren y aprenden cosas nuevas.

Como dicen: "Hoy puedo irme a dormir tranquilo ya que aprendi una cosa mas!!!!"

Continúa...

miércoles, 24 de septiembre de 2008

Windows vista: Activar Usuario Administrador

Los usuarios en Windows Vista aunque pertenezcan al grupo de Administradores no poseen la totalidad de privilegios del Administrador. Ni tan siquiera desactivando el UAC (Control de Acceso) se consiguen los mismo derechos. Por ejemplo, Virtual Server 2005 no puede instalarse en un usuario Administrador ni tan siquiera si se desactiva el UAC, debiendo instalarse en el verdadero usuario
"Administrador".

Para activar el Usuario "Administrador" debemos hacer lo siguiente:


1.- En Windows Vista Business, Ultimate y Enterprise: Boton derecho en Equipo, Clic en Administrar, y en la parte de cuentas de usuario, boton derecho en el usuario Administrador y activar.

2.- En Windows Home o Home Premium, no parece dicha opcion por lo que tendremos que hacerlo desde una consola de comandos. Arrancamos en Accesorios una consula de comandos con el boton derecho y "Ejecutar como Administrador" ( Inicio, Accesorios y boton derecho en simbolo del sistema y "ejecutar como administrador" ). Desde ella ejecutamos:

net user Administrador /active:yes

Es importante reiniciar la Pc luego de estos cambios. Deberia de bastar con cerrar sesion y se vera el usuario, pero sabem,os que Windows no siempre funciona asi.

Continúa...

martes, 22 de julio de 2008

Como abrir un archivo PDF desde VB 6

Quizas por un poco de flojera al buscar o por que no me daba tiempo (paciencia) para leer con calma es que me demoro encontrar un procedimiento aparentemente tan sencillo, aqui coloco dos ejemplos de como hacerlo.

Metodo 1:

Shell ("rundll32.exe url.dll,FileProtocolHandler " & App.Path & ("\reportes\Mi_Archivo.pdf")), vbMaximizedFocus

Sencillo abre el arcivo PDF en una ventana maximizada


Metodo 2:

El procedimiento consiste en colocar un objeto AcroPDF en un formulario, presenta todos los menu del Acrobat REader, el ejemplo completo aqui.

Continúa...

miércoles, 4 de junio de 2008

Firefox Download Day 2008

Download Day 2008

Queremos establecer un récord Guinness mundial al software más descargado en 24 horas ¡y con tu ayuda sabemos que podemos conseguirlo! Aquí hay otras formas de involucrarse
Juega limpio. Ayúdanos a conseguir este récord de forma legal.
Por favor, abstente de programar bots de descarga o cualquier tipo de mecanismo deshonesto. Realmente creemos en nuestra comunidad para difundir la voz.

Continúa...

viernes, 30 de mayo de 2008

Con un Query listar las fechas entre una y otra

Un listado de fechas entre una y otra fecha, bastante interesante y sencillo, es un aporte en la lista de postgres

select '25/05/2008'::date+dia
from generate_series(1,'02/06/2008'::date - '25/05/2008'::date) dia;


?column?
------------
2008-05-26
2008-05-27
2008-05-28
2008-05-29
2008-05-30
2008-05-31
2008-06-01
2008-06-02
(8 rows)

Para poder entenderla mejor prueben este Query:

select *
from generate_series(1,'02/06/2008'::date - '25/05/2008'::date) dia;

Continúa...

jueves, 29 de mayo de 2008

Algunos trucos y artificios para Windows

Siempre hay algunos trucos y artificios que se utilizan para tratar de hacer una mejor labor de Soporte, aqui algunos de esos trucos que me sirven y sirvieron, quizas fuera de epoca, pero en fin para que puedan ser utilizados y encontrados cada vez que se necesiten.


Eliminar Messenger

RunDll32 advpack.dll,LaunchINFSection %windir%\INF\msmsgs.inf,BLC.Remove

Desactivar las activaciones de las memorias USB

1.- Ingresar al RegEdit
2.- Ingresar a la ruta HKLM\system\CurrentControlSet\Services\USBSTORE
3.- Ubicar Start y cambiar el valor de 3 por 4

Error con el Photo Editor

Photo Editor cannot find or open file name

For Microsoft Windows 2000
1.- Log on to Windows 2000 or Windows NT 4.0 by using an account that is a member of the administrators group.
2.- Click Start and then click Run.
3.- In the Open box, type regedt32.exe and then click OK.
4.- In the Registry Editor, select the following registry key:
HKEY_LOCAL_MACHINE\Software\Microsoft\Shared Tools\Graphics Filters
5.- On the Security menu, click Permissions.
6.- In the Registry Key Permissions dialog box, in the Name list, click Users.
7.- In the Permissions list, under Allow, click to select Full Control.
8.- Click OK.
9.- On the Registry menu, click Exit.
NOTE: You can apply a slightly more restrictive set of permissions to the HKEY_LOCAL_MACHINE\Software\Microsoft\Shared Tools\Graphics Filters key by clicking Advanced in the Permissions for Graphics Filters dialog box.

For Microsoft Windows XP
1.- Log on as administrator or as a member of the administrators group.
2.- Click Start and then click Run. In the Open box, type Regedit.exe.
3.- Select the following key:
HKEY_LOCAL_MACHINE\Software\Microsoft\Shared Tools\Graphics Filters
4.- On the Edit menu, click Permissions and then click Advanced.
5.- Verify that the Inherit from parent the permission entries that apply to child objects check box is selected.
6.- Select Users from Permission entries, and then click Edit.
7.- In the Allow column, select the Full Control check box, and then click OK.
8.- Click OK and close the Registry Editor.

Continúa...