• Viernes 19 de Abril de 2024, 07:11

Mostrar Mensajes

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.


Mensajes - jarvizu

Páginas: [1]
1
Bases de Datos / Re: Sumar Horas En Sentencia Sql
« en: Lunes 25 de Febrero de 2008, 23:42 »
Cita de: "UserCode"
Hola por aquí por este foro de Bd nuevamente

No les da rabia cuando se hace algo y luego viene el que le dio inicio y marcha al proyecto y luego de que esté todo hecho (y más cuando algunas cosas costaron hacerlas) venir a decidir que los datos mejor sean X y no Y ????

Tenía un programa que trabajaba con numeros, me costó que aceptara decimales puesto que redondeaban las sumas, etc, igual en Crystal. Pero listo, resuelto.

Ahora viene el muy...  :angry:  que es mejor (prefiere) que en vez de indicar las horas AM y PM de horas de Trabajo de un Empleado, que mejor se ingrese la "Hora de Entrada" y la "Hora de Salida" y automaticamente el programa determina las horas entre hora y hora. Ya por aquí por el foro me han ayudado a cómo hacer eso posible.

Increible que esa decisión de cambio de datos, haya cambiado todo, la ventana que lo maneja (form), su codigo (obviamnente), la tabla que lo relaciona, y desde luego, de eso no escapa el reporte, sentecias SQL nuevas, etc. Todo lo anterior hecho a esto, directo a la papelera del escritorio (por asi decirlo).

El cambio de datos ni siquiera se le ocurrio viendo el progreso del programita, sino de un archivo Excel del cual parte todo esto, es ahí cuando uno se pregunta ¿y porqué no dedujo estos cambios antes de yo haber hecho las cosas? (antes de darme el archivo), simplemente otro más que cree que todo se soluciona con un click, boton derecho y propiedades.

Perdon por lo escrito, es que es la segunda vez que me pasa algo así y ha sido con el mismo individuo, no critico los cambios, digo de que al menos los haga antes y así no hacer que lo ya hecho (en dias y/o horas) no haya valido nada. Todo esto porque la cuestion no fue agregar sino reemplazar/sustituir cosas ya hechas. Sólo sé que de volver a pasar, me voy a sentar con este señor y le voy a explicar mejor las cosas, para que no esté a diestra y siniestra cambiando las cosas a su antojo/gusto luego del trabajo ya hecho.

Bueno a lo que venía a preguntar:
Por favor ¿Sabe alguien como sumar Horas en una sentencia SQL?
He estado intentado algo con CONVERT(DateTime, campo), DATEDIFF() y SUM(DATEPART()) pero error seguido de otro, no he logrado formar algo concreto que funcione.

Como estos datos son el todo y el protagonista del programita, tengo que preguntar, dónde lo subo (cuando esté listo) para que se lo bajen porque al ayudarme a resolver estos problemas, practicamente es como si el programa fuese de todos, aun saliendo del paso de algunos problemitas antes presentados sin consultarlo por aquí, ya un par de cosas, me han ayudado a resovlerlo por aquí. Lo guardan de recuerdo  :)
Nadamas pase a criticar... con buenas intenciones aclaro.

Usercode, en ocasiones el usuario o quien te contrata tiene la idea conceptual de lo que necesita, es funcion del desarrollador tener la vision de lo que en realidad necesita el cliente, esta vision debe enfocarse a la idea central del requerimiento, adentrandonse a los detalles del negocio, no se si me explico, pero es basicamente lo que debe hacer el analista.

He conocido a programadores que me sorprende la capacidad para codificar aplicaciones, pero solamente saben codificar lo que se les pide, "crea una ventana que sume dos mas dos", pero nunca proponen "que te parece si te hago una ventana con una calculadora"...

Es un consejo que puedo compartirte, analisis, primero conceptual despues detallado, esto te evitara mil dolores de cabeza, siento no haber sido de ayuda en el punto central del post. (tengo 20 años como analista y desarrollador de aplicaciones).

2
Power Builder / Re: Migrar A Una Version Previa
« en: Jueves 21 de Septiembre de 2006, 08:52 »
Carlos...

Hace unos meses me paso lo mismo de PB8 a PB9, la verdad lo hice al estilo cavernicola, tuve que exportar uno a uno los objetos, ventanas, datawindow, controles, funciones, etc.... y creeme que fueron un chorro, el problema que al importarlos a PB8 me daba un error encontre que PB le pone una cabecera a los archivos de exportacion, en la que indica la version de la que viene el codigo, lo unico que tuve que hacer fue cambiar el numero de version de la cabecera y uno que otro dato html y xml que me enviaba el PB9, esto debido a que PB8 no soportaba los datos XML en el codigo exportado.

Si encontraste algo mas facil por favor comparte, me interesa mucho no quiero volver ha hacer lo que ya te platique, (espero que no me vean en la necesidad nuevamente).


Saludos!!!





Tijuana, B.C. Mexico.

3
Power Builder / Re: Tablas Historicas
« en: Jueves 21 de Septiembre de 2006, 08:47 »
pierpiter!!!!!!!


Se soluciono el problema?, platicanos....


Saludos!!!










Tijuana, B.C. Mexico.

4
Power Builder / Re: Ayuda Con Una Transaccion!!
« en: Jueves 21 de Septiembre de 2006, 08:44 »
girl18...

Efectivamente como te dice el buen amigo pierpiter, puedes hacer la actualizacion de manera asincrona, es decir primero en una tabla y despues en otra, aunque puedes hacerlo tambien con una datawindow compuesta, pero seria mas dificil si estas empezando con PB, ahora por que no pones el esquema de tu BD y la PBL, para ver que podemos hacer, creo que el problema no es de programacion mas bien es de implementacion de las herramientas.

Bueno espero que te animes a poner la pbl y el esquema con el de las dos tablas que mencionas es suficiente no es necesario toda la BD.


Saludos!!!!






TIJUANA, B.C. Mexico

5
Power Builder / Por Favor Retroalimenten...
« en: Jueves 21 de Septiembre de 2006, 08:34 »
Amigos...


Por favor retroalimenten cuando un problema se haya resuelto con las ideas, consejos, o en el ultimo de los casos tonterias que otros les digamos (sin afan de ofender), ya que he visto que algunos hilos se quedan muertos, no se si es por que ya se soluciono el problema o por que el que pregunto se desespero y se fue a otro foro, etc.... creo que si damos una respuesta de que nuestro problema ya se resolvio es bueno para la comunidad asi los proximos en preguntar ahi encontrara respuestas mas atinadas.

Sr. webmaster, no intento meterme en sus terrenos de moderador, solo es una sugerencia para el foro.


Saludos!!!





Tijuana, B.C. Mexico

6
Power Builder / Re: Problema Con Tab Control
« en: Jueves 21 de Septiembre de 2006, 08:28 »
NEooo???


Se arreglo??



Saludos!!!

7
Power Builder / Re: Crosstab - Crosstabsum
« en: Jueves 21 de Septiembre de 2006, 08:26 »
A ver si entendi..

Deseas modificar los totales del crostabsum... ok es sencillo selecciona el computedfile, en la parte de las propiedades te vas al recuadro descriptivo de la operacion que efectua el computedfile, tiene un boton de adicionales (...), te abrirar undialogo paraque edites la formula que compone el computedfile, te dira algo asi como crosstabssum(1,2,3,4,5,@algo), los numeros con los numeros de los computedfile que componene a este mismo computedfile.

Espero te sirva.


Saludos!!!.







Tijuana, B.C. Mexico.

8
Power Builder / Re: Cambiar Propiedades De
« en: Jueves 21 de Septiembre de 2006, 08:21 »
Que tal Amigo...

Sabes hace tiempo hice algo parecido a lo que mencionas, mejor dicho implemente algo parecido, pero creo que lo que necesitas hacer es un objeto no visual de usuario el cual reciba los datos los analize, este objeto se lo heredas a el objeto que vas a crear es decir creas un nvo del tipo window, cuando crees una window nueva instancias la variable nvowindow del tipo window, para que herede las propiedades del nvo, la funcion que mencionas estara en el nvo, asi la herencia permitira leer el contenido de la ventana a la cual se heredo.

No se si me explique creo que no... mmm pero sabes existe un ejemplo en una aplicacion para poner skines a las ventanas, en este momento no recuerdo si esta en www.powerbuilder.org, buscala como skinchange o algo asi, en esa app, viene claramente lo que trate de explicar.


Saludos!!!!




Tijuana, B.C.

9
Power Builder / Re: Como Restar Fechas En Power Builder
« en: Jueves 21 de Septiembre de 2006, 07:59 »
Mi chavo dale una leida al help, algo que ningun otro IDE a superado a PB es la ayuda, aqui te dejo un ejemplo extraido del help en las funciones de fecha.

Código: Text
  1.  
  2.  
  3. This statement returns 4:
  4.  
  5. DaysAfter(1996-12-20, 1996-12-24)
  6.  
  7. This statement returns -4:
  8.  
  9. DaysAfter(1996-12-24, 1996-12-20)
  10.  
  11. This statement returns 0:
  12.  
  13. DaysAfter(1996-12-24, 1996-12-24)
  14.  
  15. This statement returns 5:
  16.  
  17. DaysAfter(1994-12-29, 1995-01-03)
  18.  
  19. If you declare date1 and date2 date variables and assign February 16, 1996, to date1 and April 28, 1996, to date2 as follows:
  20.  
  21. date date1, date2
  22.  
  23. date1 = 1996-02-16
  24.  
  25. date2 = 1996-04-28
  26.  
  27. then each of the following statements returns 71:
  28.  
  29. DaysAfter(date1, date2)
  30.  
  31. DaysAfter(1996-02-16, date2)
  32.  
  33. DaysAfter(date1, 1996-04-28)
  34.  
  35. DaysAfter(1996-02-16, 1996-04-28)
  36.  
  37.  

10
Power Builder / Re: Evento Keypress De Singlelineedit
« en: Jueves 21 de Septiembre de 2006, 07:53 »
Que tal evmun...

Primero, te comento que lo siguiente es usando power 8.0.4, el build 10923, he usado poco el 10.5 creoque todavia no tiene el evento keypress implicito en el control singlelineedit, por lo cual lo tienes que crear tu mismo.

Paso 1, en el listbox de los eventos del control selecciona new event, solo rellena el textbox con el nombre el evento de preferencia identificalo con el prefijo ue_, de tal manera que quedaria algo asi ue_mievento, los demas datos losdejas tal y comoestan.

Paso 2, ahora tienes que indicar que al llamar a tu evento se disparara un evento propio del control, en tu caso el que queremos es el de keypress (bueno asi dice VB), en el caso de PB es pbm_keyDown si lo que quieres es evaluar una tecla especifica, si lo que deseas es lo que se va tecleando sin importar cual es el evento es pbm_keyUp.


Tercero ahora si pones el codigo que quieres que actue cuando se de el evento de la tecla y listo.

Te doy un ejemplo de una busqueda recursiva en una dw desde un sle.

Código: Text
  1.  
  2.  
  3. type sle_buscar from singlelineedit within w_art_lista
  4. event ue_digitando pbm_keyup
  5. integer x = 50
  6. integer y = 104
  7. integer width = 814
  8. integer height = 92
  9. integer taborder = 10
  10. integer textsize = -10
  11. integer weight = 400
  12. fontcharset fontcharset = ansi!
  13. fontpitch fontpitch = variable!
  14. fontfamily fontfamily = swiss!
  15. string facename = "Arial"
  16. long textcolor = 33554432
  17. textcase textcase = upper!
  18. borderstyle borderstyle = stylelowered!
  19. end type
  20.  
  21. event ue_digitando;string ls_busca, ls_columna
  22. integer li_fila,li_largo
  23.  
  24. //tomamos el valor...
  25.  
  26. ls_busca = trim(sle_buscar.text)
  27. li_largo=len(ls_busca)
  28.  
  29. /* Tomamos la segunda columna como la de busqueda o el campo donde se desea buscar lo que se digita... */
  30.  
  31. ls_columna = dw_arlis.Describe("#1.Name")
  32.  
  33. /* Aqui agregaremos a un string todo el argumento
  34.  de busqueda con los parametros... */
  35.  
  36. ls_busca = "Mid (" + ls_columna + ",1," + string(li_largo)+ " ) = '" + ls_busca + "'"
  37.  
  38.  
  39. li_fila = dw_arlis.Find (ls_busca, 1, dw_arlis.rowcount())
  40.  
  41. IF li_fila > 0 THEN
  42.   //si encontro algo con ese argumento.. lo lleva a esa fila...
  43.   dw_arlis.setrow ( li_fila )
  44.   dw_arlis.ScrollToRow ( li_fila )
  45. else
  46.   //sino encontro nada con ese argumento nos lleva a la fila 1
  47.   dw_arlis.setrow (1)
  48.   dw_arlis.ScrollToRow (1)
  49. END IF
  50.  
  51. end event
  52.  
  53.  
  54.  

11
Power Builder / Re: Helpme Con Codigos
« en: Jueves 21 de Septiembre de 2006, 07:30 »
admins del sitio envie una respuesta a un hilo y no se por que se fue a otro por fa si puedesd mover el mensaje adonde corresponde, es el mensaje de la variables de acceso.


gracias

12
Power Builder / Re: Helpme Con Codigos
« en: Jueves 21 de Septiembre de 2006, 07:28 »
Tu Codigo quedaria algo asi:

/ declarmos variables
string nom,cla

// nuevas variables
string ls_clvnva, ls_pswnva

ls_clvnva = trim(sle_nombre.text)
ls_pswnva = trim(sle_pass.text)

//selecionamos el nombre y la clave paa comparar si son iguales

   select Usuario,Password
   into :nom,:cla from Registro
   where Usuario  =:ls_clvnva and
            Password=:ld_pswnva;

//verifica si existe la clave

if blio.sqlcode=100 then
   contador=contador+1
   messagebox('Advertencia','Nombre Incorrecto o Contraseña Errada',exclamation!)
  if contador = 3 then
      messagebox('Aviso','Intentos Fallidos, El Sistema se Cerrará',exclamation!)
  else
     sle_nombre.text=""
     sle_pass.text=""
     sle_nombre.setfocus()
  end if
else
  open(w_administrador)
end if

13
Power Builder / Re: Power Builder
« en: Lunes 29 de Marzo de 2004, 21:33 »
Que onda Puppet...

Lo que necesitas es sencillo te recomiendo que leas la documentacion que incluye en help en la seccion de dwreport del power builder... si necesitas algo mas especifico no dudes en preguntarme..


Saludos
 :kicking:

14
Power Builder / Re: Agragar Campos A Un Dropdownlistbox
« en: Lunes 29 de Marzo de 2004, 21:29 »
Que tal Harol..

No me queda muy claro deseas agregar los campos o los registros de una bd al ddlb?...

Si lo que deseas es enviar los registros a un ddlb, te recomiendo que uses un ciclo do whilw o un do loop o un for next combinado con la lectura de una datawindow, basicamente lo que harias es leer el contenido de cada registro de la dw ponerlo en una variable temporal y depositarlo en la ddlb con la funcion additem.

Mira yo utilizo esto para cargar una tabla de ciudades en un ddlb, pero como necesito la informacion de varios campos, lo que hago es poner la informacion que desplegare al incio de la cadena e inserto espacios suficientes para que el resto de la info no aparezca para el usuario,  le doy un formato especifico a la cadena que contiene le resto de la info y ais es como la puedo leer y sacar los diferentes datos que necesito.

Ejemplo.

// poblar combo con las plazas
  ll_rows = w_boletines.tab_1.tabpage_ivr.dw_plazas_stp.RowCount()
  m = 0
  for l = 1 to ll_rows
    m++
    ls_cod_plz =
      w_boletines.tab_1.tabpage_ivr.dw_plazas_stp.getitemstring(m,"descripcion")+"
      "+&
      w_boletines.tab_1.tabpage_ivr.dw_plazas_stp.getitemstring(m,"location")+&
      w_boletines.tab_1.tabpage_ivr.dw_plazas_stp.getitemstring(m,"plaza")+&
      w_boletines.tab_1.tabpage_ivr.dw_plazas_stp.getitemstring(m,"mtx")
      ddplb_plazas.additem(ls_cod_plz)
   next

   // poblar combo con los modelos
  //**********************************
  ll_rows = dw_modelos.RowCount()
    m = 0
    for l = 1 to ll_rows
        m++
         ls_modelo   = trim(dw_modelos.getitemstring(m,"marcas_marca_des"))+"
         "+&
          trim(dw_modelos.getitemstring(m,"mode_des"))+"
          "+&
          dw_modelos.getitemstring(m,"mode_id")
         ddplb_modelo.additem(ls_modelo)
    next


espero te sirva de algo

Saludos

 :kicking:

15
Power Builder / Re: Datawindow Dinamico
« en: Lunes 29 de Marzo de 2004, 21:19 »
Que tal armando...

Para poder leer el sql embedido a una datawindow utiliza la funcion GetSQLPreview().

algo asi como esto
en una multiline edit despliegas el sql actual en la datawindow status.

mle_sql.Text = dw_status.GetSQLPreview()

Si quieres cambiar el query embedido a la datawindow puedes utilizar la funcion

SetSQLPreview()

Ejemplo:

dw_1.SetSQLPreview("INSERT INTO billings VALUES(100, " +StringCurrent_balance) + ")")



Con la combinacion de estas dos funciones puedes reconstruir el query actual de una dw o bien puedes adicionarle cosas ya es cuestion de tu imaginacion y necesidades.

Saludos :kicking:

16
Power Builder / Re: Funciones Para Imprimir En Pb8
« en: Lunes 29 de Marzo de 2004, 21:09 »
Hola AMigo

No logro entender que es lo que te sucede en la datawindow, veras yo tengo una aplicacion que tiene reportes combinados y nunca he tenido algun problema de impresion como el que describes, si pudieras dar mas datos para tratar de encontrar la falla.

Saludos.

 :hola:

17
Power Builder / Re: Donde Consigo Un Manual De Power Builder
« en: Lunes 29 de Marzo de 2004, 21:06 »
Que tal Edgar..  :hola:

Puedes ir a la pagina oficial de Sybase.

http://sybooks.sybase.com/pbg0800e.html --para power builder 8
http://sybooks.sybase.com/pbg0900e.html --para power builder 9

o bien en la pagina http://www.geocities.com/tutoriales20/  tiene muy buenos links sobre power builder, te lo recomiendo.


puedes contactar tambien la pagina www.powerbuilder.org tiene buenos links y buenos trucos.

Espero te sirva de ayuda y que no sea demasiado tarde.

Bye...   :hola:

18
Power Builder / Re: Necesito Lo Siguiente
« en: Miércoles 28 de Enero de 2004, 21:30 »
:comp:

Oye Amigo, leiste las reglas del foro?, no hagas preguntas de tu tarea,
o al menos despistala, no escribas literalmente lo que te pidieron, usa
un poco el cerebro... :alien:

Esa tarea es de las mas faciles que te van a dejar en programacion. Si no
la puedes resolver olvidate de la programacion  :P  :P

Bye.....

 :hola:

19
Power Builder / como validar!!!!!
« en: Miércoles 1 de Octubre de 2003, 21:14 »
Que tal...

Encontre este codigo por ahi en la red.. si necesitas el pbl enviame tu email y te envio para que lo pruebes....

mi emial es jarvizu@mail.telcel.com

Qu estes bien..

*********************************

string  ls
int li , li_cur
boolean lb_paso_numer,lb_paso_letra
//INICIALIZO LAS VARIABLES
lb_paso_numer =  false
lb_paso_letra =  false
//ACEPTO EL BUFFER
this.accepttext( )
// PREGUNTO SI ES CAMPO
if dwo.name='appaterno' or dwo.name='apmaterno' or dwo.name='nombre'  then
  // SI NO SE APRETO BACKSPACE    
  if    not KeyDown(KeyBack!) then
   for li = 1  to len(data)
         /* aqui se ve si son letras mayusculas                 o    espacion               o  si son letras minusculas   */
      if (mid(data, li, 1) >= 'A' and mid(data, li, 1) <= 'Z' ) or  mid(data, li, 1) = ' ' or (mid(data, li, 1) >= 'a' and mid(data, li, 1)<= 'z' )  then
          ls += mid(data, li, 1)
          if not lb_paso_numer then
            // SE COMPARA LA DATA ANTIGUA CON LA NUEVA
            if mid(is_anterior,li,1) = mid(data,li ,1) and not lb_paso_letra then
              li_cur = LEN(DATA) + 1   
            elseif not lb_paso_letra then
              li_cur  = li +1
              lb_paso_letra =  true         
            end if
          end if
      elseif mid(data, li, 1) >= '0' and mid(data, li, 1) <= '9' then
       lb_paso_numer =  true
       li_cur = li            
      end if
      settext(ls)
   next
   //SE ASIGNA LA NUEVA DATA A UNA VARIABLE DE INSTANCIA  PARA COMPARAR DATA
   is_anterior = ls
   selecttext(li_cur,0)
  end if
end if  
*******************************
DECALARAR EN Instance Varibles
STRING is_anterior

Páginas: [1]