fixou81
Messages postés200Date d'inscriptionlundi 9 mai 2005StatutMembreDernière intervention12 juin 2007
-
12 juin 2007 à 15:56
fixou81
Messages postés200Date d'inscriptionlundi 9 mai 2005StatutMembreDernière intervention12 juin 2007
-
12 juin 2007 à 17:39
bonjour,
j'ai un probleme que je pensais pouvoir resoudre mais en fait j'y arrive pas...
voila j'ai des données dans une table tbldoc avec le nom et le chemin d'un document (ce n'est pas les seules données mais ceux sont celles qu'on utilise ici). J'affiche une arborescence a partir de cette table. Quand j'ai lévenement node check je souhaite ajouter les données correspondant au noeud coché dans une table appelée tbltemporaire.
Pour ce faire lors de l'affichage du treeview je declare une collection et je fais
Call CheminCol.Add(.Fields(2).Value, .Fields(1).Value & " (" & .Fields(3).Value & ")")
ensuite lors du node check j'ai
varchemin = CheminCol(Node.Text) ceci afin que varchemin contiennent le chemin qui était dans tbldoc et qui correspond au noeud coché. Ceci marche, j'ai bien varchemin qui contient bien le chemin.
Pour ajouter dans la table temporaire je fais
SQL = "INSERT INTO tbltemporaire (Nomdoc,chemindoc ) values ('" & varnom & "', '" & varchemin & "' ');"
DoCmd.SetWarnings False
DoCmd.RunSQL SQL
or a ce moment la j'ai un message d'erreur qui me dit
"erreur de synthaxe dans la chaine dans l'expression "C:\Documents and settings\mondocument.doc'."
Je ne comprend pas pourquoi ce message pour un simple ajout dans ma table tbltemporaire. De plus a la fin de mon message d'erreur j'ai un '. qui ne doit pas etre dans mon expression et qui n'y est pas dans varchemin.
Quelqu'un peut éclairer ma lanterne?
merci
fixou81
Messages postés200Date d'inscriptionlundi 9 mai 2005StatutMembreDernière intervention12 juin 2007 12 juin 2007 à 16:15
Il faut que je mette encore une apostrophe au dernier ? Je sais pas si tas vu parce que ca donne mal sur le post mais c pas que des " il y a des apostrophes des fois...c'est que j'ai deja mis des apostrophes, j'ai fait '" & varchemin & "'
fixou81
Messages postés200Date d'inscriptionlundi 9 mai 2005StatutMembreDernière intervention12 juin 2007 12 juin 2007 à 16:29
ah ca marche pas non plus! je vais te mettre le code exact parce qu'en fait je renseigne plusieurs champs mais c'est le meme principe. C'est sur varchemin que ca bloque.
j'ai mis une msgbox juste avant pour voir la valeur de varchemin est c'est bien le bon chemin sans " ou autres.
J'ai un souci car comme je lé dit, dans mon message d'erreur j'ai des 'ou des . en trop...
je ne pige plus la..
Vous n’avez pas trouvé la réponse que vous recherchez ?
fixou81
Messages postés200Date d'inscriptionlundi 9 mai 2005StatutMembreDernière intervention12 juin 2007 12 juin 2007 à 16:48
en fait ca ne viens pas de ma synthaxe de la requete.
Ce que je fais c'est que le chemin du document je le recupere a partir d'une boite de dialogue qui me permet de parcourir jusqu'a trouver le dossier. ensuite je met ce que l'utilisateur a selectionné dans la zone de liste lié au champs de la table. Il doit i avoir un probleme a la fin de mon doc car si manuellement je fais des suppr apres le chemin de mon doc selectionné avec la boite de dialogue alors ca fonctionne bien.
voila ce que j'ai fait pour afficher ma boite de dialogue (pris sur le forum du site):
ceci est dans un module
'Pour boite de dialogue pour recuperer le chemin
Function GetDirectory(Optional Msg) As String
Dim bInfo As BROWSEINFO
Dim r As Long, x As Long, pos As Integer
'Définit le Bureau comme dossier racine
bInfo.pidlRoot = 0&
'Invite de la boite de dialogue
If IsMissing(Msg) Then
bInfo.lpszTitle = "Selectionnez un dossier."
Else
bInfo.lpszTitle = Msg
End If
'Type de renvoi : dossier
' bInfo.ulFlags = &H1
'Type de renvoi : fichier
bInfo.ulFlags = &H4000
'Affiche la boite de dialogue
x = SHBrowseForFolder(bInfo)
'Traite le résultat
path = Space$(100)
r = SHGetPathFromIDList(ByVal x, ByVal path)
If r Then
pos = InStr(path, Chr$(0))
GetDirectory = Left(path, pos - 1)
Else
GetDirectory = ""
End If
End Function
et apres tout ce truc je fais pour mettre le chemin selectionné dans la zone "Chemindocument"
Private Sub recherchedocument_Click()
MsgBox GetDirectory
chemindocument.Value = "" & path
End Sub
voila...ily a un truc au niveau du nom recupéré, des espaces après ou quelque chose qui coince?
fixou81
Messages postés200Date d'inscriptionlundi 9 mai 2005StatutMembreDernière intervention12 juin 2007 12 juin 2007 à 17:20
tout marche bien, j'ai un souci a ce nom recuperé de la boite d edialogue car :
si je choisi un document dans la boite de dialogue alors le chemin du document est bien rentré dans la table tbldoc avanrt la requete d'insertion dans tbltemporaire. Si j'utilise directement ce nouvel enregistrement alors j'ai le message d'erreur mais si manuellement je vais dans la table tbldoc et qu'a la fin du chemin du doc je fais des suppr (dans le vide car il n'y a rien d'ecrit) puis qu'ensuite j'utilise ca je n'ai plus le message d'erreur et la requete d'insertion dans tbltemporaire marche. C donc bien que la requete marche. Peut etre que j'ai des soucis de longueur de chaine...pffff j'en sais rien et ca me tue la...
fixou81
Messages postés200Date d'inscriptionlundi 9 mai 2005StatutMembreDernière intervention12 juin 2007 12 juin 2007 à 17:39
bon j'ai reussi a ce que ca marche mais par contre je pense que j'ai du bol parce que je comprend pas. Il devait me manquer un \ a la fin de mon chemin. Ce que j'ai fait c'est dans ma boite de dialogue pour recuperer le nom du fichier
If r Then