Je devrais, par programmation (VB60), donner le chemin + le nom de la
database ˆ un fichier crystal report
soit un objet que j'appelle CR1 (qui represente l'objet crystal
report)
dim mydb as database
dim agent as recordset
set mydb=dbengine.workspaces(0).opendatabase(fichier)
sqlstr= "SELECT * FROM agent;"
set agent = mydb.openrecordset(sqlstr)
if agent.recordcount > 0 then
with cr1
.filename="c:\report.rpt"
.recordsource = agent
.action = 1
end with
else
msgbox "aucun agent trouve"
end if
agent.close
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jérôme FONTAINE
Salut ,
Pour modifier le chemin d'une base de donnée d'un état et de ses sous-etats Crystal Report j'ai fait une fonction.
strBase contient le chemin de la base de donnée Report est la variable de l'état (ex: Set m_Report = m_Application.OpenReport("Etat.rpt"))
Public Sub CRChangeBase(strBase As String, Report As Object) Dim m_data As CRAXDDRT.DatabaseTable Dim CRXSections As CRAXDDRT.Sections Dim CRXSection As CRAXDDRT.Section Dim CRXSubreportObj As CRAXDDRT.SubreportObject Dim CRXReportObjects As CRAXDDRT.ReportObjects Dim CRXReportObject As Object Dim m_subreport As CRAXDDRT.Report Dim i As Integer
For i = 1 To Report.Database.Tables.Count Set m_data = Report.Database.Tables(i) m_data.Location = strBase Next i
'Recherche les sous etats Set CRXSections = Report.Sections For Each CRXSection In CRXSections Set CRXReportObjects = CRXSection.ReportObjects For Each CRXReportObject In CRXReportObjects If CRXReportObject.Kind = crSubreportObject Then Set CRXSubreportObj = CRXReportObject Set m_subreport = New CRAXDDRT.Report Set m_subreport = CRXSubreportObj.OpenSubreport For i = 1 To m_subreport.Database.Tables.Count Set m_data = m_subreport.Database.Tables(i) m_data.Location = strBase Next i End If Next Next
End Sub
En espérant que cela puisse t'aider.
Jérôme
"André" a émis l'idée suivante :
Bonjour
Je devrais, par programmation (VB60), donner le chemin + le nom de la database ? un fichier crystal report
soit un objet que j'appelle CR1 (qui represente l'objet crystal report)
dim mydb as database dim agent as recordset
set mydbÛengine.workspaces(0).opendatabase(fichier)
sqlstr= "SELECT * FROM agent;"
set agent = mydb.openrecordset(sqlstr)
if agent.recordcount > 0 then with cr1 .filename="c:report.rpt" .recordsource = agent .action = 1 end with else msgbox "aucun agent trouve" end if agent.close
Le programme s'arr?te sur la ligne .recordsource=agent avec "mismatch error"
Quelqu'un ? une idee?
merci Andre
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com
Salut ,
Pour modifier le chemin d'une base de donnée d'un état et de ses
sous-etats Crystal Report j'ai fait une fonction.
strBase contient le chemin de la base de donnée
Report est la variable de l'état (ex: Set m_Report =
m_Application.OpenReport("Etat.rpt"))
Public Sub CRChangeBase(strBase As String, Report As Object)
Dim m_data As CRAXDDRT.DatabaseTable
Dim CRXSections As CRAXDDRT.Sections
Dim CRXSection As CRAXDDRT.Section
Dim CRXSubreportObj As CRAXDDRT.SubreportObject
Dim CRXReportObjects As CRAXDDRT.ReportObjects
Dim CRXReportObject As Object
Dim m_subreport As CRAXDDRT.Report
Dim i As Integer
For i = 1 To Report.Database.Tables.Count
Set m_data = Report.Database.Tables(i)
m_data.Location = strBase
Next i
'Recherche les sous etats
Set CRXSections = Report.Sections
For Each CRXSection In CRXSections
Set CRXReportObjects = CRXSection.ReportObjects
For Each CRXReportObject In CRXReportObjects
If CRXReportObject.Kind = crSubreportObject Then
Set CRXSubreportObj = CRXReportObject
Set m_subreport = New CRAXDDRT.Report
Set m_subreport = CRXSubreportObj.OpenSubreport
For i = 1 To m_subreport.Database.Tables.Count
Set m_data = m_subreport.Database.Tables(i)
m_data.Location = strBase
Next i
End If
Next
Next
End Sub
En espérant que cela puisse t'aider.
Jérôme
"André" a émis l'idée suivante :
Bonjour
Je devrais, par programmation (VB60), donner le chemin + le nom de la
database ? un fichier crystal report
soit un objet que j'appelle CR1 (qui represente l'objet crystal
report)
dim mydb as database
dim agent as recordset
set mydbÛengine.workspaces(0).opendatabase(fichier)
sqlstr= "SELECT * FROM agent;"
set agent = mydb.openrecordset(sqlstr)
if agent.recordcount > 0 then
with cr1
.filename="c:report.rpt"
.recordsource = agent
.action = 1
end with
else
msgbox "aucun agent trouve"
end if
agent.close
Le programme s'arr?te sur la ligne .recordsource=agent avec "mismatch
error"
Quelqu'un ? une idee?
merci
Andre
--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Pour modifier le chemin d'une base de donnée d'un état et de ses sous-etats Crystal Report j'ai fait une fonction.
strBase contient le chemin de la base de donnée Report est la variable de l'état (ex: Set m_Report = m_Application.OpenReport("Etat.rpt"))
Public Sub CRChangeBase(strBase As String, Report As Object) Dim m_data As CRAXDDRT.DatabaseTable Dim CRXSections As CRAXDDRT.Sections Dim CRXSection As CRAXDDRT.Section Dim CRXSubreportObj As CRAXDDRT.SubreportObject Dim CRXReportObjects As CRAXDDRT.ReportObjects Dim CRXReportObject As Object Dim m_subreport As CRAXDDRT.Report Dim i As Integer
For i = 1 To Report.Database.Tables.Count Set m_data = Report.Database.Tables(i) m_data.Location = strBase Next i
'Recherche les sous etats Set CRXSections = Report.Sections For Each CRXSection In CRXSections Set CRXReportObjects = CRXSection.ReportObjects For Each CRXReportObject In CRXReportObjects If CRXReportObject.Kind = crSubreportObject Then Set CRXSubreportObj = CRXReportObject Set m_subreport = New CRAXDDRT.Report Set m_subreport = CRXSubreportObj.OpenSubreport For i = 1 To m_subreport.Database.Tables.Count Set m_data = m_subreport.Database.Tables(i) m_data.Location = strBase Next i End If Next Next
End Sub
En espérant que cela puisse t'aider.
Jérôme
"André" a émis l'idée suivante :
Bonjour
Je devrais, par programmation (VB60), donner le chemin + le nom de la database ? un fichier crystal report
soit un objet que j'appelle CR1 (qui represente l'objet crystal report)
dim mydb as database dim agent as recordset
set mydbÛengine.workspaces(0).opendatabase(fichier)
sqlstr= "SELECT * FROM agent;"
set agent = mydb.openrecordset(sqlstr)
if agent.recordcount > 0 then with cr1 .filename="c:report.rpt" .recordsource = agent .action = 1 end with else msgbox "aucun agent trouve" end if agent.close
Le programme s'arr?te sur la ligne .recordsource=agent avec "mismatch error"
Quelqu'un ? une idee?
merci Andre
-- Ceci est une signature automatique de MesNews. Site : http://mesnews.no-ip.com