• Viernes 26 de Abril de 2024, 22:22

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 - pierpiter

Páginas: [1] 2 3
1
Power Builder / Re: Problema Con Tab Control
« en: Martes 15 de Agosto de 2006, 17:11 »
Buenas, chequeate el tab order, puede que este en cero (no creo, pero hay que ver todas las posibilidades), si esta en cero cambialo. Saludos.

2
Power Builder / Re: Ayuda Dropdowndw
« en: Martes 8 de Agosto de 2006, 16:37 »
Hola, abrí la datawindow que vas a usar como dropdowndw, en el modo de edición anda al menú "Rows" y ahí clickeá en "Sort..." Eso te abre una ventanita con todos los campos que tiene la datawindow, arrastra y soltá por el campo que quieras ordenar la datawindow (uno, dos o los campos que quieras). Espero te sirva, saludos.

3
Power Builder / Re: Select
« en: Lunes 7 de Agosto de 2006, 15:32 »
Hola, el botón tiene que estar en el datawindow? porque podés hacer el datawindow con el select directamente. Después haces una caja de texto donde pueda ingresar el número y con un botón que haga el retrieve del datawindow pasandole como parámetro el valor ingresado en la caja de texto.
El select ya lo tenés armado? si es así hace lo siguiente:
Crea una nueva datawindow sql select, donde te aparece para elegir las tablas que va a usar la datawindow ponele "Cancel".
Te queda la ventana vacia, ahí anda el menu "Design" y al submenú "Convert To Syntax". En la pantalla que te queda podés escribir directamente la consulta. Copia y pega el select que tengas. (ahora depende de que criterio quieras usar para la consulta, supongamos que se ingresa la identificación y querés que te devuelva todos los registros según la identificación). Al select, en el where ponele (siguiendo el ejemplo de identificación) "where identificacion = :p_identificacion" ("p_identificacion puede ser cualquier nombre que quieras y sin comillas, si tienen que ir los dos puntos para indicarle que es una variable).
Ahora lo único que falta es definirle a la datawindow ese parametro. Anda al menú "Design" (ahora es distinto los submenu que tiene adentro) y seleccioná "Retrieval Arguments..." Eso te abre una pantallita donde tenes que definir el parámetro que usastes en el select (pueden ser varios, pero sigo el ejemplo de identificación solamente). En esa pantallita ponele el nombre que usastes para el parámetro en el select (en mi caso p_identificacion) y la definis del tipo que tiene que ser, por ejemplo "number".
Ahora termina de crear la datawindow y ya estaría el primer paso. Te quedaría hacer el sle y un botón con el retrieve de la datawindow, por ejemplo:

dw_1.retrieve(integer(sle_1.text))

(obviamente tenés que hacer validaciones antes de hacer el retrieve sino te va a dar error).
Bueno, comenta como te fué y si te trabas con algo lo vemos, saludos.

4
Power Builder / Re: Ayuda En Cruce De Datos
« en: Lunes 7 de Agosto de 2006, 15:15 »
Buenas, no entiendo muy bien que querés hacer. El rango de números que tenés es variable (el 1, 2, 3, 4, 5, etc.)? siempre arranca de 1 o se lo puede ingresar el usuario? el rango lo carga el usuario? el rango es continuo (o sea, puede saltar del 2 al 5 sin que este el 3 y el 4)?
Para armar las parejas de números se podría usar un ciclo e ir concatenando, quizás usando 2 arrays, uno para almacenar todos los números y otro para guardar todas las parejas armadas.
Bueno, espero tu respuesta así seguimos viendo como podemos hacer, saludos.

5
Power Builder / Re: Tablas Historicas
« en: Jueves 27 de Julio de 2006, 19:36 »
Te mande un mail con el correo, saludos.

6
Power Builder / Re: Ayuda Con Una Transaccion!!
« en: Jueves 27 de Julio de 2006, 19:07 »
Hola, una de las cosas que haría yo es capturar los datos que hay en el datawindow y después hacer el update en la base. Por lo que veo en la imagen, los botones estan fuera del dw, por lo tanto en el botón guardar haría el update del activo seleccionado.
Esto lo haces usando funciones del datawindow (getitemstring, getitemnumber, etc.) todo depende de los tipos de datos que tengas.
También hay otra forma, que yo no la uso, quizás alguien más tenga idea de como se usa. Cuando estas en el modo de edición del dw, seleccioná el menú "Row" y dentro el menú "Update Properties". Ahí permite hacer updates de tabla, pero creo que deja de una sola.

En cuanto a lo de la ubicación origen y la actual, si tenés en la tabla los datos y estan relacionados, con seleccionar el campo origen y ponerlo en el datawindow, al hacer el retrieve del dw ya te lo traería.
Sino podés cargarlo mediante una consulta y agregarlo con la función setitem.

Si podés mandame el objeto exportado, o si tenés todo en una pbl como para ver los nombres y los objetos y la descripción de las tablas que estas usando.
Saludos.

7
Power Builder / Re: Leer Archivo .ini
« en: Jueves 27 de Julio de 2006, 16:12 »
Existe una función llamada ProfileString que es para eso. Te pongo la sintaxis:

ProfileString ( filename, section, key, default )

Busca esa función en la ayuda de powerbuilder que te explica todos los parámetros y te muestra ejemplos, cualquier duda consulta de nuevo, saludos.

8
Power Builder / Re: Tablas Historicas
« en: Jueves 27 de Julio de 2006, 16:09 »
Esto esta relacionado a lo anterior del sistema de inventario de activos físicos? Desde powerbuilder no creo que exista esa posibilidad de crear tablas históricas, quizás desde el motor de base de datos puede que se pueda.

Pero te recomendaría lo siguiente (si es que esta relacionado con el anterior post):

Crea una tabla donde guardas todos los datos del activo donde estarían todos los datos originales de este.
En otra tabla creas todos los movimientos que se hacen de un activo y relacionas esta tabla con la anterior a través de un código de activo por ejemplo.

De esta forma evitas tener tablas duplicadas (una con los datos originales y otra igual con el movimiento que se hizo). Además es más conveniente, la primera tabla contendría siempre los datos originales y la segunda los movimientos que se hacen de ese activo.
Cuando creas el datawindow selecciona las dos tablas y los campos que necesites (el de origen, el nuevo destino, etc) con esto ya tenés el reporte armado.

Supuse que esto era en base al post anterior, disculpa si no tenía nada que ver, saludos.

9
Power Builder / Re: Ayuda Con El Datawindow
« en: Jueves 27 de Julio de 2006, 15:57 »
Para extraer el texto se usa la función GetItemString, la sintaxis es esta:

dwcontrol.GetItemString ( long row, integer column {, DWBuffer dwbuffer, boolean originalvalue } )

Tenés que decirle en que número fila y columna esta el dato que querés extraer.

Este es un ejemplo de la ayuda:
Código: Text
  1.  
  2. String LName
  3. LName = dw_employee.GetItemString(3, "emp_name")
  4.  
  5.  

Otra opción de esta función es que podés usar el nombre de la columna (como en el ejemplo) para no tener que saber el número de columna.
También hay otras funciones para saber en que fila estas parado actualmente y otras cosas más. Si necesitas más ayuda avisa.
Saludos.

10
Power Builder / Re: Ayuda Con Una Transaccion!!
« en: Jueves 27 de Julio de 2006, 15:49 »
Hola, para programar la tecla enter tenés que crear un nuevo evento. Para hacer esto, abrí la ventana de script del datawindow, en cualquier evento. Anda al menú "Insert" y seleccioná "Event".
En "Event Name" ponele el nombre que quieras (es el nombre que va a tener el evento) y en "Event ID" selecciona del desplegable el "pbm_dwnprocessenter".
Ahora ya tenés el evento definido, cada vez que se presione enter se va a ejecutar ese evento. Si querés programarlo para una columna u objeto específico, lo que hago yo es esto:

Código: Text
  1.  
  2. // Tengo que procesar solamente cuando presiona enter
  3. // en el campo total....
  4. integer li_numcol
  5. // Extraígo el número de columna en la que estoy posicionado.
  6. li_numcol = this.getcolumn()
  7.  
  8. // pregunto por el número de columna en la que se presionó enter, si es la 5 proceso.
  9. if li_numcol = 5 then
  10.  
  11.     // ACA PONE TODO EL CODIGO QUE NECESITES PARA TU SISTEMA
  12.  
  13. end if
  14.  
  15.  

Ya esta más o menos explicado con los comentarios. Cualquier cosa preguntame, no hay problema.

En cuanto a lo otro, de que forma armas la datawindow? que tipo de datawindow estas usando? En que tabla tenés la ubicación de origen? Si esta en otra tabla, estan relacionadas por algún código?
Cuando puedas conta un poco más del problema a ver si te podemos ayudar, saludos.

11
Power Builder / Re: Helpme Con Codigos
« en: Lunes 24 de Julio de 2006, 15:36 »
Hola, acá hay otro hilo donde se trató el tema, quizás te de más información, saludos.

http://foros.solocodigo.com/index.php?showtopic=19729

12
Power Builder / Re: Menú Para Manejar Ventanas
« en: Miércoles 12 de Julio de 2006, 15:29 »
Buenas, fijate que valor te devuelve, poné el siguiente código y fijate que valor devuelve:

Código: Text
  1.  
  2. int iAux
  3.  
  4. iAux = w_principal.ArrangeSheets(Tile!)
  5.  
  6. messagebox('', string(iAux))
  7.  
  8.  

Si devuelve 1 es que lo esta haciendo, o sea que debería devolver -1 o NULL. Al menos para ver si se esta produciendo un error. Saludos.

13
Power Builder / Re: Help Me!!
« en: Miércoles 5 de Julio de 2006, 15:10 »
Te dejo algunas páginas con ejemplos:

Código: Text
  1. http://www.pbdr.com/software/comp/examples.htm
  2.  

Código: Text
  1. http://powerbuilder.iespana.es/
  2.  

Saludos.

14
Power Builder / Re: Ayudaaaaaaaaaaa
« en: Miércoles 5 de Julio de 2006, 15:08 »
Te dejo algunos links:

Este esta bueno pero esta en inglés:
Código: Text
  1. http://powerbuilder.hyderabadcolleges.com/
  2.  

Acá tenés varios ejemplos y tutoriales, en español:
Código: Text
  1. http://powerbuilder.iespana.es/
  2.  

Saludos.

15
Power Builder / Re: Saber Tipo De Dato De Una Variable
« en: Lunes 3 de Julio de 2006, 16:01 »
Buenas, en power 9 tenés una función que te devuelve el tipo de dato de una variable. La función es ClassName. La sintaxis:

Código: Text
  1. ClassName ( variable )
  2.  

Te pongo un ejemplito:

Código: Text
  1.  
  2. String prueba_str
  3. integer prueba_int
  4.  
  5. prueba_str = classname(prueba_int)
  6. messagebox('Tipo de dato', prueba_str)
  7.  
  8.  

Esta función también esta en power 7 (seguro que en 8 también). Espero te sirva, saludos.

16
Power Builder / Re: Driver..para Conectarme Una Bd Acces...
« en: Lunes 3 de Julio de 2006, 15:37 »
No conozco ningún driver para access, caulquier cosa que encuentre te aviso. Igualmente podés conectarte por ODBC, nunca tube problemas para access con este tipo de conexiones.

Código: Text
  1.  
  2. SQLCA.DBMS = "ODBC"
  3. SQLCA.AutoCommit = False
  4. SQLCA.DBParm = "ConnectString='DSN=nombre_del_origen_de_datos'"
  5.  
  6.  

En el DSN poné el nombre que le distes al profile en el odbc.
Saludos.

17
Power Builder / Re: Error Al Correr El Programa
« en: Jueves 29 de Junio de 2006, 21:07 »
Si, la verdad que no entiendo lo del enter. Fijate si tiene algo que ver la configuración regional de la máquina, quizás sea distinta a la que usabas en la anterior (tenga invertido los símbolos de separación de decimales y los de miles).
Saludos.

18
Power Builder / Re: Uso De Excel
« en: Jueves 29 de Junio de 2006, 21:05 »
Ni idea, pero agarrá para el lado de los controles OLE, quizás puedas encontrar lo que necesitas, saludos.

19
Power Builder / Re: Ayuda Con Validacion!!
« en: Jueves 29 de Junio de 2006, 21:02 »
Te agrego una descripción más sobre el sqlca.
El SQLCA es un objeto que se usa en la transacción, me imagino que algo ya sabrás de esto.
El SQLCode es una propiedad del objeto SQLCA que te devuelve el número de error después de la ejecución de una sentencia. Los números de error más comunes son:

0   Se ejecutó correctamente.
100   Cuando no se encuentra el registro.
-1     Cuando hay algún error en la sentencia.

Por ese motivo en el ejemplo pregunta por el valor de esta propiedad (si es 0, es porque encontro el registro, si es distinta de 0 es que no lo encontró).
Hilando fino, puede que haya algún error en la sentencia o que quieras comparar valores que no corresponden (por ejemplo, un dato string con un campo númerico en la base de datos) en este caso te estaría devolviendo el código de error -1 pero aparecería como que no lo encontró, cuando en realidad hay un error en la sentencia, no quiere decir que el dato no exista.
también podés usar otra propiedad de este objeto (SQLCA) para ver una descripción del error producido (la propiedad SQLErrText), acá un ejemplo:
Código: Text
  1.  
  2. IF SQLCA.SQLCode = -1 THEN
  3.         MessageBox("SQL error", SQLCA.SQLErrText)
  4. END IF
  5.  
  6.  

Bueno, espero haber aportado algo a tus comienzos, cualquier duda, consulta que en el foro seguro te responden, saludos.

20
Power Builder / Re: Utilizacion De Dropdownlistbox
« en: Lunes 26 de Junio de 2006, 19:54 »
Creo que te faltó este paso:
Código: Text
  1. ....en el sql defines un argumento tipo string y lo llamas a_nombre (menu:design... retrieval arguments)...
  2.  

Cuando creas la dw anda al menu design->retrieval arguments, te va a abrir una ventanita para definirle los argumentos a la dw. Ahí creas uno que le ponés "a_nombre" y lo definis del tipo string.
Ahora no recuerdo bien, pero creo que ese error salía cuando no se definían en la dw, pero si lo agregabas al select.
Espero te sirva, saludos.

21
Power Builder / Re: Conectar Con Sql Anywhere 9.0
« en: Lunes 26 de Junio de 2006, 19:41 »
Buenas, chequeate el puerto ese que usas (2638) en el servidor. Fijate que este disponible (quizás lo esta usando otra aplicación). Fijate también que no haya ningún firewall en el server. Después veo si encuentro algo sobre el tema (calculo que eso ya lo abrás chequeado, pero por las dudas). Saludos.

22
Power Builder / Re: Utilizacion De Dropdownlistbox
« en: Viernes 23 de Junio de 2006, 15:18 »
Buenas, si entendí bien, lo que querés es seleccionar algo de un ddlb y después que eso se muestre en un dw.
Como dice leoandres, podés recuperar el item seleccionado usando el evento itemchanged o selectionchanged, ahí, adentro de ese evento, recuperas el dato seleccionado con:

ddlb_1.Text(index)

"Text" es una función propia del ddlb (en la version 9 de power) e "index" es una variable propia del evento, con "Text" recuperas el dato que esta en la posición "index". Una vez que tenés el dato, solo tendrías que recuperar el valor de una base de datos con un select o hacer un "scrolltorow" hasta ese elemento... en fin, depende de si ya tenés el dw cargado o si tenés que cargarlo en base al dato que se selecciona en el ddlb.
Bueno, cualquier cosita pregunta, si no es a lo que apuntabas o si necesitas más ayuda. Saludos.

23
Power Builder / Re: Error Con Varias Dw
« en: Martes 20 de Junio de 2006, 17:18 »
Buenas, pudistes solucionar los problemas de "TYPE..."?? sinceramente no encontre nada sobre eso y no sabía ni que existía.
En cuanto a este error que te da ahora, lo único que se me ocurre es que cuando se hizo el proceso de migración, no pasó bien los nombres de los objetos en el menú... otra no se me ocurre, espero que puedas solucionarlo, saludos!

24
Power Builder / Re: Migrar Datos De Sql 7 A Sql200
« en: Martes 20 de Junio de 2006, 17:12 »
No entiendo bien que es lo que querés, pero si lo que querés es levantar una copia de la base de datos hace lo siguiente:
- Create una nueva base de datos (solo la base, vacia).
- Dale click derecho sobre la base que creastes y seleccioná del menú "Todas las tareas --> Restaurar base de datos".
- Acá vas a tener varias opciones, según de donde quieras levantar el backup que tenés. Si lo tenés en disco o en algún cd. Si este es el caso, selecciona la opción "Desde dispositivos", te va a aparecer un botón que dice "Dispositivos", presiona ese botón.
- Te abre una nueva ventanita, dale al botón "Agregar..." y ahí selecciona la ruta donde tenés el backup, dale aceptar.
- Dale aceptar a la otra ventana, chequeate si algunas de las opciones necesitas tildar, y dale aceptar, ahí comienza el proceso que te levanta el bakcup.

Espero te sirva, si es que era esto lo que querías, saludos.

25
Power Builder / Re: Conectar Sql Anywhere 9.0
« en: Martes 13 de Junio de 2006, 16:13 »
Porbá con esto:

Código: Text
  1.  
  2. /********************************************/
  3. /* Conectar con sqlserver a la base pruebas */
  4. /********************************************/
  5. //// Profile pruebas
  6. SQLCA.DBMS = "Adaptive Server Anywhere 9.0"
  7. SQLCA.Database = "pone el nombre de la base de datos dejando las comillas"
  8. SQLCA.LogPass = "pass de conexión al motor dejando las comillas"
  9. SQLCA.ServerName = "IP del servidor dejando las comillas"
  10. SQLCA.LogId = "usuario dejando las comillas"
  11. SQLCA.AutoCommit = False
  12. SQLCA.DBParm = ""
  13. CONNECT USING SQLCA;
  14.  
  15.  

Probá con eso, no se si el DBMS estará bien, pero lo demás sería así. Te puse que dejes las comillas, por ejemplo, si tenés una base que se llama prueba deja:
Código: Text
  1.  
  2. SQLCA.Database = "prueba"
  3.  
  4.  

Consulta en la ayuda sobre los DBMS cualquier cosa vemos, saludos.

Páginas: [1] 2 3