Bonjour à tous,
Je débute en foxpro et je suis completement bloqué , AUSECOURS :'(.
j'ai créé une application qui me permet de remplir une base de donnée .dbf à partir d'un fichier excel.
Dans un premier temps, j'utilise 4 workarea différentes dans lesquelles j'ai ouvert 4 table .dbf différentes.(client, comptes, ...)
Dans un deuxieme temps, j'ai placé le contenu du fichier excel dans un curseur
Ensuite, je parcours le curseur et en fonction des valeurs découvertes dans un certain champ, je teste si la valeur existe deja dans une des tables, si elle n'existe pas , je dois la créer.
Cela fonctionne tres bien , sauf que les champs créés sont créés dans toutes les tables !!???
Voici le code :
** Test si le fournisseur ou le client existe dans la table CSF
** Si il n'existe pas il est créé
SELECT csf ** ouverture de la table OK
LOCATE FOR ALLTRIM(UPPER(csf.number)) = ALLTRIM(tmpimput)
IF !FOUND()
APPEND BLANK
REPLACE csf.number WITH ALLTRIM(tmpImput)
IF (tmpType = "F")
replace csf.type WITH "2"
ELSE
IF (tmpType = "C")
replace csf.type WITH "1"
ENDIF
ENDIF
SELECT csf ** je voudrais fermer cette table , mais je n'y parviens pas ...
ENDIF
** Test si le compte general existe dans la table
SELECT acf
LOCATE FOR ALLTRIM(UPPER(acf.number)) = ALLTRIM(tmpImput)
IF !FOUND()
APPEND BLANK
REPLACE acf.number WITH ALLTRIM(tmpImput)
REPLACE acf.debcredflt WITH "0"
SELECT acf
ENDIF
A la fin du compte je mùe retrouve avec des nouveaux clients dans la bonne table mais aussi dans la mauvaise table...
Que dois je faire pour selectionner une tale, la fermer et en selectionner une autre ...