Browse no muestra registros (SOLUCIONADO)

User avatar
Compuin
Posts: 1258
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada
Has thanked: 21 times
Been thanked: 4 times
Contact:

Browse no muestra registros (SOLUCIONADO)

Post by Compuin »

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 25.01 | Hbmk2 32/64 Bits (Build 19.29.30133) | Microsoft Visual C 32 Bits | MySql 8.0.24 32/64 Bits | VS Code
User avatar
FranciscoA
Posts: 2164
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Browse no muestra registros

Post by FranciscoA »

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
Compuin
Posts: 1258
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada
Has thanked: 21 times
Been thanked: 4 times
Contact:

Re: Browse no muestra registros

Post by Compuin »

Fracisco,

No funciono. Siguen sin aparecer los registros
FWH 25.01 | Hbmk2 32/64 Bits (Build 19.29.30133) | Microsoft Visual C 32 Bits | MySql 8.0.24 32/64 Bits | VS Code
User avatar
FranciscoA
Posts: 2164
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Browse no muestra registros

Post by FranciscoA »

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
Compuin
Posts: 1258
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada
Has thanked: 21 times
Been thanked: 4 times
Contact:

Re: Browse no muestra registros

Post by Compuin »

Agregando indices o no, igual no muestra los registros de la DBF
FWH 25.01 | Hbmk2 32/64 Bits (Build 19.29.30133) | Microsoft Visual C 32 Bits | MySql 8.0.24 32/64 Bits | VS Code
User avatar
FranciscoA
Posts: 2164
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Browse no muestra registros

Post by FranciscoA »

¿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
Compuin
Posts: 1258
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada
Has thanked: 21 times
Been thanked: 4 times
Contact:

Re: Browse no muestra registros

Post by Compuin »

Tampoco hizo nada amigo
FWH 25.01 | Hbmk2 32/64 Bits (Build 19.29.30133) | Microsoft Visual C 32 Bits | MySql 8.0.24 32/64 Bits | VS Code
User avatar
FranciscoA
Posts: 2164
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Browse no muestra registros

Post by FranciscoA »

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
Compuin
Posts: 1258
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada
Has thanked: 21 times
Been thanked: 4 times
Contact:

Re: Browse no muestra registros

Post by Compuin »

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 25.01 | Hbmk2 32/64 Bits (Build 19.29.30133) | Microsoft Visual C 32 Bits | MySql 8.0.24 32/64 Bits | VS Code
User avatar
FranciscoA
Posts: 2164
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Browse no muestra registros

Post by FranciscoA »

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
Compuin
Posts: 1258
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada
Has thanked: 21 times
Been thanked: 4 times
Contact:

Re: Browse no muestra registros

Post by Compuin »

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 25.01 | Hbmk2 32/64 Bits (Build 19.29.30133) | Microsoft Visual C 32 Bits | MySql 8.0.24 32/64 Bits | VS Code
User avatar
Daniel Garcia-Gil
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita
Contact:

Re: Browse no muestra registros

Post by Daniel Garcia-Gil »

Saludos...

algun ejemplo que podamos probar con una dbf real??? para poder reproducir el error...
our best documentation is the source code
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
User avatar
Compuin
Posts: 1258
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada
Has thanked: 21 times
Been thanked: 4 times
Contact:

Re: Browse no muestra registros

Post by Compuin »

Saludos Daniel,

El ejemplo es el que esta al comienzo del post. Son 2 PRG.
FWH 25.01 | Hbmk2 32/64 Bits (Build 19.29.30133) | Microsoft Visual C 32 Bits | MySql 8.0.24 32/64 Bits | VS Code
User avatar
Daniel Garcia-Gil
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita
Contact:

Re: Browse no muestra registros

Post by Daniel Garcia-Gil »

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
our best documentation is the source code
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
User avatar
Compuin
Posts: 1258
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada
Has thanked: 21 times
Been thanked: 4 times
Contact:

Re: Browse no muestra registros

Post by Compuin »

Ok aca los 2 PRG

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

Code: Select all | Expand

#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

#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 25.01 | Hbmk2 32/64 Bits (Build 19.29.30133) | Microsoft Visual C 32 Bits | MySql 8.0.24 32/64 Bits | VS Code
Post Reply