Erreur éxécution

pointdalattitude Messages postés 67 Date d'inscription dimanche 5 novembre 2000 Statut Membre Dernière intervention 3 mai 2005 - 15 mars 2005 à 14:57
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 - 15 mars 2005 à 17:51
bonjour, j ai un petit problème mon projet marche très bien en simulation mais dès que je crée l'éxécutable alors j aii une erreur qui apparait

erreur d'éxécution'-2147417848(80010108)':
la méthode '~' le l'objet'~' a échoué

mon code est celui ci

Dim db As Database
Dim sEtatLoc As String


Private Sub Form_Load()


'Déclaration des variables
Dim DataBaseFile As String
Dim RstQuery As Recordset
Dim strsql As String
'Chemin de la base de données
DataBaseFile = App.Path & "\gestion.mdb"
'On attribue une référence à la variable DB
Set db = OpenDatabase(DataBaseFile)

End Sub



Private Sub cmdSuiviRech_Click()


'désactiver cmdSuiviInfo
cmdSuiviInfo.Enabled = False


'on efface le contenu de la listindisponible
ListIndisponible.Clear


'on veut chercher les films non disponibles donc on met
'l'état de location à "non"
sEtatLoc = "non"
strsql = ""


'Requête SQL: on cherche tous les films qui ne sont pas disponibles dans la bbd dvd
strsql = "SELECT [Titre du film] FROM dvd" strsql strsql & " WHERE disponible '" & sEtatLoc & "'"
Set RstQuery = db.OpenRecordset(strsql)
If Not (RstQuery.BOF And RstQuery.EOF) Then
Do While Not RstQuery.EOF
'On affiche les noms des titres de films dans ListIndisponible
ListIndisponible.AddItem RstQuery.Fields("[Titre du film]").Value
RstQuery.MoveNext
Loop
End If

'si la liste est égale à o alors on désactive cmdSuiviInfo
If (ListIndisponible.ListCount > 0) Then
cmdSuiviInfo.Enabled = True
Else
cmdSuiviInfo.Enabled = False
MsgBox "Tous les dvd sont disponibles", vbInformation, "Information"
End If

End Sub


Private Sub cmdSuiviInfo_Click()
' On efface le contenu des labels
lblRnom.Caption = ""
lblRprenom.Caption = ""
lblRtelephone.Caption = ""
lblRville.Caption = ""
lblRcodepost.Caption = ""
lblRAdr.Caption = ""


' Requête SQL: on sélectionne les informations sur le client dansla bdd loueur
'où le nom du film emprunté est celui sélectionné dans listIndisponible
strsql = "SELECT Nom, Prenom, Telephone, Adresse, CodePostal, Ville FROM Loueur" strsql strsql & " WHERE TitreEmprunte '" & ListIndisponible.Text & "'"
Set RstQuery = db.OpenRecordset(strsql)
If Not (RstQuery.BOF And RstQuery.EOF) Then
Do While Not RstQuery.EOF
'On affiche les données sur le client sélectionné dans les différents labels
lblRnom.Caption = RstQuery.Fields("Nom").Value
lblRprenom.Caption = RstQuery.Fields("Prenom").Value
lblRtelephone.Caption = RstQuery.Fields("Telephone").Value
lblRville.Caption = RstQuery.Fields("Ville").Value
lblRcodepost.Caption = RstQuery.Fields("CodePostal").Value
lblRAdr.Caption = RstQuery.Fields("Adresse").Value
RstQuery.MoveNext
Loop
End If
End Sub



Private Sub cmdSuiviRetour_Click()


Unload Me
Load frmAccueil
frmAccueil.Show


End Sub

l'erreur est dans la requête sql mais je ne sais pas où!!!! Merci beaucoup pour votre aide

2 réponses

oooDieu Messages postés 12 Date d'inscription jeudi 8 janvier 2004 Statut Membre Dernière intervention 15 mars 2005
15 mars 2005 à 15:56
Je ne suis pas un expert, mais pourquoi mettre des crochet à :



strsql = "SELECT [Titre du film] FROM dvd"
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
15 mars 2005 à 17:51
oooDieu < Car son nom de champ contient des espaces... et si l'erreur venait de la, cela planterait en mode design

Est-ce que l'erreur apparait sur n'importe quelle machine ? As-tu bien empaqueter ton appli avant de l'isntaller sur un autre poste ? A quel moment du code se produit l'erreur ? Dans le load de la form, sur l'appui d'un bouton (si oui lequel ?) Je te propose une fois ces investigation faite de rajouter des ligne de trace (des Msgbox "Execution de la ligne bla bla bla ...") devrait suffire, dans l'EVT concerné par l'erreur au niveau de toute les ligne qui crée un objet : entre autre toutes tes lignes avec un "Set machin = Bidule", cart ton msg vient du fait que Windows ne peut pas créer un objet donné. Reste à savoir lequel pour trouver quelle DLL ou quel OCX est en cause.

Christophe R
0
Rejoignez-nous