|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : mai 2004 Messages : 35 ![]() |
Bonjour,
J'importe, sous Paradox v10, un fichier texte ascii délimité dans une table. J'obtiens un message d'erreur : Capability not supported. J'ai fait des tests et cela vient du fait qu'un champ Mémo est présent dans la table. Comment doit être le fichier texte au niveau des données du champ Mémo pour que cela marche ? J'ai essayé plusieurs choses : - Chaine entre guillemets (ex. : "toto";"texte pour le champ Mémo";1) - Chaine vide (ex. : "toto";"";1) - ne rien mettre (ex. : "toto";;1) Mais rien n'a fonctionné... Je voudrais arriver à importer des données dans le champ Mémo ou au pire ne pas les importer mais ne pas avoir de message et que ça marche... Merci ! |
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() Inscription : octobre 2007 Messages : 96 ![]() |
SI les assistants ne passent pas tu peux toujours le faire par un petit programme OPAL.
Mais bon si c'est la suite de ton message précédent, le plus simple est de corriger la table directement. |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : mai 2004 Messages : 35 ![]() |
Merci pour ta réponse.
Malheureusement je ne connais pas OPAL... Perso, je développe sous Visual FoxPro. Je comptais donc faire toutes les manips nécessaires dans un environnement "familier" et exporter ça en format texte, puis importer au final mon texte dans mon DB à l'aide de Paradox. Oui effectivement c'est la suite de mon message précédent. Que veux-tu dire par "corriger la table directement" ? C'est quand même bizarre cette histoire de champ Memo... |
|
|
00
|
|
|
#4 |
|
Membre habitué
![]() Inscription : octobre 2007 Messages : 96 ![]() |
Faire ce que l'on t'a conseillé :
- passer ton champ + en I - faire tes modis (ajout de record...) directement dans la table (tu as donc Pdox 10) - une fois cela fait, repasser ton champ I en + - tha's all ! |
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : mai 2004 Messages : 35 ![]() |
Le problème, c'est que je ne connais pas assez Paradox pour faire ça alors que je ferais ça sans pb sous Visual Foxpro...
C'est pour ça que j'en reviens à mon pb initial, pourquoi cette erreur par rapport aux champs mémo ?? Encore Merci |
|
|
00
|
|
|
#6 |
|
Membre habitué
![]() Inscription : octobre 2007 Messages : 96 ![]() |
Salut
En Pdox 10 : a) Passer le champ + en I : Fichier/Ouvrir/table tu choisis la table Menu Format/Restructurer la table Tu remplace le + de la colonne Type par un I (i majuscule) pour le champ Tu valides en cliquant sur le bouton Enregistrer b) Effectuer les corrections : Tu ouvres à nouveau ta table Pour pouvoir insérer il faut passer en mode édition Pour cela tu appuis sur <F9>, il t'affiche "Edition" en bas d'écran Pour insérer un enregistrement Tu appuis sur <INS> et tu remplis ton enregistrement. Tu as donc maintenant libre accès au champ précédemment autoincrémenté. Tu peux répéter ces insertions à loisir Pour mettre à jour la partie mémo il suffit de double-cliquer sur le champ (copier /coller est bien sûr disponible). Pour sortir de la vue mémo tu peux fermer la vue mémo (raccourci clavier <Maj><F2> = Entrer vue mémo, <F2>=sortir vue mémo) Pour arrêter tes saisies il suffit de fermer la table c) Revenir au champ autoincrémenté Tu refais le a) en remettant + à la place de I Ta numérotation automatique repartira de la plus grande valeur de la table. C'est fini Pour des soucis d'import avec l'assistant j'avoue ne pas m'embêter. Dès que cela ne passe pas directement je le fais en OPAL, un langage simple qui dispose de tout le nécessaire pour ce type de traitement. En gros un textStream te permet d'accéder aux fichiers en lecture (et écriture si besoin) très facilement (open, readline, writeline, commit, close...), un TCursor te permet d'accéder à tes table en lecture et écriture très facilement (open, edit, postrecord, locate, scan, close...), quelques variables string au milieu pour manipuler ce qui doit l'être, éventuellement une variable de type memo pour préparer le formatage d'un mémo (on passe sans souci d'une string à un mémo et vice versa) et hop... Mais dans ton cas c'est clairement plus de boulot. Bon courage, si tu butes sur un point n'hésites pas. |
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Inscription : mai 2004 Messages : 35 ![]() |
Merci BEAUCOUP !
Effectivement la meilleure méthode est d'utiliser Paradox. Je me suis penché sur l'aide en ligne + tes précieux conseils. Je vais (encore) poser quelques questions basiques mais dont je n'ai pas de réponses : - Comment réindexer une table (regénerer les index) ? - A quoi correspondent les fichiers *.XG0, *.XG1, *.YG0, *.YG1 ? - Est-il possible de faire une requête ou une opération d'import entre 2 tables qui ne sont pas dans le même espace de travail ? Encore un GRAND Merci ! Steph |
|
|
00
|
|
|
#8 | |||
|
Membre habitué
![]() Inscription : octobre 2007 Messages : 96 ![]() |
Salut
Citation:
Citation:
Citation:
Paradox est même capable de te faire une requête hétérogène cross bases (tu interroges une table ORACLE en liaison avec une table SQLServeur... ) Si tu veux découvrir un outil formidable, lis donc mon tutorial : http://www.clairinfo.fr/scripts/trace.php?noart=1 |
|||
|
|
00
|
|
|
#9 | ||
|
Invité régulier
![]() Inscription : mai 2004 Messages : 35 ![]() |
Merci pour le tutorial !
Juste 2 dernières questions : - J'ai réussi, via l'interface, à importer une table dans une autre depuis 2 espaces de travail différents, mais comment faire pour effectuer une requête SQL sur 2 tables situées dans 2 répertoires de travail différents ? J'ai essayé un truc du style: select * from :work:table1 where.... mais ça marche pas.. - Pour réindexer une table, je créé un script avec le code suivant : Code :
MErci ! |
||
|
|
00
|
|
|
#10 | ||||
|
Membre habitué
![]() Inscription : octobre 2007 Messages : 96 ![]() |
Salut
Exemple de requête sur des tables atteintes par des alias (donc potentiellement dans des répertoires différents) Dans cet exemple B1 et B2 sont 2 alias BDE pointant sur des répertoires distincts, le reste est classique. Mais les alias peuvent pointer sur une ou plusieurs bases client serveur... Code :
Pour la réindexation essaie de nommer simplement tes index sans caractère particulier (°, espace etc...) C'est le nom de l'index que tu passes à Reindex() sinon essaie plutôt ReindexAll() qui traitent tous les index de la table Voici un exemple simple qui fonctionne (la table client ayant un index secondaire nommé idx_nom) : Code :
|
||||
|
|
00
|
|
|
#11 | |
|
Invité régulier
![]() Inscription : mai 2004 Messages : 35 ![]() |
Encore une fois, Merci !
Un dernier point (vraiment le dernier cette fois...) par rapport à la reindexation des tables et à l'exécution d'un code en général : Je n'arrive pas exécuter du code (sans passer par un formulaire). Je fais "file>New>script" et je colle le code, par exemple celui que tu m'as passé. Je suppose qu'il faut enlever le method et endmethod car le code ne fait partie d'aucune méthode. Je tape F8 et là il me dit erreur de syntaxe sur le T de "T.attach", alors que T est bien défini "T TABLE". C'est surement très simple mais j'y arrive pas.. Citation:
Merci Steph |
|
|
|
00
|
|
|
#12 | ||||||||
|
Membre habitué
![]() Inscription : octobre 2007 Messages : 96 ![]() |
Salut
Citation:
Code :
Citation:
Code :
Code :
|
||||||||
|
|
00
|
|
|
#13 |
|
Invité régulier
![]() Inscription : mai 2004 Messages : 35 ![]() |
Voilà, j'ai pu effectuer toutes les manips sur les tables Paradox !!
Encore MERCI !!!!!!!!!!!!!!!!!!!!!!!!!!!! pour ton aide Comico !!!! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com