[R] Afficher le nombre d'enregistrement en titre

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
EzioGr38
Niveau 2
Niveau 2
Messages : 15
Enregistré le : ven. 30 mai 2014 10:27
Status : Hors ligne

[R] Afficher le nombre d'enregistrement en titre

#1

Message par EzioGr38 »

Je travaille actuellement sur un programme d'extraction de BDD en autoit
Je voudrais savoir si c'est possible d'intégrer le nombre d'enregistrement que contient le résultat de l'extraction de ma BDD
Sous cette forme par exemple : nom_fichier_XX.txt Avec XX le nombre d'enregistrement

Si c'est possible comment faire ?

Merci d'avance pour l'aide que vous m'apporterez :)
Modifié en dernier par EzioGr38 le mer. 30 juil. 2014 10:10, modifié 1 fois.
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

Re: [..] Afficher le nombre d'enregistrement en titre

#2

Message par Hugues »

Salut,

Oui c'est tout à fait possible.

Tu récupères la valeur de ta requête qui compte ton nombre de lignes de ton extraction puis tu écris: "nom_fichier_" & $NombreDenregistrements & ".txt".

Si tu veux plus d'info, dit nous quelle genre de base tu utilises (Access, SQLite) :mrgreen:
Bayo
Niveau 4
Niveau 4
Messages : 79
Enregistré le : mer. 23 avr. 2014 10:19
Status : Hors ligne

Re: [..] Afficher le nombre d'enregistrement en titre

#3

Message par Bayo »

Bonjour,

Je sais pas si c'est c'est la partie SQL que tu demande ou autoit mais sinon tu fait

Code : Tout sélectionner

$sql=requête SQL
FileCreate(@ScriptDir & "\nom_fichier_" & $sql & ".txt", "Première ligne de ton fichier" & @CRLF)

Func FileCreate($sFilePath, $sString)
    Local $fReturn = True ; Create a variable to store a boolean value.
    If FileExists($sFilePath) = 0 Then $fReturn = FileWrite($sFilePath, $sString) = 1 ; If FileWrite returned 1 this will be True otherwise False.
    Return $fReturn ; Return the boolean value of either True of False, depending on the return value of FileWrite.
EndFunc   ;==>FileCreate
 
Je sais plus où j'ai récupéré la fonction FileCreate(), mais elle n'est pas de moi :)
EzioGr38
Niveau 2
Niveau 2
Messages : 15
Enregistré le : ven. 30 mai 2014 10:27
Status : Hors ligne

Re: [..] Afficher le nombre d'enregistrement en titre

#4

Message par EzioGr38 »

Ma BDD est en MySql

Code : Tout sélectionner

requete = "SELECT DISTINCT maTable FROM(Equipement_modele) 
WHERE 1
FileCreate(@ScriptDir & "\famille2_" & $requete & ".txt", "DIVERS" @CRLF)

;Exécution de la requête
$exec = _Query($sql, $requete)
#cs
;Résultats affichés dans un fichier texte nommé equipWindows.txt
While NOT $exec.EOF
   FileWriteLine("c:\Interface\TestMySql\famille2.txt", $exec.Fields("strFamille_intitule").value)
   $exec.MoveNext
WEnd
#ce
_MySQLEnd($sql)


Func FileCreate($sFilePath, $sString)
   Local $fReturn = True 
   If FileExists($sFilePath) = 0 Then
      $fReturn = FileWrite($sFilePath, $sString) = 1
      Return $fReturn
   EndIf
EndFunc
 
J'obtiens qq erreurs mais je ne vois pas ce qu'il faut rajouter :/

Merci en tout cas :)
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

Re: [..] Afficher le nombre d'enregistrement en titre

#5

Message par Hugues »

Exemple avec une base de données SQLite:
► Afficher le texte
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

Re: [..] Afficher le nombre d'enregistrement en titre

#6

Message par Hugues »

Un exemple un peu brut:
► Afficher le texte
EzioGr38
Niveau 2
Niveau 2
Messages : 15
Enregistré le : ven. 30 mai 2014 10:27
Status : Hors ligne

Re: [..] Afficher le nombre d'enregistrement en titre

#7

Message par EzioGr38 »

Merci pour les exemples ils me seront très utiles !!
Mais en voulant compiler ton dernier exemple, Hugues, je n'arrive pas à charger la dll (SQLite.dll.au3)

Savez-vous pourquoi?
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

Re: [..] Afficher le nombre d'enregistrement en titre

#8

Message par Hugues »

Salut,

Telecharge le dll et ensuite dans ton script tu colles (pour l'explication, je suis pas un expert, peut-être qu'un spécialiste pourra te répondre mieux que moi):

Code : Tout sélectionner

Local $sLocalSQLiteDll = @ScriptDir & "\sqlite3.dll"
Local $sSQliteDll = _SQLite_Startup($sLocalSQLiteDll, True, 1)

If @error Then
    MsgBox($MB_SYSTEMMODAL, "SQLite Error", "'SQLite3.dll' Can't be Loaded!")
    Exit -1
EndIf
 
Répondre