Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Saber si es un campo de una tabla
Message
General information
Forum:
Visual FoxPro
Category:
Forms & Form designer
Miscellaneous
Thread ID:
00726145
Message ID:
00726304
Views:
12
>No creo que existe una forma muy practica de hacerlo, pero siempre que el contenido del controlSource tenga un punto "." se refiere a una campo de tabla, claro si no es "m.".
>
En realidad, hay muchas cosas que puedes usar como ControlSource que pueden contener un punto, como por ejemplo "thisform.Propiedad", o cualquier otra referencia a una jerarquía de objetos.

Tal vez te sirva hacer esto, en una función o método:

- Si hay más de un punto (como en "thisform.Container.propiedad"), ya sabes que no es un campo

- Si hay sólo uno, extraes la parte anterior al mismo, y recorres los alias abiertos en la DataSession activa (con aUsed()), y comparas para ver si coincide con uno de ellos. Si encuentras una coincidencia, recorres los campos de esa tabla abierta (con aFields()) y lo comparas contra la porción del ControlSource posterior al punto. Si tienes una coincidencia, ya sabes que se trata de un campo.

- Si no hay punto, te basta recorrer los campos de la tabla activa y ver si coincide. Claro que esta no es una manera recomendable de indicar un ControlSource, pero si quieres contemplarla, basta con esto.

Saludos,
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform