2009-07-15 8 views
1

J'ai une forme que je l'intention de permettre aux utilisateurs de parcourir des présentations powerpoint à travers, parce qu'il ya beaucoup de différentes mémoires pour les mesures, ce qui est ce que j'utilise cette base de données pour. Donc, je sais déjà comment tout mettre en place, juste un peu raccrocher.Utilisez une valeur à partir d'une zone de liste déroulante/texte dans une chaîne de chemin de fichier

Si je place une zone de liste déroulante sur le formulaire de choisir parmi une liste de présentation différente, puis-je utiliser que dans la chaîne de chemin de fichier (que je dois utiliser pour tirer le ppt dans theObject cadre en matière d'accès.

exemple:

"C:\Users\Justin\Desktop\" & cmbTitle & ".ppt" 

je l'ai essayé et il me donne la variable de message d'erreur non défini Je ne défini un contrôle avant dans ces choses, serait-il comme une chaîne

Je me rends compte que le.? le chemin exact du fichier correspond à la valeur entrée Access 2000 -2003/XP

Merci comme toujours les gars!

+0

Etes-vous capable de compiler le VBA? Si la compilation n'est pas ce qui soulève l'erreur, c'est très intéressant. Puisque votre objectif immédiat est probablement d'afficher le titre, ne vous inquiétez pas du chemin d'accès complet et essayez simplement de déboguer. Imprimez la chaîne de titre. Plus de contexte peut être utile. Par exemple, le code dans lequel votre chemin apparaît. – Smandoli

+1

S'il n'a pas OPTION EXPLICIT en haut du module, n'importe quelle chose peut compiler. –

+0

En outre, il n'est pas évident à 100% que la seule ligne de code entre guillemets est en fait celle qui déclenche l'erreur. –

Répondre

2

Vous devez faire référence au champ comme Me.cmbTitle. Comme il est écrit, il semblerait que vous appeliez la variable cmbTitle qui n'existe pas.

+0

Bien que je pense que c'est la meilleure pratique pour spécifier le parent de cmbTitle (bien que j'utilise Me! CmbTitle au lieu de Me.cmbTitle, qui dépend de Access/VBA derrière les scènes créant des wrappers de propriétés cachées qui permettent aux contrôles d'être traités en tant que propriétés de la forme, cela a l'avantage de la validation à la compilation), cela ne devrait pas être nécessaire, donc quelque chose d'autre semble se produire. –

+0

qui a fait l'affaire. Je ne sais pas ce que je pensais ne pas m'ajouter. devant lui! Merci quand même! – Justin

1

est la valeur de cmbTitle une pièce d'identité/champ entier ou est-il la valeur de chaîne réelle? Vous pouvez utiliser la fenêtre immédiate pour vérifier cela. Assurez-vous également que la valeur de cmbTitle n'a pas d'antislash ou d'espace (cela peut nécessiter des guillemets?).

1

Je suis un peu confus quant à ce que vous essayez de faire. J'écrirai ma réponse en supposant:

  1. vous avez un formulaire dans une base de données Access.

  2. sur cette forme est zone de liste déroulante qui répertorie les présentations PowerPoint vos utilisateurs travaillent.

  3. la colonne liée de la liste déroulante répertorie le nom de fichier (sans le chemin) de chaque fichier PPT.

  4. lorsque l'utilisateur sélectionne un nom de fichier de la zone de liste déroulante, vous voulez afficher dans un cadre d'objet OLE indépendant.

Le code pour que, en supposant que la liste des fichiers PPT est appelé cmbTitle, serait dans le cas AprèsMAJ de zone de liste déroulante et ressemblera à ceci:

Private Sub cmbTitle_AfterUpdate() 
    Dim strPresentation As String 

    If IsNull(Me!cmbTitle) Then Exit Sub 
    strPresentation = "C:\Users\Justin\Desktop\" & Me!cmbTitle & ".ppt" 
    Me!olePPT.SourceDoc = strPresentation 
    End Sub 

Maintenant, je ne peux pas un objet de test OLE non lié pour fonctionner avec cela, mais il me semble être la bonne façon de le faire. Je soupçonne que vous essayez de définir la mauvaise propriété, ou que vous avez mal défini votre cadre OLE, mais je ne peux pas vous donner d'autres conseils à ce sujet sans en savoir plus sur ce que vous tentez de faire. faire, et exactement quelle ligne de code provoque l'erreur.

+0

ouais je devrais avoir posté le tout. Je suis nouveau à cela de tant de façons. l'erreur de compilation était "variable non définie" mais j'avais oublié de mettre "moi!" ou moi." en face du cmbTitle. Dès que je l'ai fait, cela a bien fonctionné. Je vais quand même poster tout le code parce que je suis sûr qu'il y a plus de conseils dont j'ai besoin. Merci – Justin

+0

Étrange. L'accès se passe généralement bien sans la référence parente. –

Questions connexes