FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour dbcreate variable
Posts: 149
Joined: Thu Jun 21, 2007 03:26 PM
dbcreate variable
Posted: Thu Feb 05, 2009 03:32 PM

Hola: necesito saber como puedo crear una base de datos que tanga cierta cantidad de campos, que pueden variar de ejecución en ejecución. Por ejemplo, si cargo 3 en un get, que la base tenga 3 campos, campo1, campo2 y campo3, por ej. Si en cambio eljo 2, que la base tenga 2 campos, campo1 y campo2.
Probé hacer un case, y preveer que me ingresen entre 1 y 10, pero es una locura, y encima, me tope con casos donde ingresaban 15, y el programa no servía.

Gracias...!!!

Posts: 389
Joined: Mon Oct 13, 2008 11:26 AM
Re: dbcreate variable
Posted: Thu Feb 05, 2009 03:42 PM
Procedure CriaBanco()
Local aStru := {}

   aStru := {"CODIGO","C",5,0}
   if cGet = 3
      aAdd(aStru,{"NOME","C",40,0}
  end

  DbCreate("TESTE.DBF",aStru)

Return Nil
Email: SamirSSabreu@gmail.com
xHarbour 1.2.3 + Fwhh 20.2
Posts: 337
Joined: Fri Oct 07, 2005 02:44 PM
Re: dbcreate variable
Posted: Thu Feb 05, 2009 04:17 PM
Creo que esto te puede servir :

Procedure creatabla(cTabla,ncampos)
local aEstructura
local nveces
default ncampos:=1

aEstructura:={}

for nveces = 1 to ncampos
    aadd(aEstructura,{"Campo"+alltrim(str(nveces,2,0)),"C",10,0})
next nveces

dbcreate(ctabla,aEstructura)

return


Solo faltaria ver lo del tipo y largo del campo en caso que pueda variar.

Atte.,

Lautaro Moreira
Osorno
Chile
Hola,

Soy un Contador que por necesidad aprendio a programar y se quedo programando.
Posts: 149
Joined: Thu Jun 21, 2007 03:26 PM
Re: dbcreate variable
Posted: Thu Feb 05, 2009 04:28 PM

Excelente muchachos...!!! Gracias...!!!

Continue the discussion