une dll ? - VB/VBA/VBS - Programmation
Marsh Posté le 18-08-2003 à 13:38:06
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
Marsh Posté le 18-08-2003 à 19:42:36
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
Marsh Posté le 18-08-2003 à 11:48:00
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 ?