FoxPro/Visual FoxPro - Reemplazar NULL de todas las columnas por un valor, son 100 columnas, hacerlo 1 por 1 sería muy tard

 
Vista:

Reemplazar NULL de todas las columnas por un valor, son 100 columnas, hacerlo 1 por 1 sería muy tard

Publicado por RAUL (8 intervenciones) el 07/11/2016 19:56:00
Hola a tod@s,

Quiero reemplazar todos los valores NULL de una tabla por un valor numérico, con REPLACE puedo hacerlo columna por columna, pero tengo 100 columnas en mi tabla.

Saludos!!!
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
sin imagen de perfil

Reemplazar NULL de todas las columnas por un valor, son 100 columnas, hacerlo 1 por 1 sería muy tard

Publicado por arbol (8 intervenciones) el 07/11/2016 20:07:53
Puedes realizar un for y en la columna indicada asignarle el valor

todo eso con un update

asi al recorrer esa columna se modificacian en segundos

espero puedas realizarlo
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

Reemplazar NULL de todas las columnas por un valor, son 100 columnas, hacerlo 1 por 1 sería muy tard

Publicado por RAUL (8 intervenciones) el 07/11/2016 20:16:03
Si había pensado en eso, pero quería ver si existe una forma de evitar escribir las 100 variables en el FOR, ya que tendré este problema repetidas veces en diferentes tablas de la misma longitud.

Gracias y 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
Imágen de perfil de Mauricio Antonio
Val: 471
Plata
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Reemplazar NULL de todas las columnas por un valor, son 100 columnas, hacerlo 1 por 1 sería muy tard

Publicado por Mauricio Antonio (1541 intervenciones) el 07/11/2016 22:30:24
Si vas a tener que usar esta opcion repetidas veces, PORQUE no lo prevees antes o sea donde creas la tabla??
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

Reemplazar NULL de todas las columnas por un valor, son 100 columnas, hacerlo 1 por 1 sería muy tard

Publicado por RAUL (8 intervenciones) el 08/11/2016 16:27:58
Ok, eso resuelve la duda.....
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
sin imagen de perfil

Reemplazar NULL de todas las columnas por un valor, son 100 columnas, hacerlo 1 por 1 sería muy tard

Publicado por arbol (8 intervenciones) el 07/11/2016 22:35:42
seria
1
2
3
4
5
6
7
8
9
10
11
12
dim columnas as integer=dgv.lengt
dim filas as integer= dgv.count
 
for i as integer00 to columnas
 
for i as integer=0 to filas
 
 
 
nex
 
nex

asi de facil
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
Imágen de perfil de Leonardo Daniel A.
Val: 1.115
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Reemplazar NULL de todas las columnas por un valor, son 100 columnas, hacerlo 1 por 1 sería muy tard

Publicado por Leonardo Daniel A. (497 intervenciones) el 10/11/2016 01:03:14
andas mal chavo... preguntaron sobre Visual FoxPRo jajaja
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
Imágen de perfil de Leonardo Daniel A.
Val: 1.115
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Reemplazar NULL de todas las columnas por un valor, son 100 columnas, hacerlo 1 por 1 sería muy tard

Publicado por Leonardo Daniel A. (497 intervenciones) el 10/11/2016 01:09:32
muy facil.....

1
2
3
4
5
6
7
8
9
10
11
use MiTabla
 
_totCols = FCount()            && Contar el total de columnas
 
*** Aqui empiezo a contar desde la columna 1 y verifico si es tipo numerica
for _nCol = 1 to _totCols
     _columna = field( _nCol )            &&  sacamos el nombre de la columna para el replace
     if FType( Field( _nCol) )  = "N"     &&  Si el Tipo de Dato de ese numero de campo es numerico
        repla all &_columna with 0      &&  se usa la macrosustitucion   "&" para extraer el nombre del campo actual
     end if
next
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