Browse no muestra registros (SOLUCIONADO)

Browse no muestra registros (SOLUCIONADO)

Postby Compuin » Sat Feb 19, 2011 6:55 pm

Estimados

Estoy trabajando con 2 PRG, uno MAIN donde coloco el siguiente codigo

#include "Fivewin.ch"

FUNCTION MAIN()
LOCAL oBar, oBtn

Set DATE TO FRENCH
SET CENTURY ON
Set EPOCH TO 2000
SET DELETED OFF
SET _3DLOOK ON

REQUEST DBFCDX
RddSetDefault("DBFCDX")

Y en el otro trato de abrir una ventana con un Browse pero este no trae los registros de la DBF

#include "fivewin.ch"
#include "xbrowse.ch"

MEMVAR oWndPrinc

STATIC CODBCO, NOMBCO, CTABCO, CTACTA, GRA, NREG, oDlg, oBrw, oCol, cCODANT, oRpt
STATIC TNUEVO := .T.
STATIC LVAN := .F.

FUNCTION BANCOS()
LOCAL oWndBCO, cTitle, oFont, oBar, oMeter, oText, cAlias, oBrw
LOCAL UBI:= "DATA\"
LOCAL cVIA := "DBFCDX"

IF SELECT("BANCO")>0
BANCO->(DBCLOSEAREA())
ENDIF

IF SELECT("BANCO")=0
DBUSEAREA(.T.,cVia,UBI+"BANCO","BANCO",.T.)
ENDIF

BANCO->(ORDSETFOCUS(1))

DEFINE WINDOW oWndBCO MDICHILD OF oWndPrinc ;

oBrw := TXBrowse():New( oWndBCO )

oBrw:cAlias := cAlias

oBrw:SetRDD()
oBrw:CreateFromCode()
oWndBCO:SetControl(oBrw)

ACTIVATE WINDOW oWndBCO ;
ON INIT oBrw:SetFocus()

Ambos cargan bien, el problema es que no me muestra nungun registro del DBF y este tiene cargado varios alli.

Agradezco cualquier aporte
Last edited by Compuin on Sun Feb 20, 2011 7:36 pm, edited 1 time in total.
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Compuin
 
Posts: 1214
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada

Re: Browse no muestra registros

Postby FranciscoA » Sat Feb 19, 2011 7:45 pm

Hola, la variable cAlias trae valor NIL.

Intenta asi:

IF SELECT("BANCO")=0
DBUSEAREA(.T.,cVia,UBI+"BANCO","BANCO",.T.)
cAlias:=Alias()
ENDIF
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Browse no muestra registros

Postby Compuin » Sat Feb 19, 2011 8:24 pm

Fracisco,

No funciono. Siguen sin aparecer los registros
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Compuin
 
Posts: 1214
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada

Re: Browse no muestra registros

Postby FranciscoA » Sat Feb 19, 2011 10:20 pm

Parece que te falta establecer los indices, porque cerraste y re-abriste la dbf BANCO:

IF SELECT("BANCO")=0
DBUSEAREA(.T.,cVia,UBI+"BANCO","BANCO",.T.)
DBSETINDEX(cIndice1........) ; DBSETINDEX(cIndice2........)
ENDIF

cAlias:=Alias()


BANCO->(ORDSETFOCUS(1))
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Browse no muestra registros

Postby Compuin » Sat Feb 19, 2011 10:30 pm

Agregando indices o no, igual no muestra los registros de la DBF
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Compuin
 
Posts: 1214
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada

Re: Browse no muestra registros

Postby FranciscoA » Sat Feb 19, 2011 10:34 pm

¿Ya intentaste poner en el ON INIT (oBrw:cAlias)->(dbgotop()), oBrw:Refresh() ?
Fijate que el cAlias:=Alias() lo saqué del If..endif
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Browse no muestra registros

Postby Compuin » Sat Feb 19, 2011 10:44 pm

Tampoco hizo nada amigo
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Compuin
 
Posts: 1214
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada

Re: Browse no muestra registros

Postby FranciscoA » Sat Feb 19, 2011 11:16 pm

Hola, te hice este ejemplo, basado en tu codigo, y funciona (probado) (compilado con FWH712)

#include "fivewin.ch"
#include "xbrowse.ch"

MEMVAR oWndPrinc

//------------------
FUNCTION MAIN()

DEFINE WINDOW oWndPrinc MDI

ACTIVATE WINDOW oWndPrinc ;
ON INIT BANCOS()

oWndPrinc:End()
RETURN NIL


//--------------------------
FUNCTION BANCOS()
LOCAL oWndBCO, cAlias, oBrw
LOCAL UBI:= "C:\DATA\"
LOCAL cVia:="DBFNTX"

IF SELECT("BANCO")>0
BANCO->(DBCLOSEAREA())
ENDIF

IF SELECT("BANCO")=0
DBUSEAREA(.T.,cVia,UBI+"BANCO","BANCO",.T.)
ENDIF

cAlias:=Alias()

DEFINE WINDOW oWndBCO MDICHILD OF oWndPrinc

oBrw := TXBrowse():New( oWndBCO )

oBrw:cAlias := cAlias

oBrw:SetRDD()
oBrw:CreateFromCode()
oWndBCO:SetControl(oBrw)

ACTIVATE WINDOW oWndBCO ;
ON INIT oBrw:SetFocus()

RETURN NIL

Saludos
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Browse no muestra registros

Postby Compuin » Sun Feb 20, 2011 12:25 am

Funciona chevere en un solo PRG. De hecho tengo un programa asi.

El problema se me esta presentando al tener 2 PRG (Main y Banco, en este ultimo es donde esta el browse)

Trata de hacer el ejemplo que me enviastes en 2 prg a ver si tienes el mismo comportamiento que a mi
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Compuin
 
Posts: 1214
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada

Re: Browse no muestra registros

Postby FranciscoA » Sun Feb 20, 2011 12:43 am

Compuin:
Puedes hacerlo en 2 prgs. (dos ficheros de texto)
Ejemplo:

Los DEFINE y la funcion Main() incluyelos en el primer fichero y le agregas al final: (despues del return) #INCLUDE "Miprg2.prg"
La Funcion Bancos la incluyes en otro fichero, en este caso MiPrg2, compilas y listo.
A cada fichero le das el nombre que quieras.
Saludos
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Browse no muestra registros

Postby Compuin » Sun Feb 20, 2011 1:35 am

Eso ya lo hice, y desde alli se presenta el problema de no ver los registros.

Solo te hice el planteamiento para que recrearas el escenario y vieras el error con 2 prgs porque en 1 solo no presenta ningun error
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Compuin
 
Posts: 1214
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada

Re: Browse no muestra registros

Postby Daniel Garcia-Gil » Sun Feb 20, 2011 2:24 am

Saludos...

algun ejemplo que podamos probar con una dbf real??? para poder reproducir el error...
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

Re: Browse no muestra registros

Postby Compuin » Sun Feb 20, 2011 3:22 pm

Saludos Daniel,

El ejemplo es el que esta al comienzo del post. Son 2 PRG.
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Compuin
 
Posts: 1214
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada

Re: Browse no muestra registros

Postby Daniel Garcia-Gil » Sun Feb 20, 2011 3:56 pm

Hola

Daniel Garcia-Gil wrote:Saludos...

algun ejemplo que podamos probar con una dbf real??? para poder reproducir el error...


Repito la solicitud

En el primer post no veo donde esta la creacion de la dbf a usar o un link de descarga de la misma
No veo donde termina la funcion main
Cuando llamar a la funcion banco ?
De la forma como esta expuesto el ejrmplo es imposible construirlo y ver o reproducir el problema que comentas

Si pudieras publicar un ejemplo que podamos user sera mejor, mejor aun si el ejemplo reproduce tu problema
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

Re: Browse no muestra registros

Postby Compuin » Sun Feb 20, 2011 3:58 pm

Ok aca los 2 PRG

////////// 1er PRG ////////////////////////

Code: Select all  Expand view  RUN
#include "FiveWin.ch"

MEMVAR oWndPrinc

FUNCTION MAIN()
LOCAL oBar, oBtn

SetHandleCount(100)
REQUEST DBFCDX
RddSetDefault("DBFCDX")

SET DEFAULT TO \MX
SET DATE TO FRENCH
SET EPOCH TO 2000
SET CENTURY ON
SET DELETED OFF
SET EXCLUSIVE OFF
SET _3DLOOK ON

   DEFINE WINDOW oWndPrinc ;
   TITLE "Ventana Principal" MDI ;
   MENU MenuPri()

   DEFINE BUTTONBAR oBar OF oWndPrinc SIZE 40,41 3D

   DEFINE BUTTON oBtn OF oBar;
   TOOLTIP "Bancos" MESSAGE "Bancos" NOBORDER ADJUST;
   ACTION BANCOS()

   ACTIVATE WINDOW oWndPrinc MAXIMIZED ;
         VALID MsgYesNo( "¿   Está seguro de querer Salir   ?", "!!! Atención !!!" )

RETURN NIL

FUNCTION MenuPri()
LOCAL oMenu
MENU oMenu

MENUITEM "&General"
    MENU
    MENUITEM "&Parametros de Precio"
    SEPARATOR
    MENUITEM "Salir"
ENDMENU
MENUITEM "&Caja y &Bancos"
    MENU
     MENUITEM "&Bancos" ;
     ACTION BANCOS()
ENDMENU
ENDMENU
RETURN oMenu


////////// 2dor PRG ////////////////////////

Code: Select all  Expand view  RUN
#include "Fivewin.ch"
#include "xbrowse.ch"

MEMVAR oWndPrinc

STATIC CODBCO, NOMBCO, CTABCO, CTACTA, GRA, NREG, oDlg, oBrw, oCol, cCODANT, oRpt
STATIC TNUEVO := .T.
STATIC LVAN   := .F.

FUNCTION BANCOS()
LOCAL oWndBCO, cTitle, oFont, oBar, oMeter, oText, cAlias
LOCAL oBrw
LOCAL UBI:= "DATA\"
LOCAL cVIA := "
DBFCDX"

cTitle := "
Cuentas Bancarias"

   CREASTRUCT()

   ABRESTRUCT()

   DEFINE FONT oFont NAME "
Arial" SIZE 0,-12 BOLD

   DEFINE WINDOW oWndBCO MDICHILD OF oWndPrinc ;
          FROM 0, 0 TO 0, 0           ;
          TITLE cTitle                ;
          COLOR 0, 14215660           ;
          PIXEL                       ;

          SET FONT OF oWndBCO TO oFont

          SET MESSAGE OF oWndBCO

          oWndBCO:Hide()

          DEFINE BUTTONBAR oBar OF oWndBCO SIZE 40, 50 3D

          DEFINE BUTTON OF oBar FLAT ;
          TOOLTIP "
Incluir" MESSAGE " Incluir";

          DEFINE BUTTON OF oBar FLAT ;
          TOOLTIP "
Salir" MESSAGE " Salir" ;
          ACTION oWndBCO:END()

          oBrw := TXBrowse():New( oWndBCO )

          oBrw:SetRDD()
          oBrw:CreateFromCode()
          oWndBCO:SetControl(oBrw)

   ACTIVATE WINDOW oWndBCO ;
               ON INIT oBrw:Refresh() ;

   oWndPrinc:cascade()
   oWndBCO:oClient = oBrw
   oWndBCO:Show()

RETURN NIL

STATIC FUNCTION CREASTRUCT()
LOCAL BANCO

BANCO := "
\DATA\BANCO.DBF"

lMkDir("
DATA")

IF .NOT. FILE ("
DATA\BANCO.DBF")
         DbCreate( "
DATA\BANCO", { { "BCO_CODIGO", "C", 12, 0 },;
                                   { "
BCO_DESCRI", "C", 30, 0 },;
                                   { "
BCO_CUENTA", "C", 20, 0 },;
                                   { "
BCO_SLDANT", "N", 14, 0 },;
                                   { "
BCO_DEBE"  , "N", 14, 0 },;
                                   { "
BCO_HABER" , "N", 14, 0 },;
                                   { "
BCO_CHEQUE", "N", 10, 0 },;
                                   { "
BCO_NOTADB", "N", 10, 0 },;
                                   { "
BCO_ENOTRA", "C",  1, 0 },;
                                   { "
BCO_CODMON", "C",  3, 0 },;
                                   { "
BCO_CTABAN", "C", 20, 0  } } )
          dbCloseAll()
ENDIF

IF .NOT. FILE ("
DATA\BANCO.CDX")
         USE DATA\BANCO ALIAS BANCO
             MsgMeter( { | oMeter, oText, oDlg, lEnd | ;
             BuildIndex( oMeter, oText, oDlg, @lEnd, "
BANCO->BCO_CODIGO ", "CODIGO" ) },;
             "
Indexando Cuentas por Codigo...", "Espere un momento" )
    dbCloseAll()
ENDIF

RETURN (.T.)

STATIC FUNCTION ABRESTRUCT()
LOCAL UBI:= "
DATA\"
LOCAL cVIA := "
DBFCDX"

    IF SELECT("
BANCO")>0
        BANCO->(DBCLOSEAREA())
    ENDIF

    IF SELECT("
BANCO")=0
        DBUSEAREA(.T.,cVia,UBI+"
BANCO","BANCO",.T.)
    ENDIF

    BANCO->(ORDSETFOCUS(1))

RETURN (.T.)

STATIC FUNCTION BuildIndex( oMeter, oText, oDlg, lEnd, campo, bolsa )
   oMeter:nTotal = RecCount()
   OrdSetFocus(0)
   INDEX ON &(Campo) TAG &(Bolsa) ;
      EVAL ( oMeter:Set( RecNo() ), SysRefresh(), ! lEnd )
RETURN NIL


POST EDITADO POR DANIEL... RECOMENDANDO EL USO DEL TAG CODE

Image
Saludos,
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Compuin
 
Posts: 1214
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada

Next

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 53 guests

cron