FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para CA-Clipper Como puedo saber si tengo un campo en una base de datos.
Posts: 505
Joined: Sat Apr 22, 2006 09:09 AM
Como puedo saber si tengo un campo en una base de datos.
Posted: Wed Sep 06, 2006 04:24 PM

Hola amigos:

Tengo un problema ya que tengo un programa que tengo hace tiempo y o usan varias personas y estoy actualizando una de las opciones. Mi problema es el siguiente como puedo saber si una base de datos ya creada tiene un campo determinado por ejemplo en la base de CLIENTES el campo APELLIDOS y si no existe poder crearlo.

Un saludo

Carlos

Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
Posts: 350
Joined: Wed Nov 02, 2005 03:28 PM
Como puedo saber si tengo un campo en una base de datos.
Posted: Wed Sep 06, 2006 05:52 PM

Con afields() obtienes los campos del fichero:

LOCAL aNombresCampo, aTipos, aAnchuras, aDecimales
USE Ventas NEW
//
aNombresCampo := Ventas->(ARRAY(FCOUNT()))
aTipos := Ventas->(ARRAY(FCOUNT()))
aAnchuras := Ventas->(ARRAY(FCOUNT()))
aDecimales := Ventas->(ARRAY(FCOUNT()))
//
Ventas->(AFIELDS(aNombresCampo, aTipos, ;
aAnchuras, aDecimales))
Despues buscas si existe el campo en la tabla.

Despues con CREATE puedes crear el fichero o copiarlo , ya depende como lo prepares.

Saludos,
Regards,

Jose Luis Alepuz
joseluis@mancomputer.com
www.mancomputer.com
Posts: 505
Joined: Sat Apr 22, 2006 09:09 AM
Como puedo saber si tengo un campo en una base de datos.
Posted: Thu Sep 07, 2006 07:59 AM

Gracias Garbi, por tu ayuda lo que practicamente me faltaba era conseguir cual era el ultimo dato de un array y tu me lo has solucionado con fCount(), que me dice la cantidad de campos de un fichero, ya que hay una funcion que hace lo mismo que tu me indicas pero en una sola linea y muy facil, es

aFileds : DBStruct()

con esto consigues lo mismo.

Un saludo y gracias.

Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
Posts: 711
Joined: Thu Oct 06, 2005 09:57 PM
Como puedo saber si tengo un campo en una base de datos.
Posted: Fri Sep 08, 2006 06:32 PM

Asi es como yo lo hago:

IF FIELDPOS("APELLIDOS") = 0
// el campo no existe
FUNCION_ACTUALIZAR_ESTRUCTURA()
ENDI

Un saludo



Manuel

Continue the discussion