FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Existencia de campos
Posts: 149
Joined: Thu Jun 21, 2007 03:26 PM
Existencia de campos
Posted: Mon Feb 23, 2009 04:48 PM

Hola. Una duda que calculo que sera bastante pava, pero que no se:

Tengo una base, y no se si tiene ciertos campos, dado que me la envían desde internet, y no se cual es la estructura. ¿como puedo preguntar si existe un determinado campo en la base? por ej, hago un USE TABLA1, ¿como se si en TABLA1 existe el campo MARCA?

¿si existe, como se de que tipo es?

Gracias....!!!

Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Existencia de campos
Posted: Mon Feb 23, 2009 05:01 PM

Diego:

Dale una mirada a la función DBSTRUCT()

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
Posts: 682
Joined: Tue Feb 14, 2006 09:48 AM
Re: Existencia de campos
Posted: Mon Feb 23, 2009 05:08 PM

FieldPos('NombreCampo')

Si devuelve 0 no existe, otro numero superior a cero, es la posicion dentro de la estructura del DBF.

FieldType(FieldPos('nombreCampo'))

Retorna tipo de campo.

Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
Posts: 782
Joined: Wed Dec 19, 2007 07:50 AM
Re: Existencia de campos
Posted: Mon Feb 23, 2009 05:19 PM
diegopolverelli wrote:puedo preguntar si existe un determinado campo en la base? por ej, hago un USE TABLA1, ¿como se si en TABLA1 existe el campo MARCA?

¿si existe, como se de que tipo es?

Hola Diego:

La función DbStructure() te devuelve un array con los datos de los campos de la base de datos (Nombre, Tipo, Longitud y Decimales)

También podrías hacerlo así:
Code (fw): Select all Collapse
   Use Tabla1 Shared New

   Try
      cType := ValType( Tabla1->MARCA )
   Catch
      MsgStop( "MARCA no existe en Tabla1" )
   End Try

Saludos.

Manuel Mercado
manuelmercado at prodigy dot net dot mx

Continue the discussion