Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    recordset shape

    vi espongo un prolema (almeno per me);
    volevo realizzare la stampa di una fattura utilizzando
    il DataReport di vb6 creando dinamicamente la sorgente
    dei dati tramite l' istruzione shape, in particolare
    utilizzo il seguente codice

    rs.CursorLocation = adUseNone
    rs.CursorType = adOpenStatic
    rs.Source = "SHAPE {SELECT * FROM Tab1} " & _
    "APPEND ({SELECT * FROM Tab2} " & _
    "RELATE Id1 to Id2) as TabDati"
    rs.Open , cn
    Set Fattura.DataSource = rs

    all' esecuzione della Open mi da' il seguente errore:
    Istruzione Sql non valida: Prevista "Delete","Insert", ....

    in cosa sbaglio? serve qualche riferimento? o qualche
    componente aggiuntivo?

    grazie per l' attenzione che vorrete dedicarmi

  2. #2
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Io lascierei perdere lo SHAPE...

    Fai un JOIN tra le due tabelle, è la stessa cosa ed è più efficiente.

    Non si fa ma "SELECT *" che è poco efficiente, pesante ed inutile
    (perchè usare un camion per consegnare una pizza? basta lo scooter!)
    , é sempre preferibile includere solo i campi che davvero servono, es.:

    codice:
    SELECT Clienti.Cliente, Clienti.Indirizzo, .... , Fatture.Numero, Fatture.Data, ....
    FROM Clienti INNER JOIN Fatture
    ON Clienti.IDCliente = Fatture.IDCliente
    WHERE Fatture.IDFattura = 3
    Apri un recordset e lo passi al DataReport.

  3. #3
    grazie gibra
    risolto con il join come mi hai consigliato

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.