2008-12-30 12 views
2

Je souhaite utiliser une table de hachage ou un dictionnaire dans mon programme d'accès. Apparemment, je suis censé utiliser Microsoft Scripting Runtime Library pour cela, mais cela ne fonctionne pas.Dictionnaires et tables de hachage dans MS-Access 2007

Dim Dict1 As Dictionary 

' Create a dictionary instance. 
Set Dict1 = New Dictionary 

Il ne peut pas trouver les méthodes ".compareMode" ou "• Ajoutez":

With Dict1 
    'set compare mode 
    .CompareMode = BinaryCompare 
    ' Add items to the dictionary. 
    .Add 1, "Item 1" 
    .Add 2, "Item 2" 
    .Add 3, "Item 3" 
End With 

Au lieu de cela, ce sont le seul avaiable pour moi:

.application 
.creator 
.delete 
etc... 

Tous des indices?

Répondre

3

Eh bien, avant tout changement BinaryCompare-vbBinaryCompare.

Et je pense que vous voulez faire votre jeu comme celui-ci:

Set Dict1 = CreateObject(Scripting.Dictionary) 

Modifier Juste pour qu'il soit plus visible, voici la solution éventuelle d'Anton. Il a changé la façon dont il a déclaré son dictionnaire comme suit:

Dim SortValues As Scripting.Dictionary 
Set SortValues = New Scripting.Dictionary 
+1

Cette méthode n'a pas fonctionné, mais cela m'a donné une idée. Dim SortValues ​​As Scripting.Dictionary Définir SortValues ​​= Nouveau Scripting.Dictionary Cela a fonctionné. Merci pour l'aide! – Anton

+1

La ligne d'origine de CodeSlave aurait dû mettre le nom de classe (Scripting.Dictionary) entre guillemets, c'est-à-dire Dim Dict1 comme objet Définir Dict1 = CreateObject ("Scripting.Dictionary") – onedaywhen

Questions connexes