Bonjour et je permets de poster une autre discussion car les informations sur le sujet sont sensibles a trouver. En francais comme en Anglais.
Comme l'introduit le sujet de la discussion...
Je suis dans un sous formulaire en mode datasheet.
Je double clique dans une "cellule" (qui est une zone texte en mode formulaire, controlsource=TDocLink)
Un explorateur s'ouvre et je sectionne un fichier.
PB: je n'arrive pas a basculer le chemin d'access (que j'obtiens) dans ma cellule.
Je suis conscient que la difficulte vient du fait que cette "cellule" est liee a un controlSource et qu'il requiert surement une position de ligne, le Numero de ce doc. Lorsque je supprime le controleSource de cette zone texte, j'obtiens ceci voir Photo.
Vous pouvez voir que j'ai egalement essaye avec un champs "tampon".
Le code me retourne une erreur que mon RecordSet n'est pas Updatable.
Ce que je comprends car il ne sait pas donner une valeur ne sachant pas lequel des TDocLink je veux (donc un recordSet, avec TDocNum pour Id, l'Id venant de quoi? la position du selecteur, du double click?, Selection.row?)
Voici le code:
Voila,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Option Compare Database Private Sub txtTDocLink_DblClick(Cancel As Integer) ' Requires reference to Microsoft Office 11.0 Object Library. Dim fDialog As Office.FileDialog ' Set up the File Dialog. Set fDialog = Application.FileDialog(msoFileDialogFilePicker) With fDialog ' Allow user to make multiple selections in dialog box .AllowMultiSelect = False ' Set the title of the dialog box. .title = "Please select one file" ' Clear out the current filters, and add our own. .Filters.Clear .Filters.Add "All Files", "*.*" ' Show the dialog box. If the .Show method returns True, the ' user picked at least one file. If the .Show method returns ' False, the user clicked Cancel. If .Show = True Then Me.txtTampon = .SelectedItems(1) Me.txtTampon.SetFocus 'Me.txtTDocLink = Me.tampon je l'ai sorti dans l'evenement txtTampon_AfterUpdate Else MsgBox "You clicked Cancel in the file dialog box." End If End With End Sub Private Sub txtTampon_AfterUpdate() Me.txtTDocLink = Me.tampon End Sub
J'ai poste quelques msgs cette semaine, j'essaye de reduire la frequence ainsi laisser ceux qui en ont plus besoin, comme moi a mes tous debuts. Mais vraiment je prends du niveau a chaque reponse et ca c'est bon! Merci Loufab, Ledzepp, Gabout et tous pour vos recents coup de pouce.
Merci pour votre point de vue sur cette difficulte.
A plus
--EDIT-----EDIT-----EDIT-------
Je devrais peut etre contraindre l'utilisateur de remplir d'abord la premiere cellule de la premiere colonne de cette datasheet. Ensuite lors du double click je garde en memoire cette valeur pour m'y referer a la fin.
Je pourrai lui indiquer ainsi dans quel TDocLink il doit placer le lien.
J'ai tenter de resoudre ce pb par l'affichage en mode formulaire, donnant une location aux controles.
Q: peut on utiliser txtTDocLink.row(X) ?
SAlut et bonne journee
Partager