Obligement - L'Amiga au maximum

Jeudi 18 avril 2024 - 07:00  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

Actualité (récente)
Actualité (archive)
Comparatifs
Dossiers
Entrevues
Matériel (tests)
Matériel (bidouilles)
Points de vue
En pratique
Programmation
Reportages
Quizz
Tests de jeux
Tests de logiciels
Tests de compilations
Trucs et astuces
Articles divers

Articles in english


Réseaux sociaux

Suivez-nous sur X




Liste des jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z,
ALL


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Galeries

Menu des galeries

BD d'Amiga Spécial
Caricatures Dudai
Caricatures Jet d'ail
Diagrammes de Jay Miner
Images insolites
Fin de jeux (de A à E)
Fin de Jeux (de F à O)
Fin de jeux (de P à Z)
Galerie de Mike Dafunk
Logos d'Obligement
Pubs pour matériels
Systèmes d'exploitation
Trombinoscope Alchimie 7
Vidéos


Téléchargement

Documents
Jeux
Logiciels
Magazines
Divers


Liens

Associations
Jeux
Logiciels
Matériel
Magazines et médias
Pages personnelles
Réparateurs
Revendeurs
Scène démo
Sites de téléchargement
Divers


Partenaires

Annuaire Amiga

Amedia Computer

Relec


A Propos

A propos d'Obligement

A Propos


Contact

David Brunet

Courriel

 


En pratique : MUIbase - Traitement des données
(Article écrit par Steffen Gutmann et extrait de muibase.sourceforge.net - mars 2006)


Deux méthodes sont utilisables dans MUIbase pour le traitement des données : par programmation ou l'éditeur de requêtes. La méthode par programmation vous permet de créer des boutons dans les masques de tables qui, sur pression, appelleront des fonctions programmées. L'utilisation de cette méthode est décrite dans le chapitre concernant l'éditeur de structure et dans le chapitre à propos de la programmation dans MUIbase.

Ce chapitre décrit l'utilisation de l'éditeur de requêtes, une fenêtre où vous pouvez entrer des requêtes et consulter le résultat dans une fenêtre défilante.

Requêtes Select-from-where

MUIbase utilise un système de requête du type "select-from-where" comme dans les bases de données SQL. La requête vous permet d'afficher le contenu des enregistrements d'une ou plusieurs tables. Seuls les enregistrements qui correspondent à un certain critère se retrouvent dans le résultat. La syntaxe (incomplète) d'une requête select-from-where est :

SELECT EXPRLISTE FROM TABLELISTE [WHERE TEST-EXPR]
[ORDER BY ORDERLISTE]

...où "EXPRLISTE" est une liste d'expressions, séparées par des virgules, à afficher (souvent les noms de champs) ou une simple étoile "*" qui correspond à tous les champs des tables spécifiées, "TABLELISTE" est une liste de nom de tables, séparées par des virgules, desquelles les enregistrements sont examinés, "TEST-EXPR" est l'expression qui est testée pour chaque groupe d'enregistrements qui doit être inclus dans le résultat, et "ORDERLIST" est une liste de champs, séparés par des virgules, qui déterminent l'ordre pour afficher le résultat. Notez que les clauses "WHERE" et "ORDER BY" sont optionnelles ; ce qui est indiqué par les crochets [].

Par exemple, la requête :

SELECT * FROM TABLE

...affiche le contenu des champs de tous les enregistrements de la table spécifiée.

SELECT ATTR1 FROM TABLE WHERE (LIKE ATTR2 "*Madonna*")

...affiche les valeurs du champ ATTR1 de tous les enregistrements de TABLE pour laquelle le contenu du champ ATTR2 contient le mot Madonna.

Pour plus d'informations à propos des requêtes select-from-where et notamment sa syntaxe complète, voir Programmation de MUIbase, pour plus d'exemples voir le chapitre "Exemples de requêtes" plus bas.

Éditeur de requêtes

Pour saisir et exécuter des requêtes, ouvrez l'éditeur de requêtes en sélectionnant le menu "Programme - Requêtes". L'éditeur de requêtes peut gérer plusieurs requêtes mais une seule est est affichée. La fenêtre de l'éditeur de requêtes contient les éléments suivants :
  • Un champ de saisi de texte avec un bouton attaché. Le champ texte indique le nom de la requête en cours. En pressant le bouton, apparaissent une liste avec d'autres noms de requêtes ainsi que d'autres boutons. Vous pouvez sélectionner une des requêtes affichées en faire la requête courante, pressez le bouton "Nouveau" pour créer une nouvelle requête, pressez le bouton "Dupliquer" pour faire une copie de la requête sélectionnée, cliquez sur le bouton "Trier" pour trier la liste des requêtes, ou pressez le bouton "Supprimer" pour effacer la requête en cours. Pour quitter la fenêtre sans rien modifier, cliquez de nouveau sur le bouton des requêtes.

  • Un liste de choix qui permet d'assigner une requête à une table. À l'assignation d'une table, MUIbase lance cette requête lorsque l'utilisateur sélectionne le menu "Table - Afficher tous les enregistrements" de la table correspondante.

  • Un bouton "Exécuter" qui compile et exécute le programme de requête et affiche le résultat dans le fenêtre déroulante.

  • Un bouton "Export" qui ouvre une fenêtre (voir chapitre "Exporter des requêtes en texte" plus bas) pour exporter les résultats de la requête dans un fichier texte.

  • Un bouton "PDF" (sur la plupart des systèmes) qui ouvre une fenêtre (voir "Exporter des requêtes en PDF" plus bas) pour exporter les résultats de la requête dans un fichier PDF.

  • Un bouton "Imprimer" qui ouvre une requête (voir "Exporter des requêtes en PDF" plus bas) pour imprimer les résultats au format PDF.

  • Un bouton "Imprimer" qui ouvre une fenêtre (voir "Impression des requêtes" plus bas) pour imprimer les résultats.

  • Un champ de saisie pour taper le programme de requête. Vous saisissez ici une requête de type select-from-where. Cependant, il est possible d'entrer une expression du langage de programmation de MUIbase. cela peut être utile si vous voulez faire des calculs simples ou modifier certaines champs d'une table en utilisant un programme simple. Veuillez noter que MUIbase entoure automatiquement votre expression avec une paire de parenthèses. Vous pouvez donc omettre d'utiliser les plus extérieures.

  • Un affichage en liste qui montre les résultats de la requête en cours. L'affichage est formaté en lignes et colonnes. La ligne de titre contient les noms des champs de la requête select-from-where (le plus souvent les noms des attributs). Sur Les lignes suivantes est affiché le résultat de la requête, un jeu d'enregistrement par ligne. Chaque champ est affichée dans sa propre colonne. En cliquant sur le titre d'une colonne vous pouvez trier la liste en fonction de cette colonne. Un second clic sur la même colonne inverse l'ordre de tri. Sur Amiga vous pouvez sélectionner une seconde colonne en maintenant la touche Maj enfoncée tout en cliquant sur le titre. Si vous double-cliquez un élément de la liste, et que cet élément était généré directement à partir d'un enregistrement, alors cet enregistrement est affiché dans le masque de table correspondant. C'est une façon simple d'atteindre un enregistrement dans son masque de table.
L'éditeur de requête est non-modale. Cela signifie que vous pouvez laisser l'éditeur de requête ouvert alors que vous travaillez avec le reste de l'application. Vous pouvez à tout moment fermer l'éditeur de requête, en cliquant sur le bouton de fermeture sur la barre de titre.

Exporter des requêtes en texte

Vous pouvez exporter les résultats d'une requête select-from-where vers un fichier texte en appuyant sur le bouton "Exporter". Une fenêtre s'ouvrira contenant :
  • Un champ texte pour indiquer le fichier d'exportation. À droite du champ un bouton ouvre la fenêtre de sélection de fichier.

  • Deux champs texte pour indiquer les délimiteurs d'enregistrement et de champ. Vous pouvez saisir un caractère unique ou une séquence d'échappement en tapant \n, \t, \f, \??? (code octal), ou \x?? (code hexa.).

  • Un champ "Guillement double" qui peut être coché pour indiquer que les champs doivent être protégés par des guillements doubles.

  • Deux boutons "Exporter" et "Annuler" pour quitter la fenêtre.
Après avoir pressé le bouton Exporter, MUIbase ouvrira le fichier indiqué et écrira le résultat de la requête en incluant une ligne d'entête. Les champs sont écrit dans l'ordre des colonnes dans la liste.

Exporter des requêtes en PDF

Sur Windows, Mac OS X, Linux et MorphOS vous pouvez exporter les résultats d'une requête vers un fichier PDF en pressant le bouton "PDF".

Sur MorphOS, la fenêtre d'impression contient les options ci-dessous :
  • Un champ texte pour indiquer le fichier d'exportation. À droite du champ un bouton ouvre la fenêtre de sélection de fichier.
  • Une liste de sélection du format de page.
  • Une option pour choisir l'orientation de la page : (Portrait ou Paysage).
  • Une option pour le choix de la police de caractères et un champ pour saisir la taille désirée. Il est possible d'entrer une fraction, par exmple 10,5.
  • Un aperçu pour connaître le nombre de pages et vérifier que le texte entre dans la page.
  • Deux boutons "Ok" et "Annuler" pour fermer la fenêtre d'impression.
Après avoir pressé le bouton "Créer un PDF", MUIbase ouvrira le fichier indiqué et écrira le résultat de la requête en incluant une ligne d'entête. Les champs sont écrit dans l'ordre des colonnes dans la liste.

Impression de requêtes

Après avoir exécuté une requête, vous pouvez imprimer le résultat en cliquant sur le bouton "Imprimer" dans l'éditeur de requêtes. Cela ouvre une requête d'impression qui contient les éléments suivants :

Sur MorphOS le bouton "Imprimer" ouvre une fenêtre semblable d'exportation des requêtes en PDF (see Exporting queries as PDF). La fenêtre contient les options suivantes :
  • Une liste de sélection du format de page.
  • Une option pour choisir l'orientation de la page : (Portrait ou Paysage).
  • Une option pour le choix de la police de caractères et un champ pour saisir la taille désirée. Il est possible d'entrer une fraction, par exemple 10,5.
  • Un aperçu pour connaître le nombre de pages et vérifier que le texte entre dans la page.
  • Deux boutons "Ok" et "Annuler" pour fermer la fenêtre d'impression.
Après avoir pressé le bouton "Créer un PDF", MUIbase générera un fichier temporaire qu'il ouvrira dans un lecteur externe. Vous pouvez alors utiliser les fonctionnalités de votre lecteur pour envoyer les résultats de la requête à l'imprimante.

Sur les autres système Amiga, la fenêtre d'impression contient les options ci-dessous :
  • Un champ "Délimiteur" où vous précisez comment les colonnes doivent être séparées.

    "Espaces" place des caractères espaces entre chaque champs. La justification est faite à gauche ou à droite en fonction du type du champ (les nombres sont justifiés à gauche, le texte à droite). "Tabulations" insère un caractère tabulation entre les colonnes. Cela peut être utile si vous voulez utiliser la fenêtre d'impression pour exporter des enregistrements (voir ci-dessous). "Personnaliser" vous permet de préciser un délimiteur personnalisé à afficher entre les champs.

  • Un champ "Police" où vous précisez quelle police de caractères doit être utilisée pour l'impression. NLQ signifie "qualité proche d'une lettre" qui doit imprimer dans une meilleure qualité que "Brouillon".

  • Un champ "Taille" où vous définissez la taille des caractères. Pica imprime avec une police large (10 cpi), Elite avec une police de taille moyenne (12 cpi) et Condensé avec une petite police (17 cpi).

  • Un champ texte "Séquence d'initialisation" qui vous permet de préciser votre imprimante. Le contenu de ce champ est directement envoyé à l'imprimante à l'ouverture de celle-ci. Par exemple, vous pouvez utiliser \33c comme séquence d'initialisation qui réinitialise votre imprimante.

  • Un champ "Indentation" où vous pouvez préciser le nombre d'espaces qui seront utilisés pour indenter chaque ligne en sortie.

  • Un champ "Entête" qui, s'il est coché, imprime les noms de champs sur la première ligne.

  • Un champ "Codes d'échappement". S'il n'est pas coché, l'impression de tous les codes d'échappement est supprimé, donc les paramétrages des champs "Police" et "Taille" sont ignorés et le contenu de la séquence d'initialisation n'est pas imprimée. Supprimer l'impression de tous les codes d'échappement est utile si vous voulez générer un fichier ASCII, par exemple pour exporter des enregistrements.

  • Un champ "Guillemets" qui, s'il est coché, entoure chaque champ de guillemets.

  • Un champ "Après impression" où vous choisissez comment doit se terminer l'extraction. Saut de page imprime un caractère saut de page \f. Saut de ligne imprime un nombre de sauts de ligne \n. Le nombre de sauts de ligne peut être saisi dans le champ texte à la droite du bouton "Sauts de ligne". Rien n'imprime rien sur l'imprimante.

  • Un champ texte "Sortie" avec un bouton attaché. Vous pouvez utiliser le bouton pour ouvrir une requête de fichier et choisir ou saisir un nom de fichier. Pour envoyer la sortie vers l'imprimante entrez |lpr (Linux) ou PRT: (Amiga).

  • Deux boutons "Ok" et "Annuler" pour fermer la fenêtre d'impression.
Quand vous en avez terminé avec tous les paramètres, cliquez sur le bouton "Ok" pour lancer le travail d'impression.

Exemples de requêtes

Voici plusieurs exemples de requêtes pour vous donner une idée de la puissance des requêtes select-from-where.

Supposez que nous ayons deux tables, "Personne" et "Chien". "Personne" a les champs suivants : "Nom", un champ entier "Age", et deux champs de référence "Pere" et "Mere" qui se réfèrent aux enregistrements père et mère de la table "Personne". La table contient les enregistrements suivants :

      Nom       Age      Pere  Mere
      --------------------------------
p1:   Steffen    26     p2      p3
p2:   Dieter     58     NIL     NIL
p3:   Marlies    56     NIL     NIL
p4:   Henning    57     NIL     NIL

"Chien" a un champ texte "Nom", un champ de type liste "Couleur" et un champ de référence "Propriétaire" qui se réfère au propriétaire dans la table "Personne". La table contient les enregistrements suivants :

      Nom      Couleur   Propriétaire
      -----------------------
d1:   Boy       blanc   p3
d2:   Streuner  gris    NIL

Avec ces données, on peut exécuter les requêtes select-from-where suivantes :

SELECT * FROM Personne

...donne :

Name    Age  Pere Mere
--------------------------
Steffen  26 Dieter Marlies
Dieter   58
Marlies  56
Henning  57

(pour les attributs de référence le champ Nom de l'enregistrement référencé est affiché).

SELECT Nom "Enfant", Age,
       Pere.Nom "Pere", Pere.Age "Age",
       Mere.Nom "Mere", Mere.Age "Age"
FROM Personne WHERE (AND Pere Mere)

...donne :

Enfant   Age Pere  Age Mere  Age
----------------------------------
Steffen  26 Dieter  58 Marlies  56

SELECT Nom, Couleur,
       (IF Propriétaire Proprietaire.Nom "Pas de proprietaire") "Propriétaire"
FROM Chien

...donne :

Nom    Couleur  Propriétaire
------------------------
Boy      blanc  Marlies
Streuner gris   Pas de propriétaire

SELECT a.Nom, a.Age, b.Nom, b.Age FROM Personne a, Personne b
WHERE (> a.Age b.Age)

...donne :

a.Nom  a.Age  b.Nom  b.Age
---------------------------
Dieter     58 Steffen    26
Marlies    56 Steffen    26
Henning    57 Steffen    26
Dieter     58 Marlies    56
Henning    57 Marlies    56
Dieter     58 Henning    57


[Retour en haut] / [Retour aux articles]