Newsgroup: it.comp.lang.visual-basic
Titolo: DataReport da codice: Dove Sbaglio?

Come da Subject
L'errore è "Fonte dati non valida". Riporto il codice "pezzottato".
(La parte ADO è dovrebbe essere esatta).
-----------------------------------------
Private Sub DataReport_Activate()
Dim cn As New ADODB.Connection
Dim rs1 As New ADODB.Recordset
Dim strSql As String
cn.Open "Provider=Microsoft.Jet.Oledb.4.0; " & _
"Data Source=" & App.Path & "\VBxArchive.mdb;"
strSql = "SELECT TabArchivio.Argomento,
TabMemo.Memo,TabMemo.IDArchivio " _                     
& "FROM TabArchivio INNER JOIN TabMemo ON TabArchivio.IDArchivio =
TabMemo.IDArchivio; "
rs1.CursorLocation = adUseClient
rs1.Open strSql, cn, adOpenStatic, adLockReadOnly
rs1.Filter = "Argomento = '" & FormRicerca.Combo2.Text & "'"
With DataReport1
         .Title = "Anteprima"
         .ReportWidth = 10700 '19 centimetri
         .TopMargin = 567 '1 centimetro
         .LeftMargin = 567 '1 centimetro
         .RightMargin = 567 '1 centimetro
         .PrintReport False, rptRangeAllPages
         .WindowState = vbMaximized
         .Show vbModal
 End With
 
    Set DataReport1.DataSource = rs1
 
 
    With DataReport1.Sections.Item("Section1").Controls
        .Item("TextBox1").DataField = "Argomento"
        .Item("TextBox2").DataField = "Memo"
    End With
End Sub

 ha scritto nel messaggio
news:tleklu0e13j9geoqj...@4ax.com...

Piccola perplessità: perchè apri il datareport prima di assegnargli la
Datasource?
Salutoni
Sergio


wrote:

Subito dopo l'invio, mi sono accorto in effetti di aver pasticciato
col copia-incolla nel post. :)
L'errore si presenta comunque...(Fonte dati non valida)
Ciao
@Pino 

 ha scritto nel messaggio
news:vphklukmq2kt99pll...@4ax.com...

Mi arrendo: se non c'è qualcosa di strano nella parte di codice che hai
taglincollato, insomma che non hai spedito, non ravviso errori.
Salutoni
Sergio

 ha scritto nel messaggio
news:vphklukmq2kt99pll...@4ax.com...

Correggo il post di prima, e sottopongo un'altra perplessitą:
quando uso un datareport, il codice che hai scritto tu lo metto nell'evento
initialize del datareport, non nell'activate...
Potrebbe essere questo il problema?


Ed in effetti era questo! Avevo letto in qualche vecchio post che era
preferibile l'activate, ma tant'è. 
Grazie.
Già che ci sono chiedo ancora una cosa:
Nella Form dalla quale lancio il report ho il pulsante a cui associo
semplicemente:
Private Sub CmdReport_Click()
DataReport1.Show ****
Me.Hide
End Sub
Il report viene lanciato correttamente ma poi mi dà Errore 91
Variabile oggetto.....non impostata (al punto contrassegnato)
Risolvo aggiungendo On Error Resume Next, ma vorrei capire qual'è la
sintassi corretta. 
Ciao
@Pino

 @Pino
Così a occhio il problema non dovrebbe essere in questa parte di codice, ma
in quello che viene eseguito all'interno del datareport.
Salutoni
Sergio


wrote:

O forse potrebbe dipendere da tante altre cose. Non sono ancora
avvezzo a queste sottigliezze! Sono questi, credo, i classici casi in
cui è obbligatoria la gestione dell'errore. Non per nulla Access la
scrive di default nelle autocomposizioni.
Grazie per l'aiuto e per l'attenzione.
@Pino

 @Pino
Mi permetto una piccola considerazione filosofica: è un gran brutto
impostare una gestione dell'errore quando non so quale errore potrebbe
accadere....
Se puoi cerca comunque di tenere traccia in qualche modo degli errori che si
verificano: fosse mai che in un futuro tu possa scoprire che un
fastidiosissimo comportamento dell'applicazione è dovuto ad un errore che tu
hai deciso di ignorare.
Salutoni.
Sergio