Bonjour,
J’ai une srie de tableau dans lesquels je voudrais faire une recherche:
[code]array1(…)
array2(…)
array3(…)
array4 etc…
for i=0 to ubound(array1)
n=instr(array1(i))
if n<>0 then etc…
next
[/code]
Comment ne pas rpter(crire) cette boucle pour chaque array?
Disons, comment faire rfrence un tableau de tableaux ou plus gnralement, comment comment passer une srie de tableaux une mthode?
Dans quelle direction dois-je orienter mes recherches pour rsoudre ce problme.
Merci d’avance
le plus propre serait une base de donnes .
Assurément !
Il est très facile de créer une db SQLite en mémoire et de faire des recherches.
Sinon, si toutes les arrays ont la même structure, placer la partie recherche dans une méthode
Public Sub cherche_array(ByRef arrayX As ...))
for i=0 to ubound(arrayX)
n=instr(array(i))
if n<>0 then etc....
next
return Result
End Sub
et ensuite appeler cette méthode pour chaque array1…n
Dim result As integer (?)
result = cherche_array(array1)
...
result = cherche_array(array2)
ou encore utiliser ParamArray
Public Sub cherche_array(ParamArray arrays As ...))
For each arrayX in Arrays
for i=0 to ubound(arrayX)
n=instr(array(i))
if n<>0 then etc....
next
next
End Sub
Merci les gars pour vos rponses,
En effet c’tait ma premire ide. L je sais peu prs le faire.
C’est ce que je cherchais et qui manque mes connaissances, du coup a m’intresse.
Je pense que ce sera suffisant pour ce que je veux faire.
Sinon:
En mmoire?
Est-ce que cela signifie une base de donns qui n’existe pas sous forme de fichier mais est cre et rempli au lancement de l’application et garde en mmoire comme une sorte de variable??? Je ne connaissais pas a. Ou alors je n’ai pas compris ce que tu voulais dire…a m’intresse aussi.
[quote=490617:@Bruno Jacquet]En mémoire?
Est-ce que cela signifie une base de donnés qui n’existe pas sous forme de fichier mais est créée et rempli au lancement de l’application et gardée en mémoire comme une sorte de variable???[/quote]
Oui, je lutilise beaucoup pour des tris/calculs complexes.
Voir la doc, ici, en bas de page: SQLite
[quote] Est-ce que cela signifie une base de donns qui n’existe pas sous forme de fichier mais est cre et rempli au lancement de l’application et garde en mmoire comme une sorte de variable???
Oui, je lutilise beaucoup pour des tris/calculs complexes[/quote]
C’est pas mal comme ide mais comment fais-tu pour crer une Database sans l’enregistrer physiquement sur le disque ?
Peut-être en suivant le lien que je tai donné, en copiant le petit exemple … ?
Var inMemoryDB As New SQLiteDatabase
Try
inMemoryDB.Connect
// Can now use inMemoryDB
Catch error As DatabaseException
MessageBox("Connection failed: " + error.Message)
End Try
Je me suis cr un prog de test avec le code ci-dessus, a colle pas, il me met des tas d’erreur entre autres, "inMemoryDB do not exist.
???
[quote=491999:@Patrick MOYA]Je me suis créé un prog de test avec le code ci-dessus, ça colle pas, il me met des tas d’erreur entre autres, "inMemoryDB do not exist.
???[/quote]
Ta variable inMemoryDB est probablement hors contexte quand tu lutilises …
Il faut quelle soit accessible dans la routine où tu lutilises, cest le cas de toutes les variables.
Crée une variable inMemoryDB globale, dans un module par exemple.