Como puedo saber si tengo un campo en una base de datos.

Como puedo saber si tengo un campo en una base de datos.

Postby colthop » Wed Sep 06, 2006 4: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
colthop
 
Posts: 505
Joined: Sat Apr 22, 2006 9:09 am
Location: Madrid - España

Postby Garbi » Wed Sep 06, 2006 5: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.
Garbi
 
Posts: 340
Joined: Wed Nov 02, 2005 3:28 pm

Postby colthop » Thu Sep 07, 2006 7: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.
colthop
 
Posts: 505
Joined: Sat Apr 22, 2006 9:09 am
Location: Madrid - España

Postby Manuel Valdenebro » Fri Sep 08, 2006 6:32 pm

Asi es como yo lo hago:

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

Manuel
User avatar
Manuel Valdenebro
 
Posts: 706
Joined: Thu Oct 06, 2005 9:57 pm
Location: Málaga-España


Return to FiveWin para CA-Clipper

Who is online

Users browsing this forum: No registered users and 29 guests