Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2084 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  une dll ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

une dll ?

n°490118
GeorgesKap​lan
Posté le 18-08-2003 à 11:48:00  profilanswer
 

Voilà,
j'ai besoin d'exécuter un programme depuis une fenêtre DOS qui effectue une requête vers une bdd oracle puis stocke le résultat dans un fichier au format CSV.
Comment dois-je m'y prendre :
Créer un exe sous vb ou une dll ?

mood
Publicité
Posté le 18-08-2003 à 11:48:00  profilanswer
 

n°490195
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 18-08-2003 à 13:38:06  profilanswer
 

Tu veux exécuter un programme à partir d'un exe VB, ou créer un programme ?
Si tu veux exécuter un programme à partir d'un exe VB, tu dois créer ton exe et utiliser la commande ShellExecute :
http://www.mvps.org/vbnet/index.ht [...] xecute.htm
 
Si tu veux créer un programme, le principe est le suivant :
- tu ouvres la BDD
- tu effectue ta requete sur cette BDD (SELECT machin FROM table)
- tu lis ligne par ligne le résultat de ta requeet
- tu stockes chaque champ de chaque ligne dans un fichier CSV. quand tu as fini de lire un champ, tu places un ";" à la suite, quand tu as fini de lire une ligne, tu écris un VbCrLF dans ton fichier pour passer à la ligne suivante


---------------
J'ai un string dans l'array (Paris Hilton)
n°490531
GeorgesKap​lan
Posté le 18-08-2003 à 18:52:53  profilanswer
 

Merci Harkonnen

n°490588
MagicBuzz
Posté le 18-08-2003 à 19:42:36  profilanswer
 

J'ai pas bien compris non plus la question :)
 
Juste pour complèter la réponse d'Harko qui me semble pas mal, faut pas oublier de virer tous les ; qu'il pourrait y avoir dans tes champs, ou alors opter pour un TSC (chr(9) - tabulation - comme séparateur), ou carrément un fichier plat à masque. Ces trois types de fichiers sont les plus courants, et générélement supportés par n'importe quelle application. Je préfère largement les fichiers à masque, car ils sont à la fois plus simple à générer et à lire, mais aussi incomparablement plus rapide.
 
Par exemple :
 
private type myRecord
   id as string(8)
   nom as string(50)
   prenom as string(50)
   email as string(255)
   EOL as string(2)
end type
 
ensuite :
 
dim ligne as myRecord
 
' ouverture de RS
 
Open "TESTFILE" For Output As #1
 
do while not rs.EOF
   ligne.id = cstr(rs("ID" )
   ligne.nom = rs("nom" )
   ligne.prenom = rs("prenom" )
   ligne.email = rs("emailnom" )
   ligne.EOL = vbCrLf
   Print #1, ligne
   rs.MoveNext
loop
 
Close #1
 
' fermeture de RS
 
Et pour la relecture, rien de plus simple :
 
Open "TESTFILE" For Input As #1   ' Open file for input.
Do While Not EOF(1)   ' Loop until end of file.
   Input #1, ligne   ' Read data.
   Debug.Print "[" & ligne.id & "]" & vbCrLf
   Debug.Print "[" & ligne.nom & "]" & vbCrLf
   Debug.Print "[" & ligne.prenom & "]" & vbCrLf
   Debug.Print "[" & ligne.email & "]" & vbCrLf
   Debug.Print "-------------------------------" & vbCrLf
Loop
Close #1   ' Close file.
 
Comme tu peux voir, les traîtements sont extrêment simple, et tu n'as à te soucier de rien, que ce soit au niveau de l'écriture ou de la lecture. C'est un format bien plus performant et portable que les deux aux cités. Par contre, le revers de la médaille, c'est que si tu l'ouvres avec le block note, vu qu'il n'y a pas de séparateur, c'est assez vite incompréhensible...
 
Sinon, y'a toujours le format XML, mais bon, là on commence à s'éloigner vraiment du sujet :D


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  une dll ?

 

Sujets relatifs
Plus de sujets relatifs à : une dll ?


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)