Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Thu 23 June 2005 08:35

Dialine
Invité

probleme avec des apostrophes

De: didier
bonjour,
le code suivant me permet de zoomer sur une commune, après sélection dans une combobox.
Ce code marche bien, sauf lorsque le nom de la commune contient une apostrophe (ex: l'isle). comment puis-je faire pour contourner ce problème et faire en sorte que ma selection marche, que le nom de la commune comporte ou pas d'apostrophe ?.
[CODE]
Dim pMxDoc As IMxDocument
Set pMxDoc = ThisDocument
Dim pFLayer As IFeatureLayer
Set pFLayer = pMxDoc.FocusMap.Layer(0)
Dim pQueryFilter As IQueryFilter
'Création d'un nouveau QueryFilter
Set pQueryFilter = New QueryFilter
Dim selectComm As String
selectComm = cboChargeEnr.Value ' cboChargeEnr est ma combobox
Dim maclause As String
maclause = "NOM_COMM" & " = " & Chr(39) & selectComm & Chr(39)
'La propriété WhereClause permet de spécifier le critère
pQueryFilter.WhereClause = maclause
Dim pFeatureSelection As IFeatureSelection
'QI entre IFeatureLayer et IFeatureSelection
Set pFeatureSelection = pFLayer
'Execution de la requête sur la couche pFeatureSelection
pFeatureSelection.SelectFeatures pQueryFilter, esriSelectionResultNew, False
'pMxDoc.ActiveView.Refresh 'Rafraichissement de la vue
Dim pcBar As ICommandBar
Dim pZoomItem As ICommandItem
Set pZoomItem = ThisDocument.CommandBars.Find(Arcid.Query_ZoomToSelected)
pZoomItem.Execute
frmselectComm.Hide
[FIN CODE]
MERCI

 

#2 Thu 23 June 2005 13:51

Olivier GUYOT De LA POMMERAYE
Invité

Re: probleme avec des apostrophes

Bonjour,

Il s'agit d'un problème SQL qui se règle très bien en mettant deux quottes là où vous n'en voulez qu'une !
Une fonction VB/VBA fait cela très bien : Replace(StrWhereClause,"'","''")

Bonne journée,

Olivier GUYOT de LA POMMERAYE
----- Original Message -----
From: dialine@texte-a-enlever.wanadoo.fr
To: arcsig@texte-a-enlever.georezo.net
Sent: Thursday, June 23, 2005 8:35 AM
Subject: [arcsig] probleme avec des apostrophes


De: didier
bonjour,
le code suivant me permet de zoomer sur une commune, après sélection dans une combobox.
Ce code marche bien, sauf lorsque le nom de la commune contient une apostrophe (ex: l'isle). comment puis-je faire pour contourner ce problème et faire en sorte que ma selection marche, que le nom de la commune comporte ou pas d'apostrophe ?.
[CODE]
Dim pMxDoc As IMxDocument
Set pMxDoc = ThisDocument
Dim pFLayer As IFeatureLayer
Set pFLayer = pMxDoc.FocusMap.Layer(0)
Dim pQueryFilter As IQueryFilter
'Création d'un nouveau QueryFilter
Set pQueryFilter = New QueryFilter
Dim selectComm As String
selectComm = cboChargeEnr.Value ' cboChargeEnr est ma combobox
Dim maclause As String
maclause = "NOM_COMM" & " = " & Chr(39) & selectComm & Chr(39)
'La propriété WhereClause permet de spécifier le critère
pQueryFilter.WhereClause = maclause
Dim pFeatureSelection As IFeatureSelection
'QI entre IFeatureLayer et IFeatureSelection
Set pFeatureSelection = pFLayer
'Execution de la requête sur la couche pFeatureSelection
pFeatureSelection.SelectFeatures pQueryFilter, esriSelectionResultNew, False
'pMxDoc.ActiveView.Refresh 'Rafraichissement de la vue
Dim pcBar As ICommandBar
Dim pZoomItem As ICommandItem
Set pZoomItem = ThisDocument.CommandBars.Find(Arcid.Query_ZoomToSelected)
pZoomItem.Execute
frmselectComm.Hide
[FIN CODE]
MERCI

 

Pied de page des forums

Powered by FluxBB