#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@ wanadoo.fr
To: arcsig@ 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