OVH Cloud OVH Cloud

Quelle est la syntaxe pour CR.RECORDSOURCE ????

1 réponse
Avatar
André
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=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


Le programme s'arr

1 réponse

Avatar
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