Nascondere Oggetto OLE

lunedì 27 aprile 2009 - 17.44

gemepaso Profilo | Newbie

Ciao a tutti

Ho un semplice Report Crystal XI che richiamo da un form VB6. In funzione di chi firma il documeto, deve venir caricato il relativo jpg. Non so come fare. L'ideale sarebbe caricare il file direttamente da codice vb tipo

Report.ParameterFields.Item("OGGETTO_OLE").Picture = LoadPicture(App.Path & "\Logo\Firma.jpg") ' è un esempio... so di aver scritto una cosa senza senso....

Altrimenti si potrebbero includere le varie immagini nel report, e in funzione di chi firma il documento, rendo visible/not visible le picture (sempre da codice o perchè no anche con formula sul crystal. In quest'ultimo caso non so come applicare la proprietà di visibilità o no dell'oggetto da CR)
Qualche suggerimento??
Grazie
Marco

Allego codice usato nel VB6 per richiamare il report, passare i parametri e stamparlo


Dim CrApp As New CRAXDRT.Application
Dim Report As CRAXDRT.Report

Set CrApp = New CRAXDRT.Application
Set Report = CrApp.OpenReport(App.Path & "\Reports\Preventivo.rpt")

Dim DbProperties As CRAXDRT.ConnectionProperties
Dim DbProperty As CRAXDRT.ConnectionProperty

Report.RecordSelectionFormula = "{OFFERTA_N} = " & n_pre.Text & " "

With Report.ParameterFields

.GetItemByName("CITTA").AddCurrentValue Frm_Preventivi.lbl_localita.Caption
.GetItemByName("VIA").AddCurrentValue Frm_Preventivi.lbl_indirizzo.Caption
.GetItemByName("CAP").AddCurrentValue Frm_Preventivi.lbl_CAP.Caption
.GetItemByName("PROV").AddCurrentValue Frm_Preventivi.lbl_provincia.Caption
.GetItemByName("TOT_PREV").AddCurrentValue Frm_Preventivi.Txt_Prezzo_Tot.Text
.GetItemByName("NOTE").AddCurrentValue Frm_Preventivi.Txt_Note_Bolla.Text
' ........................................... ecc
End With

CRViewer1.ReportSource = Report
CRViewer1.Refresh
'Anteprima
CRViewer1.ViewReport

freeteo Profilo | Guru

Ciao,
hai provato a mettere la visibilità dell'oggetto soggetto a formula? (pulsante "X+2" vicino al flag "suppress" dell'oggetto)
Poi da codice setti il valore della formula tramite codice
report.FormulaFields.GetItemByName("nomeformula").Text = ....
non ricordo adesso se ci vanno gli apici (Chr$(34)) o meno, cmq puoi fare delle prove.

Ciao.

Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo

gemepaso Profilo | Newbie

Effettivamente era più semplice del previso. non c'è stato nemmeno bisono di inseriredel codice in VB; mi hai dato l'indicazione Giusta.
Semplicemente sul campi x+2 (Vicino all'opzione "ometti") inserico la formula:

if {?FIRMA} = "nome del firmatario" then false
else
true

e così anche per gli altri oggetti OLE ...
Grazie
Marco
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5