Problème d'affichage

Problème d'affichage - VB/VBA/VBS - Programmation

Marsh Posté le 29-02-2008 à 14:15:58    

Bonjour.
Je suis en train de créer une application qui permet de gérer des films.
Les films sont gérés dans une liste.Toutes les informations sont affichées dans les textbox sauf la liste des acteurs quand je clique sur le film en question.
Je n'arrive pas à afficher les acteurs du film.Normalement ca devrait marcher.S'il vous plait dites moi quel est le problème dans le code ci dessous car ca fait plus de 2 jour que je suis dessus.  
 
je précise que tous est déclarer  
 

Code :
  1. 'Requête pour obtenir les acteurs du film sélectionner'
  2. Set tb = maBase.OpenRecordset( _
  3. "SELECT * FROM Acteur,Joue,Film WHERE Acteur.NumActeur=Joue.NumActeur AND Joue.NumFilm=Film.NumFilm AND NomFilm=' " & index & " '", dbOpenSnapshot)
  4. LstActeur.Clear
  5. tb.MoveLast
  6. tb.MoveFirst
  7. 'Gestion d'erreur'
  8. On Error Resume Next
  9. 'affichage des acteurs'
  10. Do While Not tb.EOF
  11.     If tb!NomActeur <> "aucun" Then
  12.         LstActeur.AddItem tb!NomActeur
  13.     End If
  14.     'Passage au suivant'
  15.     tb.MoveNext
  16. Loop
  17. 'Fermer la base de donnée'
  18. maBase.Close

 
 
Merci d'avance de vos réponses.

Reply

Marsh Posté le 29-02-2008 à 14:15:58   

Reply

Marsh Posté le 29-02-2008 à 14:37:17    

Pour débugguer, il faudrait commencer par voir les messages d'erreur éventuels, et donc mettre en commentaire la ligne "On Error Resume Next"
 
La seule erreur que je vois est l'absence d'un tb.Close, mais cela ne devrait pas être gênant.
 
La déclaration des données n'est pas forcément un avantage en VBA, car selon les versions, les déclarations peuvent changer. Je préfère laisser VBA choisir lui-même les bons types de données et ne déclarer que les tableaux.
 
L'option "dbOpenSnapShot" n'est pas obligatoire. Personnellement, j'appelle OpenRecordSet avec seulement le texte de la requête.
La fermeture de la base par mabase.Close ferme la base, ce qui est rarement souhaité avant la fin de l'application.

Reply

Marsh Posté le 29-02-2008 à 14:47:06    

Merci quand même mais j'ai trouvé.C'est à cause d'un malheureux espace entre cote et guillemet sur mon index.Il ne prenait rien.
 
Pour renseignement on est en vb6 et pas en VBA.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed