FoxPro/Visual FoxPro - numerico a txt

   
Vista:

numerico a txt

Publicado por HUGO (207 intervenciones) el 09/10/2007 04:40:18
amigos de la web, necesito de su gran ayuda, lo que trato de hacer es pasar la informacion de excel a mi tabla dbf mi codigo es este:

LOCAL oExcel, lFilaDatos, iFila, iColumna, cFile
ifila=1
iColumna=1
FilaDatos=.T.
oExcel = CREATEOBJECT("Excel.Application")
cFile="c:\original.xls"
oExcel.workbooks.OPEN(cFile)
DO WHILE FilaDatos
SELEC t_comensales
IF VARTYPE(oExcel.Cells(ifila,1).VALUE) = .NULL.
FilaDatos=.F.
oExcel.QUIT
ELSE
INSERT INTO t_comensales (codigo, nombre) VALUES (oExcel.Cells(ifila,1).VALUE,oExcel.Cells(ifila,2).VALUE)
ifila=ifila+1
ENDIF
ENDDO
oExcel.QUIT

*** mi problema es que la primer columa del excel la toma como numerica y al pasarla a mi dbf es tipo caracter, lo que deseo es convertir la linea de excel a txt antes de que llegue a mi DBF..porque me da error de tipo de datos.

mi linea del codigo que detecta lo numerico es esta:

INSERT INTO t_comensales (codigo, nombre) VALUES

antes que llegue a esta del insert tengo que cambiar a texto para no tener el problema de tipo de datos.

nota: programo en vfp7

de antemano gracias

atte: hugo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:numerico a txt

Publicado por olga (43 intervenciones) el 10/10/2007 17:15:45
prueba de hacer lo siguiente

si ya sabes q siemrpe te lo pilla tipo numerico del excel haz lo siguinte

INSERT INTO t_comensales (codigo, nombre) VALUES (ALLTRIM(STR(oExcel.Cells(ifila,1).VALUE),oExcel.Cells(ifila,2).VALUE)

en el caso de que a veces te lo coja como texto y otras como nuemrico podrias incluso meter un iif(TYPE...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

PARA OLGA

Publicado por HUGO (207 intervenciones) el 10/10/2007 20:03:44
EXACTAMENTE ESA ES LA SOLUCION, NADAMAS EL ULTIMO FAVOR..COMO TU DICES HAY VECES QUE VIENE COMO TEXTO Y ORAS NUMERICAS, COMO QUEDARIA LA INSTRUCCION CON EL IFF(TYPE...de antemano gracias por el interes. saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PARA OLGA

Publicado por olga (43 intervenciones) el 16/10/2007 12:20:10
iif(TYPE('tabla.campo')="C",

OR

iif(TYPE('tabla.campo')="N", accion si es Numerico, accion si no lo es)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Jardy

Publicado por Jardy (1 intervención) el 26/12/2007 22:35:07
Amigos como convierto un campo NULL del sql en n umerico para que cuando sume no me arroje NULL sino cero Muchas Gracias por su Ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar