Para Antonio Y los Duros De FWH " Error al abrir 3 Arch

Para Antonio Y los Duros De FWH " Error al abrir 3 Arch

Postby JHON JAIRO VALENCIA DIAZ » Sat Feb 02, 2008 4:44 pm

:oops:
Amigos del foro;

Estamos realizando una aplicación en la cual queremos manejar 3 archivos, en la primera ventana mostramos el archivo mediante TWBROWS como se ve en la imagen; al seleccionar un registro lo mostramos en la siguiente ventana, despues abrimos el segundo archivo y es cuando se presenta el error que aparece en la imagen. este es el fuente.

//-------------------------------------------------------------//
STATIC FUNCTION Avalu
//-------------------------------------------------------------//
#define AVALUO 5
local oChild,oCOL,a_RADIO
cbuscar := SPACE(30)
dbSelectArea(2)
Catastro->(OrdSetFocus("codigo"))
Catastro->(OrdSetFocus("propietario"))
Catastro->(OrdSetFocus("direccion"))

dbSelectArea(3)
Tempava->(OrdSetFocus("vigiva"))

dbSelectArea(4)
Avaluo1->(OrdSetFocus("codava"))

DEFINE DIALOG oDlg13 RESOURCE AVALUO of oWnd
oBrw := TXBrowse():New( oDlg13 )

Catastro->(OrdSetFocus("codigo"))
dbSelectArea(2)

oBrw:nMarqueeStyle := MARQSTYLE_HIGHLROW
oBrw:nColDividerStyle := LINESTYLE_BLACK
oBrw:nRowDividerStyle := LINESTYLE_BLACK
oBrw:lColDividerComplete := .t.
oBrw:SetRDD()

oBrw:bClrStd := {|| {CLR_BLACK, iif( Field->color1, CLR_WHITE, CLR_HCYAN ) } }
oBrw:CreateFromResource( 101 )

oCol := oBrw:AddCol()
oCol:bStrData := { || _FIELD->CODIP01}
oCol:cHeader := "Código Catastral"
oCol:nHeadStrAlign := AL_CENTER
oCol:nDataStrAlign := AL_LEFT
oCol:nWidth := 130

oCol := oBrw:AddCol()
oCol:bStrData := { || _FIELD->NOMIP01}
oCol:cHeader := "Propietario"
oCol:nHeadStrAlign := AL_CENTER
oCol:nDataStrAlign := AL_LEFT
oCol:nWidth := 250

oCol := oBrw:AddCol()
oCol:bStrData := { || _FIELD->DIRIP01}
oCol:cHeader := "Dirección"
oCol:nHeadStrAlign := AL_CENTER
oCol:nDataStrAlign := AL_LEFT
oCol:nWidth := 200

oBrw:DelCol(10)
oBrw:DelCol(9)
oBrw:DelCol(8)
oBrw:DelCol(7)
oBrw:DelCol(6)
oBrw:DelCol(5)
oBrw:DelCol(4)
oBrw:DelCol(3)
oBrw:DelCol(2)
oBrw:DelCol(1)

dbSelectArea(2)

oDlg13:oClient := oBrw
oBrw:Refresh() // Repintamos el ListBox

REDEFINE RADIO a_RADIO VAR nOrden OF oDlg13 ON CHANGE Orden(nOrden,oBrw) ;
ID 102, 103, 104 UPDATE


ACTIVATE DIALOG oDlg13 CENTER ON INIT BARRAVA()

return nil

//----------------------------------------------------------//
FUNCTION BARRAVA
//----------------------------------------------------------//


local oImageList,oBar,oToolBar

DEFINE IMAGELIST oImageList SIZE 32, 32
DEFINE IMGBITMAP OF oImageList NAME "nuevo" COLOR nRGB( 255, 0, 255 )
DEFINE IMGBITMAP OF oImageList NAME "editar" COLOR nRGB( 255, 0, 255 )
DEFINE IMGBITMAP OF oImageList NAME "eliminar" COLOR nRGB( 255, 0, 255 )
DEFINE IMGBITMAP OF oImageList NAME "buscar3" COLOR nRGB( 255, 0, 255 )

DEFINE TOOLBAR oToolBar OF oDlg13 SIZE 45, 45 ;
IMAGELIST oImageList BALLOON // tooltips balloon style

oToolBar:SetTextRows( 2 )

DEFINE TBBUTTON OF oToolBar ;
ACTION Nueava(oBrw,.F.) ;
TOOLTIP "Nuevo" ;
PROMPT "&Nuevo"

DEFINE TBBUTTON OF oToolBar ;
ACTION Nuevo(oBrw2,.F.) ;
TOOLTIP "Editar" ;
PROMPT "&Editar"

DEFINE TBBUTTON OF oToolBar ;
ACTION DelClient(oBrw2, .F. ) ;
TOOLTIP "Borrar" ;
PROMPT "&Borrar"

DEFINE TBSEPARATOR OF oToolBar

DEFINE TBBUTTON OF oToolBar ;
ACTION BUSPLAN( oBrw, norden ) ;
TOOLTIP "Buscar" ;
PROMPT "&Buscar"

RETURN NIL

//----------------------------------------------------------//
STATIC FUNCTION Nueava( oBrw, lNuevo )
//----------------------------------------------------------//
#define PANTAVA 6

local oCol2,oCol1
local oCodigo,oPropie,oCbxiden,oNuiden,oDire,ohecta,omts,oConst,oVigen,oAva,oResolu
local oBoton1,oBoton2,oBoton3
LOCAL lSalir1 := .F.
local txbro :=.f.
local vPropie:=space(33)
local videntif:=space(1)
local vNuiden:=0
local vDire:=space(34)
local vhecta:=0
local vmts:=0
local vConst:=0
local vVigen:=space(4)
local vAva:=0
local vResolu:=space(10)
LOCAL mcbxident:={"C","N","X"}
LOCAL lSalir := .F.
LOCAL lSalvar := .F.
LOCAL nRecNo2

DEFAULT lNuevo := .F.

IF lNuevo
GOTO BOTTOM
SKIP
ENDIF
vCodigo:= catastro->codip01
vPropie:= catastro->nomip01
videntif:=catastro->tipip01
vNuiden:=catastro->ideip01
vDire:= catastro->dirip01
vhecta:=catastro->supip01
vmts:=catastro->areip01
vConst:=catastro->Conip01

DEFINE DIALOG oDlg1 RESOURCE PANTAVA of oDlg13

REDEFINE get oCodigo var vCodigo PICTURE "##################" ID 101 OF oDlg1 WHEN lNuevo
REDEFINE say oPropie var vPropie PICTURE "@!" ID 102 OF oDlg1
REDEFINE say oPropie var videntif PICTURE "@!" ID 103 OF oDlg1
REDEFINE say oNuiden var vNuiden PICTURE "99999999999-9" ID 109 OF oDlg1
REDEFINE say oDire var vDire PICTURE "@#" ID 105 OF oDlg1
REDEFINE say ohecta var vhecta PICTURE "9,999,999" ID 106 OF oDlg1
REDEFINE say omts var vmts PICTURE "9,999" ID 107 OF oDlg1
REDEFINE say oConst var vConst PICTURE "999,999" ID 108 OF oDlg1

REDEFINE BTNBMP RESOURCE "nuevo" ID 111 TOOLTIP "NUEVO" OF oDlg1 ;
ACTION INGRE ( vCodigo )

REDEFINE BTNBMP RESOURCE "editar" ID 112 TOOLTIP "EDITAR" OF oDlg1 NOBORDER

REDEFINE BTNBMP RESOURCE "eliminar" ID 113 TOOLTIP "ELIMINAR" OF oDlg1 NOBORDER

REDEFINE BUTTONBMP oBoton3 ID 115 OF oDlg1 ;
ACTION ( lSalir1 := .T. , oDlg1:End() )

dbSelectArea(3)
tempava->(OrdSetFocus("vigiva"))

oBrw3 := TXBrowse():New( oDlg1 )
oBrw3:nMarqueeStyle := MARQSTYLE_HIGHLROW
oBrw3:nColDividerStyle := LINESTYLE_BLACK
oBrw3:lColDividerComplete := .t.


oBrw3:SetRDD()
oBrw3:CreateFromResource( 104 )

oCol1 := oBrw3:AddCol()
oCol1:bStrData := { || _FIELD->CODIP02}
oCol1:cHeader := "Código Catastral"
oCol1:nHeadStrAlign := AL_CENTER
oCol1:nDataStrAlign := AL_LEFT
oCol1:nWidth := 130

oCol1 := oBrw3:AddCol()
oCol1:bStrData := { || _FIELD->VIGIP02}
oCol1:cHeader := "Vigencia"
oCol1:nHeadStrAlign := AL_CENTER
oCol1:nDataStrAlign := AL_CENTER
oCol1:nWidth := 100

oCol1:= oBrw3:AddCol()
oCol1:bStrData := { || transform(_FIELD->AVAIP02,"999,999,999")}
oCol1:cHeader := "Avaluo Catastral"
oCol1:nHeadStrAlign := AL_CENTER
oCol1:nDataStrAlign := AL_RIGHT
oCol1:nWidth := 100

oDlg1:oClient := oBrw3
oBrw3:Refresh() // Repintamos el ListBox

oBrw3:DelCol(3)
oBrw3:DelCol(2)
oBrw3:DelCol(1)



ACTIVATE DIALOG oDlg1 CENTER

IF lSalir1
Return Nil
endif

RETURN( NIL )

Image
User avatar
JHON JAIRO VALENCIA DIAZ
 
Posts: 28
Joined: Wed Mar 07, 2007 11:34 pm
Location: COLOMBIA

Postby Antonio Linares » Sat Feb 02, 2008 8:22 pm

John,

Justo despues de esta línea:

oCol:bStrData := { || _FIELD->CODIP01}

LLama a:

MsgInfo( _FIELD->CODIP01 )

a ver que valor muestra
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41314
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Armando » Sun Feb 03, 2008 12:50 am

Jairo:

Creo que hace falta ver en que areas estan abiertas la DBF, según tu código la última DBF abierta es CATASTRO y al parece el campo CODIP01 no existe en la DBF CATASTRO



Code: Select all  Expand view
dbSelectArea(2)

oBrw:nMarqueeStyle := MARQSTYLE_HIGHLROW
oBrw:nColDividerStyle := LINESTYLE_BLACK
oBrw:nRowDividerStyle := LINESTYLE_BLACK
oBrw:lColDividerComplete := .t.
oBrw:SetRDD()

oBrw:bClrStd := {|| {CLR_BLACK, iif( Field->color1, CLR_WHITE, CLR_HCYAN ) } }
oBrw:CreateFromResource( 101 )

oCol := oBrw:AddCol()
oCol:bStrData := { || _FIELD->CODIP01}


Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3061
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Postby JHON JAIRO VALENCIA DIAZ » Tue Feb 05, 2008 3:51 pm

:oops: yo realice lo que uted me dijo Antonio, cuando abro el primer formulario de txbrowse me sale la ventana de mensaje con el primer registro mostrado en el mensaje, le doy aceptar al mensaje y me sale el formulario TXBROWSE; hay selecciono cualquier registro y me muestra el segundo formulario con los datos del registro seleccionado en el primer formulario, luego abro un segundo archivo que me muestra unos datos adicionales, despues de esto me sale el mensaje de error, pero del primer formulario. cuando le quito la rutina que me abre el segundo archivo no me muestra ningun error; el campo codip01 existe en el archivo de catastro.
User avatar
JHON JAIRO VALENCIA DIAZ
 
Posts: 28
Joined: Wed Mar 07, 2007 11:34 pm
Location: COLOMBIA

Postby Antonio Linares » Tue Feb 05, 2008 9:58 pm

No estarás cerrando la DBF ó cambiando de area de trabajo ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41314
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby JHON JAIRO VALENCIA DIAZ » Wed Feb 06, 2008 3:43 pm

Claro que si Antonio, en el primer formulario habro el area de trabajo de 2 que es catastro, luego traslado los campos de ese registro selecionado a una variable auxiliar que es la que muestra en el segundo formulario, despues de esto abro otra area de trabajo la 3.
Hay es donde esta el problema, cuando abro el area de trabajo 3, me da un error en el primer formulario.
User avatar
JHON JAIRO VALENCIA DIAZ
 
Posts: 28
Joined: Wed Mar 07, 2007 11:34 pm
Location: COLOMBIA

Postby RenOmaS » Thu Feb 07, 2008 9:49 am

Tienes que cambiar la definiciones de las columnas y hacer referencia al area de trabajo al que pertenecen los campos

oCol:bStrData := { || Catastro->CODIP01}

Esto, porque al momento de refrescar el primer browse, el area de trabajo actual "tempava" no tiene el campo CODP01

Salu2
User avatar
RenOmaS
 
Posts: 205
Joined: Fri Oct 07, 2005 5:07 pm

Postby JHON JAIRO VALENCIA DIAZ » Tue Feb 12, 2008 3:15 pm

:lol: Gracias RenOmaS funcionó lo que nos dijiste.



Jhon.
User avatar
JHON JAIRO VALENCIA DIAZ
 
Posts: 28
Joined: Wed Mar 07, 2007 11:34 pm
Location: COLOMBIA


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 93 guests