Newsgroup: it.comp.lang.visual-basic
Titolo: DataReport

Ciao a tutti
sto creando un semplice progetto VB 6 dal quale genero un' etichetta.
Ho una form con 3 campi, Una Combo e 2 TextBox
ora, vorrei semplicemente stampare queste 3 informazioni in una
cornice di 10 X 15 cm circa
ho pensato a DataReport ma non so come utilizzarlo.
Non ho dati salvati, apro la form compilo e stampo senza salvare
nulla.
Ho provato a mettere nel report 2 text box e poi :
Text1.Text = Form1.Combo1.Text
Text2.Text = Form1.Text1.Text
Text3.Text = Form1.Text2.Text
 Printer.Print Text1.Text
 Printer.Print Text2.Text
 Printer.Print Text3.Text
 Printer.EndDoc
ma non funziona, non vede i dati.
Come collego le 3 indormazioni?
grazie
Marco

 wrote:
devi prendere l'oggetto printer e disegnare la cornice
Se ti metti un atimo a studiare vedrai che l'oggetto printer ti darà
soddisfazioni.
Qui trovi un ottimo tutorial (in inglese...ma è elementare e c'è tanto
codice)
http://www.devarticles.com/c/a/Visual-Basic/Printing-With-Visual-Basic/
Ci perdi un ora di tempo fra lettura e prove: vale la pena fare questa
fatica!

 ha scritto nel messaggio 
news:25eb4d97-f02f-4e68...@x42g2000yqx.googlegroups.com...

Devi usare un recordset necessariamente.
Il che non significa dover persistere i dati su un database, puoi benissimo 
creare un rs disconnesso.
1) Setta DataField dei 3 textbox sul datareport pari a "Campo1", "Campo2" 
etc...
2) Prepara il recordset
    Dim rs As New Recordset
    rs.Fields.Append "Campo1", adVarWChar, 100
    rs.Fields.Append "Campo2", adVarWChar, 100
    rs.Fields.Append "Campo3", adVarWChar, 100
3) Aggiungici 1 record coi dati che vuoi mostrare
    rs.Open
    rs.AddNew Array("Campo1", "Campo2", "Campo3"), _
        Array(Form1.Combo1.Text, Form1.Text1.Text, Form1.Text2.Text)
4) Lega il RS al DataReport
    Set DataReport1.DataSource = rs
5) A questo punto mostra il DataReport.
Bye
Raf 

 ha scritto nel messaggio 
news:25eb4d97-f02f-4e68...@x42g2000yqx.googlegroups.com...

Se non ho capito male stai chiedendo una soluzione
abbastanza semplice che potrebbe essere cosě
esempio:
Private Sub Command1_Click()
Dim A As String
Dim B As String
Dim C As String
A = "AAAAAAAAAAA"
B = "BBBBBBBBBBB"
C = "CCCCCCCCCCC"
Printer.ScaleMode = 6 'imposta la scala dell'oggetto printer in mm
Printer.Line (0, 0)-(150, 100), 0, B 'cornicie
Printer.CurrentX = 10: Printer.CurrentY = 10 'coordinate scritta 1
Printer.Print A
Printer.CurrentX = 10: Printer.CurrentY = 20 'coordinate scritta 2
Printer.Print B
Printer.CurrentX = 10: Printer.CurrentY = 30 'coordinate scritta 3
Printer.Print C
Printer.EndDoc
End Sub
Naturalmente questa soluzione va completata con l'impostazione
dei font, dimensioni, ecc. ecc.
ciao
JS 

Rafunk ha spiegato il 31/08/2010 :

Grazie.
Non avevo voglia di ripetere per l'ennesima volta 'sto giro...
Confermo che 'questa è la via'.
Esiste anche una via parallela che è quella di non mettere dati nel 
recordset (che va creato comunque), e di popolare delle RptLabel 
anzichè delle RptText.
Alberto

 nulla.
Parli di etichetta?
Non è che stai usando le stampantine tipo zebra a nastro con le etichette?
Perchè in quel caso di solito si fa diversamente

On 31 Ago, 12:34, "Andrea [Work]"

Grazie a tutti per le cortesi risposte, proverò a far funzionare il
tutto...
ciao
Marco