Cómo restablecer un campo de base de datos a un valor null de FoxPro

Seleccione idioma Seleccione idioma
Id. de artículo: 99095 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

Cuando se crea un nuevo registro de base de datos de FoxPro, todos los campos de base de datos se establecen en un valor nulo. Puede probarlo mediante la función EMPTY() en cada campo de un registro recién creado:
   USE customer
   APPEND BLANK
   ? EMPTY(cno)     & Returns .T.
   ? EMPTY(zip)     & Returns .T.
				
EMPTY() la función está disponible en versiones de FoxPro 2.0 y versiones posteriores. La Función ISBLANK() está disponible en FoxPro versión 2.6. Hay una diferencia importante entre las funciones EMPTY() y ISBLANK() en campos numéricos y lógicos. Devolverá EMPTY(). T. Si el campo está en blanco o si contiene los valores predeterminados de cero para un campo numérico o. f el. para un campo lógico. Devolverá ISBLANK(). T. Si el campo numérico o lógico contiene un valor nulo y. f el. Si el campo contiene el valor predeterminado.

A veces desea restablecer un campo a un valor null tras haber introducido datos en el campo. Por ejemplo, en un programa estadístico, puede que desee modificar un valor numérico puntuación campo para que contenga un valor nulo para ninguna respuesta y una respuesta de cero en donde el resultado era cero. Más abajo encontrará información sobre cómo restablecer los distintos tipos de campo en null.

Más información

Las versiones 2.0 y 2.5 de FoxPro x

Carácter o los campos Memo:

Para restablecer un campo carácter o memo en un valor nulo, reemplace el campo con la cadena de texto null "":
   REPLACE fieldname WITH ""
					
campos de fecha:

Para restablecer un campo de fecha a un valor nulo, reemplace el campo fecha con la cadena de fecha null {/ /}:
   REPLACE fieldname WITH {  /  /  }
					
campos numéricos:

No se puede restablecer un campo numérico en un valor null porque devuelve la función EMPTY(). T. Si un campo numérico está en blanco o cero. Para ilustrar este comportamiento, emita el comando siguiente en un registro existente cuando se utiliza una base de datos que tiene fecha, numéricos y campos de caracteres:
   SCATTER MEMVAR BLANK
   GATHER MEMVAR FIELDS
   ? EMPTY(numericfield)
   BROWSE
					
nota que se han borrados los campos de fecha y el carácter fuera. El campo numérico contiene un cero (0).

Para evitar esta limitación, haga lo siguiente para campos numéricos:

  1. Para cada campo numérico en la base de datos, crear un campo lógico correspondiente.
  2. Código de la siguiente lógica en rutinas o modificar entrada de datos:

    Si el campo numérico contiene 0 como datos, establezca el campo lógico en. T. Si el campo numérico es no contienen ningún valor, establezca el campo lógico en. f el.
  3. Utilice el campo lógico como un indicador en FOR cláusulas para operaciones posteriores, como sigue
          AVERAGE response TO memvar FOR notempty
    							
    donde "respuesta" es el campo numérico y "notempty" es el campo lógico correspondiente.
Campos lógicos:

No lógicos campos también se puede restablecer en null, desde ambos un espacio en blanco y un. f el. campo lógico dará como resultado EMPTY(<logicalfield>) devuelve un valor de. T.

También se puede utilizar la técnica utilizada anteriormente para los campos numéricos para los campos lógicos. Cuando utiliza esta técnica para los campos lógicos, crear un campo de caracteres con una longitud de 1. Este campo de caracteres debe contener T para true, F para Falso, o un espacio para vacío.

Nota: Siempre se devolverá un campo de caracteres que contenga sólo espacios. T. de la función EMPTY().

Campos generales:

El contenido de un campo general puede ser eliminado emitiendo el comando:
   APPEND GENERAL <generalfield>
					

FoxPro versión 2.6

Se ha agregado un nuevo comando, en blanco, en la versión 2.6. El comando en blanco permite un campo o campos que puede restablecer a un valor true nulo o vacío.

  1. En blanco de un registro completo, emita el comando siguiente:
          BLANK
    							
  2. En blanco los campos seleccionados, emita el comando siguiente:
          BLANK FIELDS <field1>, <field>
    							
Si lo desea, puede agregar una cláusula SCOPE al comando en blanco. El comando en blanco restablecerá cualquier tipo de campo a un valor vacío es true. El comando en blanco automáticamente bloqueará el registro actual si no se emite ninguna cláusula SCOPE o toda la base de datos si se utiliza una cláusula SCOPE.

Visual FoxPro 3.0

Un valor .NULL está disponible en Visual FoxPro. Para establecer los campos en null, reemplazar los campos con. NULL Buscar valores null en campos de utilizan la función ISNULL().

Para obtener más información, vea el manual de "Funciones de comandos &" de FoxPro 2.0 o el manual de "Referencia del lenguaje" FoxPro 2.5. Para obtener información acerca de la función ISBLANK() y el comando en blanco, consulte el archivo de Ayuda FoxPro versión 2.6.

Propiedades

Id. de artículo: 99095 - Última revisión: lunes, 01 de diciembre de 2003 - Versión: 2.1
La información de este artículo se refiere a:
  • Microsoft Visual FoxPro 3.0 Standard Edition
  • Microsoft FoxPro 2.0
  • Microsoft FoxPro 2.5b for MS-DOS
  • Microsoft FoxPro 2.5a
  • Microsoft FoxPro 2.5b for MS-DOS
  • Microsoft FoxPro 2.6 para MS-DOS
  • Microsoft FoxPro 2.5b
  • Microsoft FoxPro 2.5a
  • Microsoft FoxPro 2.5b
  • Microsoft FoxPro 2.6 Standard Edition
  • Microsoft Visual FoxPro 2.5b para Macintosh
Palabras clave: 
kbmt KB99095 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 99095

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com