Aller au contenu principal
Version: 20 R7 BETA

REGENERATE MISSING TABLE

REGENERATE MISSING TABLE ( nomTable )

ParamètreTypeDescription
nomTableTextNom de table manquante à regénérer

Cette commande n'est pas thread-safe, elle ne peut pas être utilisée dans du code préemptif.

Description

La commande REGENERATE MISSING TABLE reconstruit la table manquante dont vous avez passé le nom dans le paramètre nomTable. Lorsqu’une table manquante est reconstruite, elle devient visible dans l’éditeur de Structure et ses données sont de nouveau accessibles.

Les tables manquantes sont des tables dont les données sont présentes dans le fichier de données mais qui n’existent pas au niveau de la structure. Vous pouvez identifier les tables manquantes éventuellement présentes dans l’application à l’aide de la commande GET MISSING TABLE NAMES.

Si la table désignée par le paramètre nomTable n’est pas une table manquante de la base, la commande ne fait rien.

Exemple

Cette méthode regénère toutes les tables manquantes éventuellement présentes dans la base :

 ARRAY TEXT($tMissingTables;0)
 GET MISSING TABLE NAMES($tMissingTables)
 $SizeArray:=Size of array($tMissingTables)
 If($SizeArray#0)
  // Remplir le tableau avec les noms de toutes les tables de la base
    ARRAY TEXT(tabTables;Lire numero derniere table)
    If(Last table number>0)    //S’il y a bien des tables
       For($vlTables;Size of array(tabTables);1;-1)
          If(Is table number valid($vlTables))
             tabTables{$vlTables}:=Table name($vlTables)
          Else
             DELETE FROM ARRAY(tabTables;$vlTables)
          End if
       End for
    End if
    For($i;1;$SizeArray)
       If(Find in array(tabTables;$tMissingTables{$i})=-1)
          CONFIRM("Regénérer la table"+$tMissingTables{$i}+" ?")
          If(OK=1)
             REGENERATE MISSING TABLE($tMissingTables{$i})
          End if
       Else
          ALERT("Impossible de régénérer la table "+$tMissingTables{$i}+" car il y a déjà une table de ce nom dans la base.")
       End if
    End for
 Else
    ALERT("Pas de tables à regénérer.")
 End if

Voir aussi

GET MISSING TABLE NAMES