Visual Basic - Control DATA, Ayuda!

Life is soft - evento anual de software empresarial
 
Vista:

Control DATA, Ayuda!

Publicado por Enrique Monroy (3 intervenciones) el 24/01/2001 20:37:00
Hola, Tengo un pequeño problemita, a ver si me pueden ayudar, tengo un control DATA con una conexion a una tabla de FoxPro 2.0,
solemente que tengo un FileListBox donde selecciono una tabla de fox con la cual voy a trabajar, tengo una lista donde agrego los campos
que contiene la tabla que yo selecciono, el problema es, que no he podido hacer flexible este procedimiento para que de tal manera que
cuando yo seleccione una tabla, me muestre los campos de esta, ya tengo el procedimiento para mostrar los campos de una tabla, pero
tengo algunos problemitas (mejor dicho no se como hacerle) cuando quiera seleccionar otra tabla en el FileListBox, lo que tengo es lo
siguiente:

List1.AddItem Data1.Database!MyFile.Fields(0).Name

Donde, "MyFile" representa el nombre de la tabla de la cual quiero recuperar losl nombres de los campos, pero en el ejemplo anterior,
este nombre esta fijo y necesito que sea deacuerdo a la tabla que seleccione en el FileListFox.

Espero que me puedan ayudar.

Enrique Monroy
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

RE:Control DATA, Ayuda!

Publicado por Adan (39 intervenciones) el 06/02/2001 06:22:31
Supongo que lo que quieres es esto (Si trabajas con VB 3.0 quita el With objeto y coloca el nombre del objeto antes de cada punto dentro del With):

'Necesitas:
'CONTROL: NOMBRE
'Data: Data1
'FileListBox: File1
'ListBox: List1

Option Explicit
Const Dir = "Carpeta dónde se encuentran tus tablas"

Private Sub Form_Load()
With Data1
.Connect = "FoxPro 2.0"
.DatabaseName = Dir
End With

With File1
.Pattern = "*.DBF"
.Path = Dir
End With
End Sub

Private Sub File1_Click()
Dim n As Integer, x As Integer

n = File1.ListIndex

List1.Clear
With Data1
.RecordSource = Left(File1.List(n), Len(File1.List(n)) - 4) 'quita extensión ".DBF"
.Refresh 'actualiza control data

'Aquí se agregan todos los campos nuevos
For x = 0 To (.Recordset.Fields.Count - 1)
List1.AddItem .Recordset.Fields(x).Name
Next x
End With
End Sub

Espero que esto te sirva
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