Vorrei utilizzare il DR senza DataEnvironment.
Nelle prove che sto eseguendo ho inserito nel DR una Lbl nella quale dovrebbero inserirsi i dati salvati nei records di un DB Access, come segue:
codice:
Private Sub Command4_Click()
Dim OggSR As New ADODB.Command
Dim ConRx2 As New ADODB.Connection
Dim RSTrx2 As New ADODB.Recordset
Dim i As Long
'Esegue la connessione con il DataBase TblComputo1RPT:
With ConRx2
.ConnectionString = DataConnessione
.CursorLocation = adUseClient 'tipo di cursore
.Mode = adModeShareDenyNone 'nessuna limitazione
.CommandTimeout = 15
.Open
End With
'Salva nella Tbl i dati dei controlli RTB:
OggSR.ActiveConnection = ConRx2
OggSR.CommandType = adCmdText
'Prima di salvare Elimina i vecchi records dalla tabella - TblComputo1RPT:
OggSR.CommandText = "Delete * From TblComputo1RPT"
OggSR.Execute
'Inserisce i dati dei controlli RTB nel DB TblComputo1RPT:
For i = Form1.RTB.LBound To Form1.RTB.UBound Step 1
If Form1.RTB(i).Text <> "" Then
OggSR.CommandText = "insert into TblComputo1RPT(Descriz)" _
& "values ('" & Replace(Form1.RTB(i).Text, "'", "''") & "');"
OggSR.Execute
End If
Next i
'-------------------------------------
' Visualizza nel DataReport per la stampa:
RSTrx2.Source = "SELECT Descriz FROM TblComputo1RPT"
RSTrx2.Open , ConRx2, adOpenDynamic, adLockOptimistic
' Assegna il riferimento all'oggetto:
Set DataReport2.DataSource = RSTrx2
DataReport2.Sections("Section1").Controls("Label1").Caption = RSTrx2("Descriz")
'Visualizza il Report per la stampa:
DataReport2.Refresh
DataReport2.Show
'Rilascia l'oggetto:
Set DataReport2.DataSource = Nothing
'Chiude e cancella il recordSet:
RSTrx2.Close
Set RSTrx2 = Nothing
'Chiude e cancella la connessione:
ConRx2.Close
Set ConRx2 = Nothing
End Sub
Ora se nella Tabella del DB TblComputo1RPT è salvato un solo record questo viene visualizzato normalmente, ma se i records sono due, o più, viene visualizzato solo e soltanto il primo record ripetuto due, o più, volte.
E' evidente che manca un'ulteriore informazione nel codice postato, ma non sono riuscito ad individuarla (nonostante molteplici prove).
Grazie per l'aiuto.