Bases de données ODBC + MDB - Bases de données ODBC + CSV - Créer un fichier source de
données DSN - Créer une base avec des images - commande LIKE - Surbrillance |
|
|
Le matériel se trouve
dans le tutoriel
18_2 -
mis à jour
- à télécharger - cf. page des téléchargements
-
- pour chaque MFA, un fichier DSN et un fichier MDB, CSV
ou TXT, des
images
|
- par défaut, quand on crée
un fichier DSN,
il s'installe
dans
C:\Program Files\Fichiers
communs\ODBC\Data Sources\*.dsn - pour Windows XP -
ce répertoire n'existe pas dans Windows 7, il semble que les DSN s'installent dans C:\Utilisateurs\***\Mes documents\ , mais pas trouvé ?
- vous pourrez copier les
fichiers téléchargés dans ces répertoires,
quand vous lancerez le MFA, il les trouvera directement
- à garder ou copier
également dans votre répertoire de travail,
pour vous y retrouver plus tard...., et surtout
dans celui de l'application
- rappels : pour éviter un décalage
entre les colonnes, vérifier dans l'éditeur de liste d'événements
(faire Ctrl+L) du groupe "Display all" la position de l'action
"récupérer
la rangée"
:
c'est tout bête mais cela arrive souvent, il s'agit
d'un problème d'ordre d'exécution des
événements du groupe "Display all"
il faut placer l'action "récupérer la rangée" de l'objet ODBC
tout à la fin de l'ordre d'exécution
- même chose avec les autres
commandes, dans l'éditeur
de liste d'événements,
Changer
le texte SQL STRING doit être avant SELECT * FROM...,
INSERT INTO...
- en général, pour chaque Bouton cliqué :
1 Changer le
texte SQL STRING
2 Remplacer
la sélection par -
Commande SQL
3 Changer le
texte ""
- pareil pour l'action Nouvelle image...
si vous ajoutez l'objet Image Active sur une base déjà existante,
veiller à ce que l'instruction soit à sa place,
comme indiqué sur l'image
de droite
- vérifier que l'index de chaque liste soit le
même
voir les Propriétés
des listes,
onglet Configuration , il y a l'Option à cocher "Index
basés sur 1"
donc, soit décocher cette option dans toutes les
listes, soit la cocher dans toutes
- bien respecter la syntaxe,
ne pas confondre apostrophes et guillemets, ce qui donne une impression d'espace
entre eux quand on copie/colle la commande du MFA dans le bloc-notes
prévoir une boîte d'édition où les commandes SQL
sont affichées, assez grande - SQL STRING -
sinon, quand on arrive à la bordure droite de la
boîte, une partie de la requête est "mangée",
ce qui donne rien au final dans la base
ne pas oublier d'ajouter
les fichiers DSN, MDB, et CSV ou TXT, ainsi que les images dans la construction du programme d'installation
dans les Propriétés du MFA, penser à sélectionner les
extensions dans Filtres
image / Edition
|
 |
|
|
exemple les MFA trombinoscope +
fichiers dsn + bases de données +
images
- ajout de l'objet Image Active pour
les images, celui-ci est lié à la base - cf.. image ci-dessus -
Bouton
EXECUTE SQL
: Nouvelle image: ColText$(
"ODBC", 5) - la liste des images étant
dans la colonne 5
pour chaque Sélection
modifiée (Nom, Prénom, ...), une nouvelle image : Nouvelle image: List
Select$( "photo" )
- on a vu la syntaxe des
différentes commandes SQL dans les précédents tutoriaux
dans ce MFA, syntaxe de DELETE pour supprimer plusieurs données,
par exemple DELETE
Nom + Prénom
avec des données précises "DELETE FROM
Contacts WHERE Nom = 'CHACORNAC' AND Prénom = 'Dany'"
en utilisant les boîtes de dialogue "DELETE FROM
Contacts WHERE Nom='"+Edittext$( "nouveau_nom"
)+"' AND Prénom='"+Edittext$( "nouveau_prenom"
)+"'"
- syntaxe de UPDATE
avec des données précises "UPDATE Contacts
SET Prénom='Thérèse',Ville='MONTAUBAN' WHERE
Nom='CHACORNAC'",
c'est-à-dire avec des données précises
en utilisant les boîtes de dialogue
UPDATE Nom +
Prénom + Ville
"UPDATE
Contacts SET Prénom='"+Edittext$( "nouveau_prenom"
)+"',Ville='"+Edittext$( "nouveau_ville"
)+"'WHERE Nom='"+Edittext$( "nouveau_nom"
)+"'"
UPDATE Nom +
Prénom + Ville + Métier
"UPDATE
Contacts SET Prénom='"+Edittext$( "nouveau_prenom"
)+"',Ville='"+Edittext$( "nouveau_ville"
)+"',Métier='"+Edittext$( "nouveau_metier"
)+"'WHERE Nom='"+Edittext$( "nouveau_nom"
)+"'"
UPDATE Nom +
Prénom + Ville + Métier + Photo
"UPDATE
Contacts SET Prénom='"+Edittext$( "nouveau_prenom"
)+"',Ville='"+Edittext$( "nouveau_ville"
)+"',Métier='"+Edittext$( "nouveau_metier"
)+"',Photo='"+Edittext$( "nouveau_image"
)+"'WHERE Nom='"+Edittext$( "nouveau_nom"
)+"'"
question : en cas de doublon d'un même
nom, DELETE ou UPDATE supprime ou modifie tous les
contacts ayant le même nom
pour DELETE, on peut prévoir de supprimer Nom et Prénom, mais pour UPDATE ?
réponse : comme pour DELETE, on a 2 valeurs à indiquer, le Nom et le Prénom
"UPDATE
Contacts SET Ville='"+Edittext$( "nouveau_ville"
)+"',Métier='"+Edittext$( "nouveau_metier"
)+"',Photo='"+Edittext$( "nouveau_image"
)+"'WHERE Nom='"+Edittext$( "nouveau_nom"
)+"' AND Prénom='"+Edittext$( "nouveau_prenom"
)+"'"
|
|
|
questions en vrac sur le
forum
- toutes les listes sont bien
affichées, mais rien n'est sélectionné pour
que s'affiche l'image correspondant au 1er
contact, ou après un tri
question : comment mettre, d'entrée, en surbrillance la 1ère ligne avec affichage de
l'image
cette possibilité permettrait que s'affiche de
suite l'image, quand on cherche un seul élément,
sans avoir à cliquer dessus
réponse : cf.. page Surbrillance
si le Nom n'est pas
complètement indiqué dans la boîte de dialogue
Chercher
question : par exemple, comment afficher
tous les noms commençant par la lettre A
réponse : avec la commande LIKE
- je me demande s'il n'y a
pas un souci avec les commandes DELETE et UPDATE pour
une base CSV ou TXT
-
contrairement à une
base MDB -
|
|
|