Votre question

[Résolu] Pièce jointe (VB6)

Tags :
  • Programme
  • Programmation
Dernière réponse : dans Programmation
18 Août 2009 01:02:19

Bonsoir ^^

J'aurais besoin de votre aide en ce qui concerne quelques trucs sur VB6.

Alors voilà, j'ai 2 questions concernant mon programme :

1.
J'ai une base de donnée "Etudiant.MDB" avec une table "ETUDIANT", "ETUDE", "ENSEIGNANT" et "DEPARTEMENT".
La table ETUDIANT a comme clé principale NUMETUDIANT. La table ETUDE a comme clé p. NUMETUDE et comme clé étrangère NUMETUDIANT. La table ENSEIGNANT quand à elle comporte comme c.p. "NUMENSEIGN" et comme c.e. "NUMETUDE".
Enfin, la table DEPARTEMENT a comme c.p. "NUMDEP" et comme clé étrangère "NUMENSEIGN".
Je voudrais savoir en fait le nombre d'étudiants (Nombre d'enregistrements de la table ETUDIANT) pour chaque departement.
Ex: J'ai un Form contenant une combobox, je sélectionne le numéro du département NUMDEP, et il me donne (en MsgBox ou dans un nouveau Form) le nombre d'étudiants de ce département.

2.
Est-ce possible de créer une interface graphique VB6 ou on pourrait parcourir les répertoires pour sélectionner un fichier ?
Un peu comme pour parcourir une pièce jointe sur les interfaces des boites mails ?
Je voudrais sélectionner une pièce jointe dans un formulaire, mais je ne trouve pas le bouton "Parcourir" dans la boite d'outils.

Si vous savez quoi que ce soit, n'hésitez pas à partager vos connaissances avec un débutant comme moi! ;) 
Merci d'avance pour toute aide et bonne soirée! ^.^

Autres pages sur : resolu piece jointe vb6

25 Août 2009 16:44:43

Pour le point n°2, j'utilise un module qui me fourni des interfaces simplement !
Ca utilise les API de windows, ca marche sous win95, win98, win2000 et win XP sûr, j'ai pas testé sous les autres Windows.

Met ceci dans un module :
  1. Option Explicit
  2.  
  3. Public Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
  4. Public Declare Function GetSaveFileName Lib "comdlg32.dll" Alias "GetSaveFileNameA" (pOpenfilename As OPENFILENAME) As Long
  5. Public Type OPENFILENAME
  6. lStructSize As Long
  7. hwndOwner As Long
  8. hInstance As Long
  9. lpstrFilter As String
  10. lpstrCustomFilter As String
  11. nMaxCustFilter As Long
  12. nFilterIndex As Long
  13. lpstrFile As String
  14. nMaxFile As Long
  15. lpstrFileTitle As String
  16. nMaxFileTitle As Long
  17. lpstrInitialDir As String
  18. lpstrTitle As String
  19. flags As Long
  20. nFileOffset As Integer
  21. nFileExtension As Integer
  22. lpstrDefExt As String
  23. lCustData As Long
  24. lpfnHook As Long
  25. lpTemplateName As String
  26. End Type
  27.  
  28. Public Function OuvreChoixFichier() As String
  29. Dim sRet As String
  30. Dim of As OPENFILENAME
  31. sRet = String(254, 0&)
  32. of.flags = 4
  33. of.hInstance = App.hInstance
  34. of.lpstrInitialDir = "c:\"
  35. of.lpstrTitle = "Charger un fichier"
  36. of.hwndOwner = 0&
  37. of.nFileExtension = 1
  38. of.lpstrFile = sRet
  39. of.nMaxFile = 254
  40. of.lStructSize = Len(of)
  41. of.lpstrFilter = "Fichier texte(*.text)" & vbNullChar & _
  42. "*.txt" & vbNullChar & _
  43. "Tous les fichiers (*.*)" & vbNullChar & _
  44. "*.*" & vbNullChar & vbNullChar
  45. If GetOpenFileName(of) > 0 Then
  46. OuvreChoixFichier = Left(of.lpstrFile, InStr(1, of.lpstrFile, Chr(0)) - 1)
  47. End If
  48. End Function
  49.  
  50. Public Function OuvreSauveFichier(sExt As String, Optional sChemin As String = vbNullString) As String
  51. Dim sRet As String
  52. Dim of As OPENFILENAME
  53. sRet = String(254, 0&)
  54. of.flags = 1
  55. of.hInstance = App.hInstance
  56. of.lpstrInitialDir = sChemin
  57. of.lpstrTitle = "Enregistrer sous ..."
  58. of.hwndOwner = 0&
  59. of.nFileExtension = 1
  60. of.lpstrFile = sRet
  61. of.nMaxFile = 254
  62. If sExt = "txt" Then
  63. of.lpstrDefExt = "txt"
  64. of.lpstrFilter = "fichier Texte (*.txt)" & vbNullChar & _
  65. "*.txt" & vbNullChar & _
  66. "Tous les fichiers (*.*)" & vbNullChar & _
  67. "*.*" & vbNullChar & vbNullChar
  68. Else
  69. of.lpstrFilter = "Tous les fichiers (*.*)" & vbNullChar & _
  70. "*.*" & vbNullChar & vbNullChar
  71. End If
  72. of.lStructSize = Len(of)
  73. If GetSaveFileName(of) > 0 Then
  74. OuvreSauveFichier = Left(of.lpstrFile, InStr(1, of.lpstrFile, Chr(0)) - 1)
  75. End If
  76. End Function
  77.  
  78.  
  79. Public Function getRepertoire(Optional repertoireInit As String = "c:\") As String
  80. Dim oShell As Object
  81. Dim oFolder As Object
  82. Dim oFolderItem As Object
  83. Set oShell = CreateObject("Shell.Application")
  84. Set oFolder = oShell.BrowseForFolder(&H0&, "Choisir un répertoire", &H1&, repertoireInit)
  85. If Not oFolder Is Nothing Then
  86. Set oFolderItem = oFolder.Self
  87. getRepertoire = oFolderItem.Path
  88. End If
  89. End Function


et ensuite, depuis n'importe où tu peux faire :

  1. s = OuvreChoixFichier()
  2. MsgBox (s)

et 's' contiendra le fichier choisi, ou sera vide si la personne a annuler

  1. s = OuvreSauveFichier("txt")
  2. MsgBox (s)

et 's' contiendra le fichier choisi pour l'enregistrement, ou sera vide si la personne a annuler
  1. s = getRepertoire()
  2. MsgBox (s)

et 's' contiendra le répertoire sélectionné ou sera vide si la personne a annuler
25 Août 2009 19:10:37

Merci bien, ton code est intéressant! ^^

C'est bon par rapport à la première question, j'ai trouvé =)
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS