CochonPerdu
Messages postés42Date d'inscriptionlundi 6 mai 2002StatutMembreDernière intervention12 août 2003
-
28 mai 2002 à 12:20
tony_mc
Messages postés1Date d'inscriptiondimanche 12 novembre 2000StatutMembreDernière intervention25 juillet 2005
-
25 juil. 2005 à 15:37
Comment se positionner sur un enregistrement avec un recordset ? avec MonRecodset.find par exemple ?
Et pendant qu'on y est, comment se positionner sur un enregistrement qui resseble à un mot.
Par exemple, je taperais "tre" dans un champs texte et le recodset se placerait sur l'enregistrement "trefonds".
cs_jym
Messages postés115Date d'inscriptionlundi 31 décembre 2001StatutMembreDernière intervention15 avril 2014 28 mai 2002 à 15:03
bjr,
code1.Recordset.Find "repere_code1=" & co1
positionne le contrôle ado sur l'enregistrement dont le champ "repere_code_ est égal au contenu de la variable "co1" . aatention la variable de recherche et les données du champ doivent être de même type.
pour rechercher qq chose qui s'en approche, il faut uitliser l'argument like. En VB (et pour pas faire comme tout le monde bien sur...) le "joker" est remplacé par le caractère %.
j'ai pas utilisé like avec find mais ça doit passer pareil qu'avec une requête normale
il est important de bien positionner aussi les apostrophes qui délimitent les textes. la syntaxe sql est hyper pointilleuse et des espaces ou des car manquants ou accolés de trop ne fonctionent pas.
requete = "select * FROM document WHERE "
...
plus loin dans le code aprsè avoir assemblé les différentes variables qui composent la requête :
...
cs_jym
Messages postés115Date d'inscriptionlundi 31 décembre 2001StatutMembreDernière intervention15 avril 2014 7 juin 2002 à 23:09
BJR,
j'ai pas essayé de passer d'autre arguments mais à priori, à part des suspission de syntaxe je vois pas pourquoi ça parcherait pas..
pour trouver le suivant c'est findnext.
perso j'utilise la méthode find sur des clés uniques comme par exemple un code article ou un index connu donc il es tunique et me permet de localiser un enregistrement pour retrouver seulement les données. apr exemple j'ai un code article et je cherche ce que c'est que cet article (celui qu'à commandé le client). la méthode find me positionne sur cet article et un seul. du reste si la base est un peu grande le rst doit être avec le paramètre "recherche en avant seulement". de là j'ai accès au produit lui même qui est dans le rst(2) de la ligne (par exemple).
reste à écrire une partie contrôle pour relancer la recherche.
avant avec DAO on pouvait écrire
rst.recordset.findfirst
code
do until rst.recordset.eof
rst.recordset.findnext
code....
rst.recordset.movenext
loop
mais depuis ADO c'est différent et j'avoue que c'est plus simple finalement avec les requêtes. sur une table ou une base tu appliques une requête qui te retoune TOUS les enregistrments qui correspondent à ton critère.
reste plus qu'à les lire et exploiter les contenus
sonoboss
Messages postés178Date d'inscriptionlundi 17 juin 2002StatutMembreDernière intervention 2 octobre 2007 28 juin 2002 à 14:32
Woooooo des Donuts!!!
Moi ca fait 2 semaines que je cherche comment appliquer 2 critères à 1 méthode Find et je suis pas plus avancé... apparemment ca existe pas... Pitié Help ME!!!!!!!!
cs_asa
Messages postés2Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention10 février 2005 10 févr. 2005 à 04:00
Extract from Msdn
"The first parameter is the only required argument for the Find method. All of the other arguments are optional and have default values. This first argument is a single-condition where clause.The construction of a single-condition where clause consists of a column name (the database field), an operator (greater than or equal, for example), and a literal value. "
Le find des recordset semble donc etre limite a un seul critere ....
cs_asa
Messages postés2Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention10 février 2005 10 févr. 2005 à 04:14
Une piste ....
En fait avec DAO tu pouvais mettre plusieurs criteres.
Avec ADO ce n + le cas mais ... le moyen de contourner facilement:
Tu utilises recordset.filter ou sort
Ex
Recordset.Filter= "critere1 and critere2"
cf source http://www.vbfrance.com/code.aspx?ID=4724 + msdn
"So far, each of the criteria shown in the examples has been based on a value of a single field. However, with DAO Find methods, the Criteria argument is like the WHERE clause in an SQL statement and can contain multiple fields and comparison operators within the criteria. This is not the case with the ADO Find method. The ADO Find method's Criteria argument is a string that contains a single field name, comparison operator, and value to use in the search. If you need to find a record based on multiple fields, use the Filter property (see "Filtering and Sorting Data in a Recordset Object" later in this chapter) to create a view of the Recordset object that contains only those records that match the criteria."
tony_mc
Messages postés1Date d'inscriptiondimanche 12 novembre 2000StatutMembreDernière intervention25 juillet 2005 25 juil. 2005 à 15:37
Bonjour à tous
Je cherche à utiliser la technique find / seek (ou une technique similaire de recherche de caractère dans une zone de liste ) avec un formulaire de page web...
en ASP, JSP, JAVA ..?