Newsgroup: it.comp.lang.visual-basic
Titolo: datacontrol con parametri

vorrei un piccolo esempio di come passare ad un datacontrol
un recordset che viene creato da una query con parametri
la guida in linea non è molto chiara a riguardo. dice di creare un recordset
passando da li i parametri al querydef e poi assegnare il recordset al
datacontrol
ma è proprio questo il problema... come lo passo?
ho provato a fare:
data.recordset=rst  . niente da fare
set data.recordset=rst . niente da fare
Come si fa?????

 wrote in message
82mpse$ch8$1...@nslave2.tin.it...


prova con :
Data.recordsource = miaquery
Data.refresh
Ciao Stefano

 wrote in message
bhJ34.1479$Bg7....@typhoon.libero.it...


 wrote in message


 wrote in message
7kI44.17254$Bg7.1...@typhoon.libero.it...


 wrote


 procedura ?
Allora... la query con parametri è memorizzata nel db.
Creo due oggetti: uno querydef e uno recordset.
Passo i parametri come al solito... e il recordset viene popolato
correttamente.
Le prove che faccio è inutile che le posti in quanto sono le solite...
ovvero provo a stmpare:
numero di record nel recordser, i campi, ecc. Sono sicuro che il recordset
sia popolato in quanto riesco a fare tutto quello che ho scritto sopra e
altro (rst.movenext, movelast ecc.)
Il fatto è che il datacontrol (probabilmente) cerca di ricreare il
recordset.
Se non sono stato chiaro... posto il codice... e poi vediamo. Ciao.

 Il fatto č che il datacontrol (probabilmente) cerca di ricreare il


Sono sempre indietro di un bel po' nel leggere i messaggi del NG.
Ma a questo sono particolarmente interessato, in quanto mi sono ritrovato
nella (quasi) stessa situazione.
L'errore mi viene segnalato non quando associo il recordset, ma
successivamente, quando passo il recordset al controllo data che alimenta la
dbGrid, ma comunque DOPO IL REFRESH.
Ho risolto cosi' e, per ora, non da problemi; ma se ci fosse una vera
soluzione, sarei lieto di conoscerla.
Le dichiarazioni sono: qdCur as querydef, rsQry as recordset
'qui ho gia puntato qdCur e assegnato i valori dei parametri(li trovo col
count e li assegno per ordinale da 0 a count - 1)
' quindi in teoria, dovrebbero esserci tutti, il controllo dell'inserimento
di tutti i parametri lo faccio da codice prima di arrivare qui.
On Error Resume Next
  Set rsQry = qdCur.OpenRecordset(dbOpenDynaset)
  If Err <> 0 Then
    If Err.Number = 3464 Then
      sx = "Il tipo di dati inserito non corrisponde a quello richiesto"
    Else
      sx = Err.Description
    End If
    Me.MousePointer = 0
    MsgBox sx
    Exit Sub
  End If
  byset = 2
  On Error GoTo 0
  If rsQry.BOF And rsQry.EOF Then
    MsgBox "Query vuota"
    rsQry.Close
    byset = 1
    btXcl.Enabled = False
    btReport.Enabled = False
  Else
    btXcl.Enabled = True
    btReport.Enabled = True
    On Error Resume Next
    Set Data1.Recordset = rsQry
    Data1.Refresh         'devo aggiornare per forza la dbgrid
    If Err <> 0 Then
      If Err.Number <> 3061 Then ' QUESTO E' IL PUNTO DOVE IGNORO L'ERRORE
        MsgBox Err.Description
        For Each errDB In DBEngine.Errors
          sx = errDB.Description & NL
        Next
        MsgBox sx
        bUnload = True
      End If
    End If
  End If