begin process at 2012 05 24 09:32:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Foxpro

 > 

Divers

 > 

Débutant(e)

 > 

Que dois je faire pour selectionner une tale, la fermer et en selectionner une autre ...


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Que dois je faire pour selectionner une tale, la fermer et en selectionner une autre ...

mercredi 12 juillet 2006 à 15:41:24 | Que dois je faire pour selectionner une tale, la fermer et en selectionner une autre ...

logifox

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 ...


jeudi 13 juillet 2006 à 09:23:22 | Re : Que dois je faire pour selectionner une tale, la fermer et en selectionner une autre ...

MichelAtoutFox

Membre Club
Bonjour,

pour fermer une table (en réalité, c'est le curseur qu'on ferme, la table, ce sont des datas sur une unité):
USE IN 'csf'

mais tu n'as pas besoin de la fermer pour travailler sur une autre, SELECT acf devrait suffire pour travailler dans acf.

à la place d'append blank, essaies d'utiliser INSERT INTO, c'est plus propre...

les nouveaux clients dans la mauvaise table ?? que veux-tu dire? peux-tu donner un exemple, et préciser la structure de tes tables? comment ouvres-tu ces curseurs? (le code, s'il te plait)
vendredi 14 juillet 2006 à 09:40:16 | Re : Que dois je faire pour selectionner une tale, la fermer et en selectionner une autre ...

logifox

Bonjour et merci pour cette reponse !
Finalement, je suis parvenu a corriger l'erreur des occurences presentes dans la mauvaise table, en fait, le test que je faisais au niveau de l'occurence du curseur etait mauvais, ... j'ai bien vite corrigé tout cela et tout fonctionne correctement !
Je n'ai donc pas eu besoin d'utiliser un USE, le SELECT a suffit.

Est ce que les ' ' sont obligatoire dans la commande USE IN 'csf' ?

Bonne journée
lundi 17 juillet 2006 à 17:02:14 | Re : Que dois je faire pour selectionner une tale, la fermer et en selectionner une autre ...

MichelAtoutFox

Membre Club

Bonjour,

USE IN attend 2 types de paramètres possibles:
- un entier, alors le paramètre désigne le n° de la zone de travail à fermer
- une chaine de carctère, alors le paramètre désigne le nom d'alias à fermer. Si csf est le nom d'alias, il faut l'encadrer de délimiteurs pour que l'instruction soit correcte (simples quotes, doubles quotes, crochets).



Cette discussion est classée dans : table, existe, selectionner, csf, alltrim


Répondre à ce message

Sujets en rapport avec ce message

Copie d'une table a l'autre [ par ducker88 ] Bonjour a tousJe voudrais savoir s'il existe une fonction permettant de copier les données d'une table foxpro vers une autre table qui aurai des champ Trouver clé primaire [ par ducker88 ] Bonjour,Est t'il possible de trouvé automatiquement la clé primaire en connaissant la table ?Je voudrais realiser une fonction permettant de renvoyer Erreur dans une fonction :( [ par ducker88 ] Bonjour,Voila j'ai creer une fonction transfert.prg qui à pour but de copier les donnée d'une table vers une autre. Je passe en parametre le nom de ce Ajout champ dans table [ par ducker88 ] Bonjour a tous,Voila j'aimerai créer une fonction qui permettrai d'ajouter un champ à une table.Cette fonction dois avoir comme parametre le nom de la Existence d'une table [ par ducker88 ] Bonjour,Existe t'il un moyen simple de verifier l'existence d'une table et savoir si elle est disponible.Merciduck88 erreur sur creation de table [ par ducker88 ] Bonjour,Voila je veux creer une table dans une database existente, je me suis inspiré de l'aide de VFP et j'en ai tiré le code suivant : CREATE TABLE Copie de database [ par ducker88 ] Bonjour, Existe t'il une fonction simple pour copié une database ?J'ai essayé le code suivant : IF C_chem_dest # C Creation de table mais pas a l'endroit voulu [ par ducker88 ] Bonjour,Voila je souhaiterai creer une table dans une base specifique.J'ai donc tapé le code suivant : CLOSE DATABASES SET PATH TO C_che SQL - "delete from" ne fonctionne pas ;'( [ par highmasterc ] Bonjour à tous. Alors voila, dans mon code, j'utilise une table nommmée table2 (c'est une "free table").J'execute deux requêtes SQL sur cette table qu probleme sur append [ par ducker88 ] Bonjour a tous, voici mon soucis, je voudrais copié les enregistrement d'une table A vers une table Bj'utilise donc la fonction append from;Pour verif


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,466 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales