VB6 et Crystal report 10

mbenabde Messages postés 18 Date d'inscription samedi 4 novembre 2000 Statut Membre Dernière intervention 27 juillet 2005 - 7 juil. 2005 à 10:31
riadsa Messages postés 1 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 12 octobre 2006 - 12 oct. 2006 à 14:58
bonjour,

j'utilise
VB6 et crystal reports 10 etje
veuxlier un etat à un controle data
comme en vb5.

En fait je veux afficher le résultat d'une requetedans un état et j'arrive pas à le faire en
VB6.


pourriez
vous m'aider svp, c'est pour mon projet de fin d'etudes.


Merci.

16 réponses

cs_dan80 Messages postés 101 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 19 avril 2006
7 juil. 2005 à 10:56
tu declare un recordset, tu met ta requete dedans

et tu fais CRviewer.datasource = 'ton recordset'



fais moi signe si tu réussi
0
mbenabde Messages postés 18 Date d'inscription samedi 4 novembre 2000 Statut Membre Dernière intervention 27 juillet 2005
7 juil. 2005 à 12:14
c'est ce que j'ai fait mais la propriété datasource n'existe pas
pour CRviewer, à moins que le CRviewer dont tu parles n'est pas
de type CrystalActiveXReportViewer.
0
cs_dan80 Messages postés 101 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 19 avril 2006
7 juil. 2005 à 14:19
essaye reportsource
0
mbenabde Messages postés 18 Date d'inscription samedi 4 novembre 2000 Statut Membre Dernière intervention 27 juillet 2005
7 juil. 2005 à 16:36
voici mon code :

Dim rptReport As New CRAXDRT.Report


Dim rptRepApp As New CRAXDRT.Application




Set rptRepApp = New CRAXDRT.Application


Set rptReport = New CRAXDRT.Report








With CRVReport




Set rptReport = rptRepApp.NewReport


rptReport.DiscardSavedData


rptReport.Database.SetDataSource data1


'data1 est le controle data créé en mode création et qui contient ma
requete




.ReportSource = rptReport




.ViewReport




End With












j'ai essayé de créer un recordset manuellement comme ceci :



Dim rs As ADODB.Recordset

Dim conn As ADODB.Connection

conn.Open "Driver={ACCESS ODBC}"

Set rs = New ADODB.Recordset

rs.Open "SELECT * FROM client" , conn, adOpenStatic, adLockReadOnly



Je n'arrive pas à paramétrer la connexion à la base de données Access, j'ai trouvé un exemple mais avec la base MySQL.


conn.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};" _
& "SERVER=127.0.0.1;" _
& "DATABASE=test;" _
& "UID=testuser;" _
& "PWD=12345;" _
& "OPTION=" & 1 + 2 + 8 + 32 + 2048 + 16384 'SET ALL PARAMETERS
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_dan80 Messages postés 101 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 19 avril 2006
7 juil. 2005 à 16:47
voila la chaine de connection ado

Sub connection1()
Set cn1 = New ADODB.connection
cn1.Provider = "Microsoft.Jet.Oledb.4.0"
cn1.ConnectionString = App.Path + "\Prospects.bdd"
cn1.Open
End Sub

fais moi signe si tu réussi
0
mbenabde Messages postés 18 Date d'inscription samedi 4 novembre 2000 Statut Membre Dernière intervention 27 juillet 2005
7 juil. 2005 à 17:01
il y a un message erreur: Variable objet ou variable bloc with non definie

c'est provoqué par cette ligne : rs.Open sql, conn
il me semble qu'il n'a pas réussi à se connecter à la base pourtant voici la ligne de code que j'ai modifiée :

conn.ConnectionString = App.Path + "\maBase.mdb"
0
mbenabde Messages postés 18 Date d'inscription samedi 4 novembre 2000 Statut Membre Dernière intervention 27 juillet 2005
8 juil. 2005 à 11:26
j'ai réussi à faire la connexion, le problème précédent c'est qu'il faut utilisé Microsoft.Jet.Oledb.3.51 puisque j'utilise la base de données access 97.



voici le code qui suit pour afficher l'état :

Dim m_Report As New CrystalReport1



Set RS = New ADODB.Recordset

RS.Open "SELECT * FROM client", Conn



m_Report.Database.SetDataSource RS



Screen.MousePointer = vbHourglass

CRVReport.ReportSource = m_Report

CRVReport.ViewReport





la ligne en rouge signale une erreur : indice en dehors de la plage



AU SECOURS !!
0
cs_dan80 Messages postés 101 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 19 avril 2006
8 juil. 2005 à 14:15
essaye ca:

c un bout de mon code

en fait je change les parametres de connectioin de la BD du report



Set reporti = CrxApp.OpenReport("\\srv1-fr-sq\Secretariat\Documents_internes\Fiche_société.rpt")

If i <> 0 Then

reporti.DiscardSavedData

End If

Set
connection = reporti.Database.Tables(1).ConnectionProperties

connection.DeleteAll

connection.Add "Provider", "Microsoft.Jet.OLEDB.4.0"

connection.Add "Data Source", cheminbase


reporti.RecordSelectionFormula = "{Societes.CodeSociete}=" &
CodeSociete.Text

RPORT

Report.ReportSource = reporti

Report.ViewReport



fais moi signe si tu réussi
0
cs_dan80 Messages postés 101 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 19 avril 2006
8 juil. 2005 à 14:15
essaye ca:

c un bout de mon code

en fait je change les parametres de connectioin de la BD du report



Set reporti = CrxApp.OpenReport("\\srv1-fr-sq\Secretariat\Documents_internes\Fiche_société.rpt")

If i <> 0 Then

reporti.DiscardSavedData

End If

Set
connection = reporti.Database.Tables(1).ConnectionProperties

connection.DeleteAll

connection.Add "Provider", "Microsoft.Jet.OLEDB.4.0"

connection.Add "Data Source", cheminbase


reporti.RecordSelectionFormula = "{Societes.CodeSociete}=" &
CodeSociete.Text

Report.ReportSource = reporti

Report.ViewReport



fais moi signe si tu réussi
0
mbenabde Messages postés 18 Date d'inscription samedi 4 novembre 2000 Statut Membre Dernière intervention 27 juillet 2005
8 juil. 2005 à 14:58


Set connection = reporti.Database.Tables(1).ConnectionProperties

erreur : types incompatibles



j'ai essayé çà :



Connexion.ConnectionString = reporti.Database.Tables(1).ConnectionProperties

erreur : cet argument n'est pas facultatif
0
mbenabde Messages postés 18 Date d'inscription samedi 4 novembre 2000 Statut Membre Dernière intervention 27 juillet 2005
8 juil. 2005 à 15:30
çà y est çà marche!!



pas besoin de la connexion à la base ni du recordset



MERCI dan80 pour ton aide j'allais rien faire.



pour tous ceux qui sont intéressés, voici le code :



Dim monReport As New CRAXDRT.Report


Dim monApplication As New CRAXDRT.Application





Set monApplication = New CRAXDRT.Application


Set monReport = New CRAXDRT.Report





Set monReport = monApplication.OpenReport("monReport.rpt")


monReport.DiscardSavedData

MaRequete "{nomDeTable.nomDeChamps} '" & zoneDeTexte.Text & "'"


monReport.RecordSelectionFormula = MaRequete
0
mbenabde Messages postés 18 Date d'inscription samedi 4 novembre 2000 Statut Membre Dernière intervention 27 juillet 2005
8 juil. 2005 à 15:32
MERCI dan80 pour ton aide j'allais rien faire sans toi
0
cs_dan80 Messages postés 101 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 19 avril 2006
8 juil. 2005 à 16:12
de rien tu ferra peut etre la meme chose pour moi un jour
0
cs_dan80 Messages postés 101 Date d'inscription mardi 3 mai 2005 Statut Membre Dernière intervention 19 avril 2006
8 juil. 2005 à 16:17
mais attention, ne change pas l'emplacement de la bd de ton report car ca ne fonctionnera plus je pense donc pour le deploiement de ton appli c chaud
0
mbenabde Messages postés 18 Date d'inscription samedi 4 novembre 2000 Statut Membre Dernière intervention 27 juillet 2005
27 juil. 2005 à 11:28
bonjour,

j'ai toujours besoin de votre aide pour la retouche finale.
ça marche très bien jusqu'a la création d'un fichier exécutable pour lancer
l'application en local.

Quand j'utilise l'empaquetage et lancer le setup
tout va bien sauf quand on fait appel à une impression via crystal reports, un
message d'erreur s'affiche : " erreur d'execution : file not found (-125585232 )
..."

pourtant le chemin de la base est le même que celui du fichier .rpt.



merci
0
riadsa Messages postés 1 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 12 octobre 2006
12 oct. 2006 à 14:58
salut
comment faire pour ecriture en arabe sur les text box de vb6
et merci a l'avance
 emaile    
 [mailto:riadsa@caramail.com riadsa@caramail.com]
0
Rejoignez-nous