Data report (Urgent)

Guiguouz Messages postés 19 Date d'inscription jeudi 17 avril 2003 Statut Membre Dernière intervention 28 janvier 2004 - 25 juin 2003 à 07:41
metalcoder Messages postés 193 Date d'inscription jeudi 14 février 2002 Statut Membre Dernière intervention 25 mars 2011 - 25 juin 2003 à 10:29
Hello,

Voici mon code :

' Ouverture de la connexion vers Oracle

conn.ConnectionString = "....
conn.Open
commADO.ActiveConnection = conn

conn.BeginTrans
commADO.CommandText = "insert into rech_impr " & resultat_query
commADO.Execute
conn.CommitTrans

'Fermuture de la base
conn.Close

'Rafraîchissement et affichage du data report
ListImp.rsCommand1.Open
ListImp.rsCommand1.Requery
ListImp.rsCommand1.Close
DBimp.Recordset.Close
DBRecherche.Recordset.Close
ReportListImp.Show

Quand j'exécute le code une première fois pas de pb. LA deuxième fois j'ai le message : Cette opération n'est pas autorisé si l'objet est ouvert et il plante sur la ligne en bleu. Je ne comprend pas car le ListImp.rsCommand1 est fermé après le rafraîchissement.

Merci pour votre aide.

A+

Guigouz

4 réponses

metalcoder Messages postés 193 Date d'inscription jeudi 14 février 2002 Statut Membre Dernière intervention 25 mars 2011 1
25 juin 2003 à 09:09
J'ai le meme probleme que toi, j'ai pas chercher compliqué. je ferme l'etat juste avant de l'ouvrir. Il me fait donc une erreur 3704.

pour ton code ca donnerais un truc du genre

on error goto err
conn.ConnectionString = "....
conn.Open
commADO.ActiveConnection = conn

conn.BeginTrans
commADO.CommandText = "insert into rech_impr " & resultat_query
commADO.Execute
conn.CommitTrans

'Fermuture de la base
conn.Close

'Rafraîchissement et affichage du data report
ListImp.rsCommand1.Close
ListImp.rsCommand1.Open
ListImp.rsCommand1.Requery
ListImp.rsCommand1.Close
DBimp.Recordset.Close
DBRecherche.Recordset.Close
ReportListImp.Show
exit sub
err:
if err.number=3704 then resume next
0
metalcoder Messages postés 193 Date d'inscription jeudi 14 février 2002 Statut Membre Dernière intervention 25 mars 2011 1
25 juin 2003 à 09:13
A la limite ton dernier ListImp.rsCommand1.Close apres le Requery est inutile, enleve le.

@+

Bonne Prog
0
Guiguouz Messages postés 19 Date d'inscription jeudi 17 avril 2003 Statut Membre Dernière intervention 28 janvier 2004
25 juin 2003 à 09:15
Hello,

J'ai aussi trouvé une parade je te la donne pour info, je test l'état de ListImp.rsCommand1, pas très joli mais cela marche aussi voici le code :

If (ListImp.rsCommand1.State = 1) Then
ListImp.rsCommand1.Close
ListImp.rsCommand1.Open
Else
ListImp.rsCommand1.Open
End If
ListImp.rsCommand1.Requery
ListImp.rsCommand1.Close
DBimp.Recordset.Close
DBRecherche.Recordset.Close
ReportListImp.Show

Merci encore pour l'info.

A+
Guigouz
0
metalcoder Messages postés 193 Date d'inscription jeudi 14 février 2002 Statut Membre Dernière intervention 25 mars 2011 1
25 juin 2003 à 10:29
J'avais pas penser a cette methode...merci bien

@+
Metalcoder
0
Rejoignez-nous