banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Wed 15 September 2010 16:14

jean94
Participant assidu
Date d'inscription: 13 Aug 2009
Messages: 436

Text dans un Run command

J'ai un run command comme celle-ci a faire

Select NAME ( "Municipalité" ) , EMISSIONS ( "Émissions" ) , SOUMISSIONS ( "Soumissions" ) , Int ( EMISSIONS / SOUMISSIONS * 100 ) ( "Ratio" )  from produits_mun  into Tableau noselect

Que j'ai réécrit comme suit

"Select "+NAME+" ( Municipalité ) , "+EMISSIONS+" ( Émissions ) , "+SOUMISSIONS+" ( Soumissions ) , Int ( "+EMISSIONS+" / "+SOUMISSIONS+" * 100 ) ( Ratio )  from "+produits_mun+"  into Tableau noselect"

On me renvoit que Municipalité n'est pas définit (variable ou field) Municipalité, Émissions, Soumissions et ratio étant de nom à donné au nouveaux champs j'ai donc essayé ceci

"Select "+NAME+" ( ""Municipalité"" ) , "+EMISSIONS+" ( ""Émissions"" ) , "+SOUMISSIONS+" ( ""Soumissions"" ) , Int ( "+EMISSIONS+" / "+SOUMISSIONS+" * 100 ) ( ""Ratio"" )  from "+produits_mun+"  into Tableau noselect"

Et on me renvoit la variable or field Sept not defined??? Je n'ai aucune idée pouruqoi Sept...

Évidament tout est sur la même lignes

À l'aide
JF

Hors ligne

 

#2 Wed 15 September 2010 16:53

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Text dans un Run command

Bonjour
Seul le mélange de variables et de constantes impose de passer par un Run Command
Si les noms de colonnes et celui de la table sont des constantes, la requête peut être directe
Select NAME "Municipalité", EMISSIONS "Émissions", SOUMISSIONS "Soumissions", Int (EMISSIONS*100/ SOUMISSIONS) "Ratio" from produits_mun  into Tableau noselect
Sinon il faut passer par le Run Command en reprenant la requête qui marche et en mettant entre guillemets les parties constantes (en remplaçant dans celles-ci les éventuels guillemets originaux par chr$(34)...)
Et faire un print pour vérifier les fautes de frappe...

ps: le sept est peut être le résultat du ratio ??

Hors ligne

 

#3 Wed 15 September 2010 17:11

jean94
Participant assidu
Date d'inscription: 13 Aug 2009
Messages: 436

Re: Text dans un Run command

Bonjour Maurice,

Les nom évoqué tel que NAME, EMISSION, SOUMISSIONS sont les vrai nom de champs et non des variables j'essaie de passer par une run command car mon worspace ne semble pas vouloir effectuer la sélection...je p-e dans les patates

JF

Hors ligne

 

#4 Wed 15 September 2010 18:15

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Text dans un Run command

La requête telle que je l'ai mise en gras dans mon posts précédent , passée dans la FMB, ne marche pas ??

Hors ligne

 

#5 Wed 15 September 2010 19:14

jean94
Participant assidu
Date d'inscription: 13 Aug 2009
Messages: 436

Re: Text dans un Run command

Re

Avant de te répondre je vais ajouter quelques précision, en fait j'ai un code qui exécute des .xls, les convertits en table et crée un workspace avec une carte thématique et un browser sous la carte ce qui semble assez simple. Les dernières lignes de codes sont les suivantes :

Code:

Select table.NAME, table.EMISSIONS, table.SOUMISSIONS, table2.GHHDS2 from table, table2 where table.CODE_MUN = table2.CODE_MUN into Tableau noselect

Select Tableau.NAME "Municipalité", Tableau.EMISSIONS "Émissions", Tableau.SOUMISSIONS "Soumissions", ( Tableau.EMISSIONS / Tableau.SOUMISSIONS * 100 ) "Ratio", Tableau.GHHDS2 "Nombre_Ménages" from Tableau into TableauQuery noselect

Browse * From TableauQuery
  Position (0.03125,6.66667) Units "in"
  Width 6.58333 Units "in" Height 1.6875 Units "in" 
   Row 22 Column 0
Set Window FrontWindow() Enhanced On Smooth Text Antialias
Set Window FrontWindow() Title "Tableau - Ratio V/S"
Set Window FrontWindow() Printer
 Name "GeoPrinter" Orientation Portrait Copies 1
 Papersize 1

Save Workspace As WdevlPath

Donc je veut un browser avec 5 colonnes sélectionné seulement or, quand je réouvre le workspace le tableau voulu n'y est pas n'y même la sélection.

Dans la FMB les sélection fonctionne mais ne sont pas dans le .wor...

Je crois avoir vu un post à ce sujet dernièrement mais je le trouve pas 

JF

Hors ligne

 

#6 Thu 16 September 2010 09:24

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Text dans un Run command

Rappel: seules sont conservées (enregistrées) dans un WOR les requêtes de premier niveau
Les requêtes qui utilisent  un résultat d'une requête précédente fonctionnent mais ne sont pas enregistrables dans le WOR...
Faut faire avec !! sad

Hors ligne

 

#7 Thu 16 September 2010 14:25

jean94
Participant assidu
Date d'inscription: 13 Aug 2009
Messages: 436

Re: Text dans un Run command

Parfais Maurice j'ai règler mon problème en combinant les deux

Ex:

Code:

Select table1.NAME "Municipalité", table1.EMISSIONS "Émissions", table1.SOUMISSIONS "Soumissions", ( table1.EMISSIONS / table1.SOUMISSIONS * 100 ) "Ratio", table2.GHHDS2 "Nombre_de_Ménages" from table1, table2 where table1.CODE_MUN = table2.CODE_MUN into TableauQuery noselect

Deuxième problème...

J'ai deux fenêtre qui sont affiché et j'aimerais les renommer en fonction que s'il s'agit d'une Map ou un Browser voici mon bout de code que je pensais correcte mais affiche "Invalid window Identifier : 1"

Voici mon code

Code:

dim numwin as smallint
numwin = 1
do while numwin < NumWindows()
if WindowInfo(WindowID(numwin), WIN_INFO_TYPE) = 1 then Set Window numwin Title "Ratio Ventes/Soumissions - " + TitreCarte + " - " + "Année" + " " + VarStrAnnee
else Set Window numwin Title "Tableau - Ratio V/S"
end if
numwin = numwin + 1
loop

J'avoue que j'ai encore de la difficulté à maitriser la gestion des fenêtre dans mapinfo

JF

Hors ligne

 

#8 Thu 16 September 2010 20:32

jean94
Participant assidu
Date d'inscription: 13 Aug 2009
Messages: 436

Re: Text dans un Run command

Re bonjour, J'ai pu trouver l'erreur de mon deuxième point voici les lignes magiques :

Code:

dim numwin as smallint
numwin = 1
do while numwin <= NumWindows()
print numwin
print WindowInfo(WindowID(numwin), 1)
if left$(WindowInfo(WindowID(numwin), 1), 5) = "Ratio" then Set Window WindowID(numwin) Title "Ratio Ventes/Soumissions - " + TitreCarte + " - " + "Année" + " " + VarStrAnnee end if
if left$(WindowInfo(WindowID(numwin), 1), 5) = "Table" then Set Window WindowID(numwin) Title "Tableau - Ratio V/S" end if
numwin = numwin + 1
loop

Or, si je reviens à mon premier point....mon "workspace" ne veut toujours pas enregistrer la ligne suivante

Code:

Select table1.NAME "Municipalité", table1.EMISSIONS "Émissions", table1.SOUMISSIONS "Soumissions", ( table1.EMISSIONS / table1.SOUMISSIONS * 100 ) "Ratio", table2.GHHDS2 "Nombre_de_Ménages" from table1, table2 where table1.CODE_MUN = table2.CODE_MUN into TableauQuery noselect

Je n'ai aucune idée pourquoi, car la commande fonctionne très bien dans la FMB

JF

Dernière modification par jean94 (Thu 16 September 2010 21:21)

Hors ligne

 

#9 Thu 16 September 2010 22:50

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Text dans un Run command

Hypothèse 1: table1 ou table2 est une table requête et pas une "vraie" table en dur...
Hypothèse 2: l'option "Préférences->Démarrage->Enregistrer les requêtes dans les documents" n'est pas cochée...

Hors ligne

 

#10 Fri 17 September 2010 14:33

jean94
Participant assidu
Date d'inscription: 13 Aug 2009
Messages: 436

Re: Text dans un Run command

Bonjour Maurice

Les deux tables sont sauvegardées en dur et la case « Enregistrer les requêtes dans les documents » est cochée. Donc, en terme scientifiques, les deux hypothèses sont rejetées. Bien que cela me reste perplexe, (je soupçonne le SQL) j'ai décidé de sauvegarder la requête en dur et de l'afficher en table. En fin d'année cela me donnera 288 tables inutiles mais plus de casse-tête. Si jamais une solution tombe du ciel je vous tiendrai au courant.

JF

Dernière modification par jean94 (Fri 17 September 2010 14:34)

Hors ligne

 

Pied de page des forums

Powered by FluxBB