Page 3 sur 3

Re: [..] Création de la fonction "Recherche" de mon script.

Posté : mar. 28 avr. 2009 15:08
par GaRydelaMer
Pourtant tout ton code est bon

Sauf que tu fais un $oConn.Close et après tu tentes à nouveau d'ouvrir un RecordSet

$oConn.Close ferme la base
$oRs.open Ouvre un recordSet

je peux pas te dire plus relis ton code ligne par ligne.

Re: [..] Création de la fonction "Recherche" de mon script.

Posté : mar. 28 avr. 2009 15:21
par BeCool
Ayé, je crois que ça marche !
J'obtiens :

Table name: tb_Services Table type: TABLE
1 enregistrement dans la table
Nom Prenom Service Fonction NumTel1 NumTel2
Capitaine Hadock Informatique Stagiaire 0001 0476730001

Quand que presse la touche F5 !

Mon problème était que je ne pressais pas la touche F5 mais a la place de ça, j'enregistrai le script et je le lançais en double-cliquant dessus ...

Voici le code qui marche. Il y a peut être des erreurs due au fait que je l'ai modifié, re-modifié, et re-re-modifié pour faire des tests, mais il marche.
► Afficher le texte

Re: [..] Création de la fonction "Recherche" de mon script.

Posté : mar. 05 mai 2009 17:09
par BeCool
Désolé, je n'ai pas trop eu le temps de me pencher sur ce script ces quelques derniers jours.

Donc, pour en revenir au sujet, je pense avoir compris le principe de fonctionnement de tous ceci.

Maintenant, j'aimerais faire en sorte que le résultat s'affiche dans ma GUI.
Pour commencer simplement, j'aimerais déjà pouvoir afficher les résultats dans une MsgBox.
Mais évidement ce serrait trop simple si j'y arrivais !
Donc voilà ce que j'ai fais : (a la fin du script, la partie qui affiche le résultat dans "ConsoleWrite")

Code : Tout sélectionner

If $oRS.EOF Then
    ConsoleWrite("Aucun enregistrement dans la table" & @LF)
Else
    ConsoleWrite($oRS.RecordCount & " enregistrement dans la table" & @LF)
    For $Field In $oRS.Fields
        ConsoleWrite($Field.Name & @TAB)
    Next
    ConsoleWrite(@LF)
    While Not $oRS.EOF
        For $Field In $oRS.Fields
            ConsoleWrite($Field.Value & @TAB)
        Next
        ConsoleWrite(@LF)
        $oRS.MoveNext
        ;===================
        [color=#FF0000]$aa = ConsoleRead()
        MsgBox(0, "", "resultat" & @CRLF & @CRLF & $aa)[/color]
    WEnd
EndIf
$oConn.Close
En rouge, ce que j'ai ajouté.
J'ai essayé de mettre a la place de MsgBox(0, "", "resultat" & @CRLF & @CRLF & $aa) ceci : MsgBox(0, "resultat", "" & $Field) ou MsgBox(0, "resultat", "" & $oRS.Fields) ou encore MsgBox(0, "resultat", "" & $Field.Value), etc..., mais rien n'y fait, je n'obtiens pas la même chose que dans la console, c'est a dire : "Capitaine Hadock Informatique Stagiaire 0001 0476730001"

Re: [..] Création de la fonction "Recherche" de mon script.

Posté : mar. 05 mai 2009 18:48
par GaRydelaMer
Re

alors pas difficile du pur AutoIt

Code : Tout sélectionner

$aaa = "resultat" & @LF & @LF
If $oRS.EOF Then
    $aaa &= "Aucun enregistrement dans la table" & @LF
Else
    $aaa &= $oRS.RecordCount & " enregistrement dans la table" & @LF
    For $Field In $oRS.Fields
        $aaa &= $Field.Name & @TAB
    Next
    $aaa &= @LF
    While Not $oRS.EOF
        For $Field In $oRS.Fields
            $aaa &= $Field.Value & @TAB
        Next
        $aaa &= @LF
        $oRS.MoveNext
    WEnd
EndIf
MsgBox(0, "", $aaa, 10); je mets une tempo de 10 s si des fois la msgbox dépasse de l'écran elle se fermera toute seule ;)
$oConn.Close

Re: [..] Création de la fonction "Recherche" de mon script.

Posté : mer. 06 mai 2009 09:05
par BeCool
Merci beaucoup :)
Effectivement ce n'était pas bien compliqué ! Suffisait juste de savoir faire. :roll:

Je vais essayé de me débrouiller pour adapter ce script a mon trombinoscope et faire afficher le résultat dans une "list".

Juste au passage, est il possible de faire en sorte que quand on cherche un personne, ça n'affiche que son Nom et Prénom ?

Edit : Lol ! Apparemment mon Trombinoscope n'aime pas quand je lui copie l'intégralité du script de recherche, et que je le me dans la fonction "$rechercher". Il me met tout pleins d'erreurs que je ne comprend pas alors que les 2 scripts séparé marchent très bien...^^

Voici le script entié :
► Afficher le texte
Et voici les érreurs que la console me dit :
► Afficher le texte
Au cas ou quelqu'un comprendrait .. :roll:

Re: [..] Création de la fonction "Recherche" de mon script.

Posté : mer. 06 mai 2009 12:19
par ani
hello :)

sans avoir les erreurs, on y voit une fonction dans une fonction, déjà là c'est foutu :)
retire la fonction _ADO_Open et _MY_AU3_ErrFunc de la fonction Trombi(), met les en fin de script après Ajout_photo() , ensuite le exit tu peux le mettre en dessous de l'appel à la fonction Trombi().

voilàvoilà ;)

Re: [..] Création de la fonction "Recherche" de mon script.

Posté : mer. 06 mai 2009 14:59
par BeCool
Ha ui, effectivement ça marche mieux :mrgreen:

Je ne vois quand même pas en quoi ca gène d'avoir une fonction a l'intérieur d'une autre fonction si ces deux dernières sont codés comme il le faut. M'enfin :)

J'obtiens quand même 3 messages d'erreurs dans la console même après avoir fais ce que vous m'avez dis de faire. Voici les messages :
► Afficher le texte

Re: [..] Création de la fonction "Recherche" de mon script.

Posté : mer. 13 mai 2009 12:11
par BeCool
Petit up.
Je n'arrive pas a afficher dans ma GUICtrlCreateList les resultat comme je le veux.

J'arrive a afficher quelque chose, mais pas exactement ce que je veux.

J'aimerais arriver a faire en sorte que ca affiche que ce que l'on cherche.

Par exemple, si on cherche un nom (sélection du type de recherche dans le $Categorie = GUICtrlCreateList sélectionner A - Nom, et taper un nom dans la recherche et qu'il me renvois dans la GUICtrlCreateList "Résultat" toutes les personnes qui ont ce nom avec comme résultat leur nom et leur prénom.
Par exemple je recherche quelqu'un du nom de Hadock, j'effectue ma recherche et dans les résultats, il me met 2 lignes (car 2 résultats) qui sont "Hadock Tintin" et "Hadock Capitaine".

Voici mon script tel qu'il est actuellement.
► Afficher le texte
(En rouge, la partie qui ne marche pas comme je le voudrais)