FoxPro/Visual FoxPro - Cargar lista de tablas en combobox

 
Vista:
Imágen de perfil de Cristhian
Val: 47
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Cargar lista de tablas en combobox

Publicado por Cristhian (21 intervenciones) el 16/04/2020 16:48:49
Quiero que en un combobox, se carguen todas las tablas del proyecto.

En el Init del combobox escribí lo siguiente:

cRuta = "C:\negoc\tablas\" &&Lugar donde se encuentran las tablas

DIMENSION aTablas(1)

ADIR(aTablas,cRuta+'*.dbf')


Luego, el combobox tiene los sig. ajustes:

RowSource = 'aTablas'

RowSourceType = 5

En la primera ejecución después de generar el exe, funciona correctamente, cargando los nombres de las tablas en el combobox. Luego al salir del programa y volver a ingresar sale el mensaje "aTablas no es una matriz".

Si no escribo "DIMENSION aTablas(1)", sale el mensaje "aTablas no es una matriz", todo el tiempo.

Será que alguien me podría ayudar, no sé que podría estar haciendo mal.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 1.011
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Cargar lista de tablas en combobox

Publicado por Fidel José (657 intervenciones) el 16/04/2020 19:03:07
Tenés dos soluciones:
1) En lugar de utilizar una variable Array (aTablas), crea una propiedad Array en el formulario y usas esa propiedad.
ADIR(thisform.aTablas,cRuta+'*.dbf')
RowSource = 'Thisform.aTablas'
RowSourceType = 5

2) Usar el propio array del combobox
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
LOCAL i,lcfolder
LOCAL ARRAY lafiles(1)
 
lcFolder =  "C:\negoc\tablas"
 
ADIR(lafiles, ADDBS(m.lcFolder)+"*.dbf")
ADDPROPERTY(thisform,"cs_combo",laFiles[1,1])
WITH this
	.ControlSource = "Thisform.cs_combo"
	.BoundColumn = 2
	.RowSourceType = 0
	FOR i = 1 TO ALEN(laFiles,1)
		.AddListItem(PROPER(laFiles[i,1]),i,1)
		.AddListItem(laFiles[i,1],i,2)
	NEXT
	.Requery
	.Refresh
ENDWITH
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Cristhian
Val: 47
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Cargar lista de tablas en combobox

Publicado por Cristhian (21 intervenciones) el 17/04/2020 16:33:28
Muchas gracias Fidel Jose
Intenté ambos métodos que me diste, el primero no supe como implementarlo. El segundo sí y funcionó.
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar