VB : tableau en Constantes

Fermé
eddys - 11 juin 2002 à 08:18
 eximius55 - 30 oct. 2007 à 11:07
Salut !!

Je vous savoir ... y a un moyen de declarer une constante en VB qui soit un tableau ?
Qd j'essaie de coder ca, il me dit que j peux pas mais j m'y prends ptet mal ...

En fait ce que j voulais faire, c'est coder en dur une liste de champs que j dois importer d'une base de données, pour pouvoir ensuite generer automatiquement la requete grace a cette liste ...
(j veux pas coder les champs en dur dans la requete pour pouvoir ajouter ou retirer facilement un champ dans le futur)

Voili voilou ... merci de toute aide ou toute idee aportee :o)

@+ !
A voir également:

3 réponses

Salut Gilles,

Effectivement VB n'aime pas trop ce type d'affectation, pour ma part je verrais les choses comme ca :

' Pour des contantes de type INTEGER
Dim i As Integer
Dim x As Integer

Dim monTableau(20) As Integer
i = 1
For x = LBound(monTableau) To UBound(monTableau) - 1
monTableau(x) = i
MsgBox monTableau(x)
i = i + 1
Next

'Et pour les constantes de type STRING
Dim myArray1() As String
Dim myString As String
myString = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X"

myArray1 = Split(myString, ",")

For x = LBound(myArray1) To UBound(myArray1)
MsgBox myArray1(x)
Next
2
A chaque fois que j'ai codé en dur, je l'ai toujours regrété par la suite,
un jour ou l'autre ton appli évolue et ton code en dur te genre.

sinon au moins met le dans un fichier texte que tu charge.
0
ouep j vois ce que tu veux dire

En fait ce que j voulais faire justement c'est stocker ces fameux champs pour que la requete soit generee automatiquement

Et du coup au niveau maintenance, t as plus qu'a changer ce tableau de constantes au lieu de changer toutes les portions de code (et differentes fonctions qui les utilisent) correpondants dans le source.

J'ai po trouve mieux ... mais si des idees vous viennent j suis preneur :o)
0
Bonjour, je veux declarer un tableau de 20 elements mais vb6.refuse toujour j'ai mis

dim montableau() as integer={1, 2, 3, 4, 5,6,7, 8, 9, 10, 11,13, 17, 18, 12, 14, 15, 16, 19, 20}
j'ai essayé mais il y a d'erreur aider moi svp!!!
0
Salut Gilles,

Effectivement VB n'aime pas trop ce type d'affectation, pour ma part je verrais les choses comme ca :

' Pour des contantes de type INTEGER
Dim i As Integer
Dim x As Integer

Dim monTableau(19) As Integer
i = 1
For x = LBound(monTableau) To UBound(monTableau)
monTableau(x) = i
MsgBox monTableau(x)
i = i + 1
Next

'Et pour les constantes de type STRING
Dim myArray1() As String
Dim myString As String
myString = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X"

myArray1 = Split(myString, ",")

For x = LBound(myArray1) To UBound(myArray1)
MsgBox myArray1(x)
Next
0