Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/07/2011, 17h35   #1
Membre du Club
 
beauchat symba
Inscription : janvier 2010
Messages : 95
Détails du profil
Informations personnelles :
Nom : beauchat symba

Informations forums :
Inscription : janvier 2010
Messages : 95
Points : 50
Points : 50
Par défaut FindFirst sur un champ Memo TexteEnrichi Indexé avec Doublons

Bonjour à tous

MA Table avec 3 champs:
Klé AutoNum
N°Classement Texte Indexé
Description Mémo TexteEnrichi Indexé avecDoublons
Voici mon code qui marche bien tant que [Description] est un champ Texte simple
ChampRecherche c'est mon champ Indépendant pour la saisie de mes critères

Code :
1
2
3
4
5
6
7
8
9
10
11
Private Sub ChampRecherche_Change()
 
    Me.Requery
         Set rst = Me.Recordset
         rst.FindFirst "[Description] Like """ & Me.ChampRecherche & "*"""
 
    'Champ suiveur
     Me.ChampRecherche.SetFocus
     On Error Resume Next
     Me.ChampRecherche.SelStart = Len(Me.ChampRecherche)[/INDENT]
End Sub
Je transforme [Description] en champ Memo TexteEnrichi Indexé avec Doublons
et là j'ai erreur 3464 : type de données incompatibles dans l'expression du critère
Je croyais que 2007 permettait d'indexé un champ Memo et de ce fait faire des recherche dessus mais j'ai pas tout capté

Merci de vos réponses
symbabeauchat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/07/2011, 13h00   #2
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 622
Points : 11 622
Bonjour,

Un champ mémo indexé peut ralentir significativement les accès à une table.

Ceci dit l'absence d'index sur un champ n'empêche pas de faire des recherches dessus. Surtout que Findfirst n'exploite pas les indexes à la différence de Seek.

Au passage les noms de champs avec des mots réservés c'est pas trop conseillé.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 14h36   #3
Membre du Club
 
beauchat symba
Inscription : janvier 2010
Messages : 95
Détails du profil
Informations personnelles :
Nom : beauchat symba

Informations forums :
Inscription : janvier 2010
Messages : 95
Points : 50
Points : 50
Bonjour à tous

Au passage merci loufab pour tes conseils : j'ai supprimer l'index sur mon champ mémo

Ma solution : j'ai rajouter le générique "*" devant Me.ChercheDescription et çà marche super.
Je pense que les balises d'enrichissement du texte devaient géner la recherche.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub ChercheDescription_Change()
Me.Requery
Set rst = Me.Recordset
 
     rst.FindFirst "[Description] Like """ & "*" & Me.ChercheDescription & "*"""
 
    'Champ suiveur
     Me.ChercheDescription.SetFocus
     On Error Resume Next
     Me.ChercheDescription.SelStart = Len(Me.ChercheDescription)
 
  End Sub
Cordialement
symbabeauchat est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h21.


 
 
 
 
Partenaires

Hébergement Web