Recherche() un Nom via vb sur table access

4qnow Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   -  
4qnow Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous ,
Je travaille sous vb6. je veux verifier que le nom entré dans la fonction recherche existe.
j'ai un DataGrid qui est connecté à l'Adodc.
le code m'à l'air bon(enfin surement non sinon ça marchait !) mais me renvoi le message d'erreur suivant :
erreur d'exécution '3001, les arguments sont de type incorrect, en dehors des limites autorisées ou en conflit avec les autres. ensuite la reponse affichée dans le DataGrid est le debut (ordre alphabetique) de la table access ouverte par l'adodc

si quelqu'un peut me dire ce qui ne marche pas dans ce code. merci d'avance

Private Sub rechercher_Click()
Dim Rep As String
Dim Nom As String

Rep = InputBox("Donner un nom ")

'recherche

Adodc2.Recordset.MoveFirst
Adodc2.Recordset.Find "Nom = " & Trim(Rep) & ""

'test si rien n'est trouvé

If Adodc2.Recordset.EOF Then
MsgBox ("nom introuvable")

End If

End Sub

NB : quand j'utilise le meme code pour rechercher par le numero, cela marche. mais le numero est la clé et il y a plusieurs noms identiques dans la table, mais il devrait m'afficher tous ceux concerné et je fais ma selection manuelle.
ce n'est pas le numero que je veux mais le nom. c'est pour cela que je dois faire ma recherche sur le nom

Merci
A voir également:

2 réponses

Prog44 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   3
 
Ne manqurait-il pas des guillemets après le find ?

...
Adodc2.Recordset.Find "Nom = '" & Trim(Rep) & "'"

...

Vu qu'il s'agit d'une requête sur un champ alpha ?
0
4qnow Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour,
Oui, en effet, apres etre redevenu plus lucide, je l'a trouvé et cela marchait comme sur des roulettes
En tout cas merci. voici donc ce que j'ai fait

Dim Rep As String
'Dim strNom As String
Dim Nom As String
Dim adherent() As ADODB.Recordset
Dim i As Integer

Rep = InputBox("Donner un nom ")

'recherche par nom

Adodc2.Recordset.MoveFirst
Adodc2.Recordset.Find "Nom = '" & Trim(Rep) & "'" ///////====> le pb etait donc là==>> MERCI

'test si rien n'est trouvé

If Adodc2.Recordset.EOF Then
MsgBox ("nom introuvable")
End If

parcontre, comment je veux garder en memoire ce nom trouvé et les autres attributs(numero, prenom ...) afin que je puisse l'utiliser pour les traitement suivants, genre à l'ajouter automatiquement dans une une autre table.
merci si tu peux me montrer le code ou un lien qui le traite.

Merci
0