Newsgroup: it.comp.lang.visual-basic
Titolo: Comando SHAPE

Ciao a tutti,
vorrei chiedervi spiegazione su questo comando, perchč, consultando le
pagine Microsoft per la creazione di un DataReport senza DataEnvironment,
reperibile alla pagina
http://support.microsoft.com/default.aspx?scid=kb;en-us;289793#appliesto
mi riporta come metodo di lettura del Command secondario questo comando.
Tengo a precisare che ho seguito esattamente le indicazioni riportate,
cambiando ovviamente solo l'ubicazione del DB da utilizzare oviamente
diversa.
Mi segnala il seguente errore su SHAPE:
Errore di run-time '-
2147217900
(80040e14)'
Errore di sintassi in prossimita della posizione 14 del testo del comando
Data Shape. Il testo inprossimita dell'errore č :
"shape (select lastname, firstname, city".
Invece se rimuovo il comando SHAPe e uso la select normalmente, l'errore si
sposta sull'ultima riga del testo. e cioe'
set rs1 = rs(0).value
chi mi puo' dare un aiuto?
Grazie
Emanuele

 ha scritto nel messaggio
news:fgXDc.24341$c_1.7...@twister1.libero.it...


[cut]
crea un progetto exe standard
inserisci un bottone nel form
inserisci un data report eliminando due sezioni (intestazione e piede
report)
aggiungi la sezione intestazione e piede gruppo
aggingi una rptņabeņ e una rptTextBox nella sezione intestazione gruppo
e due rptlabel e due rptTextBox nel dettaglio
coipia e incolla il codice sottostante cambiando il riferimento al database
(sicuramente la tua dir del database di microsoft cambia)
fai girare e dimmi se funziona
ps: ho semplicemente fatto copia e incolal dalla pagina indicata nel post
originale.
ciao e grazie
Emanuele
Dim cn As New ADODB.Connection
      Dim rs As New ADODB.Recordset
      Dim cmd As New ADODB.Command
      Dim rs1 As New ADODB.Recordset
      Private Sub Command1_Click()
      Dim q As Integer
      Dim intCtrl As Integer
      Dim x As Integer
      Dim z As Integer
      x = 0
      q = 0
      z = 0
      With DataReport1
      .Hide
      Set .DataSource = rs
      .DataMember = ""
      With .Sections("section4").Controls
      For intCtrl = 1 To .Count
      If TypeOf .Item(intCtrl) Is RptLabel Then
         .Item(intCtrl).Caption = "City" & " :"
          q = q + 1
      End If
      If TypeOf .Item(intCtrl) Is RptTextBox Then
        .Item(intCtrl).DataMember = ""
        .Item(intCtrl).DataField = "City"
      End If
      Next
      End With
      q = 0
      With .Sections("Section1").Controls
          For intCtrl = 1 To .Count
          If TypeOf .Item(intCtrl) Is RptLabel Then
                   .Item(intCtrl).Caption = rs1.Fields(q).Name & " :"
                    q = q + 1
          End If
          If TypeOf .Item(intCtrl) Is RptTextBox Then
                   .Item(intCtrl).DataMember = "Command1"
                   .Item(intCtrl).DataField = rs1(z).Name
                   z = z + 1
          End If
      Next intCtrl
      End With
      .Refresh
      .Show
      End With
      End Sub
      Private Sub Form_Load()
      Command1.Caption = "Show Report"
      cn.Open "Provider=MSDATASHAPE; Data Provider=Microsoft.JET.OLEDB.4.0;"
& _
               "Data Source=D:\Program Files\Microsoft Visual
Studio\VB98\Nwind.mdb;"
      With cmd
           .ActiveConnection = cn
           .CommandType = adCmdText
           .CommandText = " SHAPE {SELECT FirstName,Lastname,City FROM
`Employees`}  AS Command1 COMPUTE Command1 BY 'City'"
           .Execute
      End With
      With rs
           .ActiveConnection = cn
           .CursorLocation = adUseClient
           .Open cmd
      End With
      Set rs1 = rs(0).Value
      End Sub