1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
| PUBLIC SUB GridRemplis() 'remplissage du GridView
DIM Row AS INTEGER
IF NOT db.Current.Opened THEN db.Current.Open ENDIF
Resultat = DB.Current.Exec(FMain.triBase)'<-------------------------------- lecture de la base de données IF Resultat.Available THEN FOR EACH Resultat'<---------------------------------------------------- chaque enregistrement est décomposé en champ qui sera récupéré dans une colonne rMMS = Resultat!mms rSD = Resultat!sd rFR = Resultat!fr rQT = Resultat!qt rQM = Resultat!qm rRCC = Resultat!rcc rFichTech = Resultat!FichTech ' champs calculés cQTD = 2 * Pi * rFR * rMMS / (po * 344 * rSD) cQE = rQM / ((rQM / rQT) - 1) cCHP = rFR / cQE cBL = Sqr(2 * Pi * rRCC * rFR * rMMS / cQE) cFA = cBL / rMMS cLAS = 344 / (2 * Pi * rFR) cMAS = rMMS / rSD ^ 2 cVAS = po * 344 ^ 2 / ((2 * Pi * rFR) ^ 2 * cMAS) cSAS = po * 344 / (2 * Pi * rFR * cMAS) cRend = rFR ^ 3 * cVAS * 0.00000096 / cQE * 100 cEFF = 10 * Log10(cRend / 0.065) + 80 cDS = Sqr(4 * rSD / Pi) ' ajout colonne 25 cVDVAS = rMMS / po / cVAS cQTDSD = cQTD * rSD cQMRMS = 2 * Pi * rFR * rMMS cQTQTD = rQT / cQTD ' Row = Resultat.index '<-------------------------------------------- chaque ligne Row est égale à l'index des résultats WITH GridView1'<--------------------------------------------------- alimentation du GridView lui-même .Rows.Count = Resultat.Count'<--------------------------------- le nombre de lignes du GridView correspond au nombre d'enregistrements de la Base de Données 'champs de la base .[Row, 0].Text = Resultat!numero'<-----------------------------[ligne, colonne].Text .[Row, 1].Text = Resultat!marque'<----------------------------- chaque colonne d'une ligne est alimentée par un champ .[Row, 2].Text = Resultat!reference'<-------------------------- en commençant par la colonne zéro jusqu'au dernier champ que nous voulons afficher .[Row, 3].Text = Resultat!mms'<-------------------------------- les champs commençant par Resultat! faisant référence à un champ de la base de données .[Row, 4].Text = Resultat!sd .[Row, 5].Text = Resultat!fr .[Row, 6].Text = Resultat!qt .[Row, 7].Text = Resultat!qm .[Row, 8].Text = Resultat!rcc 'champs dimensions .[Row, 9].Text = Resultat!a .[Row, 10].Text = Resultat!b .[Row, 11].Text = Resultat!c .[Row, 12].Text = Resultat!d 'champs calculés .[Row, 13].Text = CStr(Format(cQTD, frmt1))'<------------------ les autres à des champs ajoutés (affectation directe) soit par calcul soit par une autre méthode .[Row, 14].Text = CStr(Format(cCHP, frmt1)) .[Row, 15].Text = CStr(Format(cFA, frmt1)) .[Row, 16].Text = CStr(Format(cEFF, frmt1)) .[Row, 17].Text = CStr(Format(cRend, frmt1)) .[Row, 18].Text = CStr(Format(cQE, frmt1)) .[Row, 19].Text = CStr(Format(cSAS, frmt1)) .[Row, 20].Text = CStr(Format(cLAS, frmt1)) .[Row, 21].Text = CStr(Format(cVAS, frmt1)) .[Row, 22].Text = CStr(Format(cMAS, frmt1)) .[Row, 23].Text = CStr(Format(cBL, frmt1)) .[Row, 24].Text = CStr(Format(cDS, frmt1)) ' ajout colonne 25 .[Row, 25].Text = CStr(Format(cVDVAS, frmt2)) .[Row, 26].Text = CStr(Format(cQTDSD, frmt2)) .[Row, 27].Text = CStr(Format(cQMRMS, frmt1)) .[Row, 28].Text = CStr(Format(cQTQTD, frmt1)) ' blob .[Row, 29].Text = Resultat!FichTech END WITH NEXT Resultat.MoveNext'<---------------------------------------------------- enregistrement suivant ENDIF ' myRow = Resultat.Index Compteur = Resultat.Count textbox2.Text = " " & Str(Compteur) & " sur un total de " & Str(CompteurInit) '
GridView1.Refresh() WAIT'<-------------------------------------------------------------------- rafraîchir immédiatement le GriView pour éviter les problèmes liés à la clôture du programme
CATCH Message.info("relancer le programme : " & Error.text)
END SUB
|