Parfait
Pour l'apostrophe regarde dans la FAQ Access en faisant une recherche, il y a ce qu'il faut, le principe est de la doubler.
Je suis content que l'aiguillage est put t'aider.
Philippe
Parfait
Pour l'apostrophe regarde dans la FAQ Access en faisant une recherche, il y a ce qu'il faut, le principe est de la doubler.
Je suis content que l'aiguillage est put t'aider.
Philippe
Bravo pour ton code !
Je venais aussi avec un code qui marche, mais moins élégant.
Pour ton problème d'apostrophe, je ferais comme ceci :
- changer l'apostrope en pipe « | » avant de l'insérer dans le SQL ;
- ajouter une étape à la routine, pour rebaptiser in fine les | en apostrophes dans la table.
P.-S. oops ! Je n'avais pas encore vu le message de Philippe.
SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !
Pour suivre l'idée de Philippe (doubler l'aspostrophe dans le texte à insérer), ce code-ci fonctionne :
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
39
40
41
42
43
44
45
46
47
48
49
50
51 Sub RecupAutoLibelleForm2(CheminDbDistante As String) On Error GoTo GestionErreurs Dim MesForms As Access.Application Dim frm As AccessObject Dim ctl As Control Dim sSql As String Set MesForms = New Access.Application MesForms.OpenCurrentDatabase CheminDbDistante, False MesForms.Visible = False 'Vidanger la table DoCmd.SetWarnings False DoCmd.RunSQL "DELETE * FROM T_App_Langues_RecupAuto;" 'Explorer dans chaque formulaire les controles qui ont une propriété "légende"(caption) For Each frm In MesForms.CurrentProject.AllForms MesForms.DoCmd.OpenForm frm.Name, acDesign For Each ctl In MesForms.Forms(frm.Name).Controls sSql = "INSERT INTO T_App_Langues_RecupAuto ( appli,FormulaireNom,FormulaireLegende,ControleNom,ControleLegende) select '" _ & MesForms.CurrentProject.Name & "' as expr1, '" _ & frm.Name & "' AS Expr2, '" _ & Replace(MesForms.Forms(frm.Name).Caption, "'", "''") & "' As Expr3, '" _ & ctl.Name & "' As Expr4, '" _ & Replace(ctl.Caption, "'", "''") & "' As Expr5;" DoCmd.RunSQL sSql PasLegende: Next ctl MesForms.DoCmd.Close acForm, frm.Name Next frm DoCmd.SetWarnings True Exit Sub GestionErreurs: Select Case Err.Number Case 438 ' ne concerne pas cet objet Resume PasLegende Case Else MsgBox Err.Number & " " & Err.Description MesForms.DoCmd.Close End Select End Sub
SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !
Lol, c'est exactement ce que j'ai fait pour les apostrophes !!
Merci à tous pour votre aide !
12_darte_12
Si tout est bon, penses à cliquer sur le bouton résolu au bas de cette discussion.
Philippe
... et fais-le vite... avant qu'il ne te vienne une autre question
Au plaisir de te recroiser.
À+
SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager