Manipulation de tableaux avec BDD

cs_Eric25 Messages postés 175 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 26 juin 2006 - 5 janv. 2005 à 16:52
madbob Messages postés 285 Date d'inscription dimanche 14 décembre 2003 Statut Membre Dernière intervention 13 mars 2012 - 6 janv. 2005 à 08:49
Bonjour,

Je dois manipuler des données dans un tableau, certaines données sont issues d'une base de données SQL Serveur, les autres seront calculées. Certaines cases du tableau devront comporter des combobox.
- Quel est le type de tableau le plus approprié à mes besoins et quel composant faut-il insérer pour l'utiliser
- On m'a parlé de FlexGrid, MsFlexgrid, MSHFlexgrid... Il y a t'il une réelle différence entre tous ces tableaux
- Pouvez vous me donner des pistes pour la programmation de tableaux (sites internets...) car pour l'instant je suis au point mort...

Merci d'avance,
Eric

3 réponses

madbob Messages postés 285 Date d'inscription dimanche 14 décembre 2003 Statut Membre Dernière intervention 13 mars 2012
5 janv. 2005 à 21:32
Quand un tableau devient trop compliqué et sort des standards la galère commence... Mais c'est là qu'on s'amuse alors...



Peut être devrais-tu penser à utiliser excel en OLE...



MSH ... pour Hierarchical : tu peux profiter en plus de la notion Hiérarchie du point de vue recordset...



En fait ils se valent tous Y en a pas un vraiment meilleur que
l'autre... Il faut prendre le plus adapté à tes besoins... Peut être,
celui aussi ou tu as le plus de documentation ça aide. Vu ton bins, le
MSH... remplira peut-être tous tes espoirs... Mis à part les listbox ou
ça peut coincer et où ça sent la rustine :-).



Bon code

madbob
0
cs_Eric25 Messages postés 175 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 26 juin 2006 3
5 janv. 2005 à 23:25
J'ai cherché de la doc sur les MSHFlexgrid mais j'avoue que j'ai pas grand chose.
Quelqu'un peut-il me dire comment on fait le lien avec la BDD et me donner un exemple d'alimentation d'un MSHFlexgrid pour me fournir au moins de quoi essayer de bidouiller.

Merci d'avance
0
madbob Messages postés 285 Date d'inscription dimanche 14 décembre 2003 Statut Membre Dernière intervention 13 mars 2012
6 janv. 2005 à 08:49
un exemple de remplissage :

La cellule position ligne I colonne J est alimentée avec ValSQL du recordset L_enrgt




If IsNull(L_Enrgt!VALSQL) = False Then

P_Form.Grille_flex.TextMatrix(I, J) = L_Enrgt!VALSQL

Else

P_Form.Grille_flex.TextMatrix(I, J) = ""

End If





Le lien peut être fait directement par la propriété datasource



Sinon la méthode que j'utilise le plus souvent :

1er) je déclare une varible Global Gbabase as database



2em) je l'instancie par une connection set mabase =
opendatabase(PNomBase, False, False, L_chaine_connection) réfère toi à
l'aide pour les différentes méthode de opendatabase (jet/odbc...)

L_chaine_connection contient en géneral le type et le user password

exple L_chaine_connection = "MS Access;PWD=toto"



3eme) Quand j'ai besoin d'accéder j'ouvre un recordset


L_sql = "Select val1 as Nom, val2 as Prenom, val3 as Age from T_Personne T1 order by 1 where T1.age >= 35"

Mon_RS = Gbabase.OpenRecordset(L_Sql)





4em) je me positionne sur le premier enregistrement si il n'y a pas d'erreur


If Err.Number = 0 Then


L_Enrgt.MoveFirst

If Err.Number = 0 Then


'* parcours des record sets

while L_Enrgt.EOF = False Or Err.Number <> 0


'* Traitement jeu par jeux & remplissage des élements graphiques

...





wend






else






'* Gestion err sql

...






endif



else


'* gestion err sur recordset sql ou autre



endif





5 em ) Je libère le record set

Mon_RS.close



6 eme) je close la connection si je n'en ai plus l'usage

Gbabase.close



voilà

Madbob
0
Rejoignez-nous