Page 1 of 1

Cambiando en tiempo de ejecución la tabla en un listbox

Posted: Wed Nov 13, 2019 11:19 am
by Loren
Buenos días compañeros

Trabajo con DBF/CDX. Y pretendo que un mismo listbox me muestre el contenido de distintas tablas DBF NO indexadas y que son exactamente iguales en cuanto a campos.

Es decir, tengo un listbox funcionando perfecto del tipo:

Code: Select all

select 36
Redefine listbox olistbox fields tran(&bdvendedorC->cantidad,'@E9999.99') id 4001 of oti headers 'Udes' sizes 55 font ofont1
 
Esta tabla NO está indexada. Necesito en tiempo de ejecución cambiar de tabla respetando también el select 36... Es decir:

Code: Select all

select 36 ; &bdvendedorC->(dbclosearea())
bdvendedorC='usuarioC'
select 36 ; use &bdvendedorC alias &bdvendedorC exclu
 
..hasta aquí todo perfecto...,
pero cuando hago un olistbox:refresh() o un olistbox:gobottom(),


me genera un error del tipo:
Area de trabajo no usada: DBGOBOTTOM

... y no es capaz de seleccionar la tabla 36, cuando realmente ya se lo indico anteriormente. Supongo que la solución pasa por rearmar nuevamente el listbox... pero ¿Cómo lo hago?

Un ejemplo, por favor...!!

Mil gracias.
LORENZO.

Re: Cambiando en tiempo de ejecución la tabla en un listbox

Posted: Wed Nov 13, 2019 2:43 pm
by FranciscoA
Loren wrote: Trabajo con DBF/CDX. Y pretendo que un mismo listbox me muestre el contenido de distintas tablas DBF NO indexadas y que son exactamente iguales en cuanto a campos.
Lorenzo, yo hago exactamente eso, pero usando XBrowse. Todo consiste en actualizar el calias al objeto oBrw (aqui oLbx).
Ej:

Code: Select all

   REDEFINE BTNBMP oDoc1 ID 221 OF oDlg RESOURCE "cdiario" LEFT 2007  ;
                 ACTION( dbSelectArea("comprobd"), cAlias:=Alias(),;
                              oLbx:cAlias:=cAlias, oLbx:Refresh(), oLbx:SetFocus() )

   REDEFINE BTNBMP oDoc2 ID 222 OF oDlg RESOURCE "RCAJARJ2"  LEFT 2007  ;
                 ACTION ( dbSelectArea("RecibCaj"), cAlias:=Alias(),;
                               oLbx:cAlias:=cAlias, oLbx:Refresh(), oLbx:SetFocus() )
 
Espero te sirva de guia.
Saludos.

Re: Cambiando en tiempo de ejecución la tabla en un listbox

Posted: Wed Nov 13, 2019 7:19 pm
by Loren
FranciscoA

Que grande eres!!
Funcionó perfecto!!
Mil gracias.
LORENZO.