+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Esportare query complessa in excel

  1. #1
    Silverfox63 non  in linea Novello
    Problemuzzo per chi pi pratico


    in VB6 ho un archivio con pi tabelle.

    da access ho creato la query e me la mostra perfettamente.

    ora mi serve poter esportare dal programma in VB6 questa query su un foglio di excel.

    ho prvato le varie funzioni trovate in giro nei vari post ma non funzionano nel mio caso perch usano solo una tabella.

    Ho pensato di creare una tabella virtuale per metterci dentro il risultato della query e poi esportarlo con gli esempi trovati in giro ....... ma non riesco in nessun modo a farlo.

    Qualcuno sa dirmi come posso risolvere ??

    Grazie

  2. #2
    L'avatar di TheTruster
    TheTruster ora  in linea Moderatore Globale Ultimo blog: Mouse Wheel in Visual Basic 6 - ActiveX
    Quote Originariamente inviato da Silverfox63 Visualizza il messaggio
    in VB6 ho un archivio con pi tabelle.
    In vb6 puoi avere un programma... non un archivio. Cosa intendi?

    Quote Originariamente inviato da Silverfox63 Visualizza il messaggio
    da access ho creato la query e me la mostra perfettamente.
    ora mi serve poter esportare dal programma in VB6 questa query su un foglio di excel.
    Esportare la Query?! forse intendi il contenuto del recordset risultante?

    Quote Originariamente inviato da Silverfox63 Visualizza il messaggio
    ho prvato le varie funzioni trovate in giro nei vari post ma non funzionano nel mio caso perch usano solo una tabella.
    non sarebbe stato male farci sapere quali.

    Quote Originariamente inviato da Silverfox63 Visualizza il messaggio
    Ho pensato di creare una tabella virtuale per metterci dentro il risultato della query e poi esportarlo con gli esempi trovati in giro ....... ma non riesco in nessun modo a farlo.
    Se la query ti restituisce un recordset non capisco perch ti serva una "tabella virtuale".

    Quote Originariamente inviato da Silverfox63 Visualizza il messaggio
    Qualcuno sa dirmi come posso risolvere ??
    Ci possiamo provare... ma devi chiarire la tua richiesta.

    TheTruster

    P.S.: Benvenuto su MasterDrive.
    ℹ️ Leggi di pi su TheTruster ...

  3. Quote Originariamente inviato da Silverfox63 Visualizza il messaggio
    Problemuzzo per chi pi pratico


    in VB6 ho un archivio con pi tabelle.

    da access ho creato la query e me la mostra perfettamente.

    ora mi serve poter esportare dal programma in VB6 questa query su un foglio di excel.

    ho prvato le varie funzioni trovate in giro nei vari post ma non funzionano nel mio caso perch usano solo una tabella.

    Ho pensato di creare una tabella virtuale per metterci dentro il risultato della query e poi esportarlo con gli esempi trovati in giro ....... ma non riesco in nessun modo a farlo.

    Qualcuno sa dirmi come posso risolvere ??

    Grazie
    in effetti non che sia chiarissimo; comunque potresti provare cos

    SELECT * INTO [Excel 8.0;Database=c:\temp\filexls.xls].[sheet1]
    FROM 
    (
      SELECT * from  T1
    ) as Q1
    
    dove al posto di "SELECT * from T1" metti la tua query

    EDIT :
    ...ovviamnente puoi scriverla anche come segue evitando la subquery:

    SELECT * INTO [Excel 8.0;Database=c:\temp\filexls.xls].[sheet1] FROM T1



    HTH
    Ultima modifica di sspintux; 01-10-2008 11:49 
    ℹ️ Leggi di pi su sspintux ...

  4. #4
    Silverfox63 non  in linea Novello
    Allora mi spiego ne programma ho anche un archivio MDB creato con Access.

    Fin qu tutto normale

    la query la seguente

    #
    qysq1 = "SELECT tab_Squadre.Provincia, tab_Squadre.id_Squadra, tab_Squadre.Squadra, Count(tab_Movimenti.Squadra) AS ConteggioDiSquadra"

    qysq2 = " FROM tab_Squadre RIGHT JOIN tab_Movimenti ON tab_Squadre.id_Squadra = tab_Movimenti.Squadra"
    qysq3 = " GROUP BY tab_Squadre.Provincia, tab_Squadre.id_Squadra, tab_Squadre.Squadra"
    qysq4 = " ORDER BY tab_Squadre.Provincia;"

    qysq = qysq1 + qysq2 + qysq3 + qysq4
    #






    Ho provato ad inserire questo list trovato in giro

    #
    Dim cn As New ADODB.Connection
    cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data
    Source=C:\Dati\NomeDb.Mdb;"
    cn.Open

    cn.Execute "SELECT * " & _
    "INTO [Excel 8.0;Database=C:\Dati\NomeFileExcel.xls;].[Foglio1] " & _
    "FROM NomeTabella "

    cn.Close
    Set cn = Nothing
    ----
    #

    ma non v mi d sempre errore

  5. #5
    L'avatar di TheTruster
    TheTruster ora  in linea Moderatore Globale Ultimo blog: Mouse Wheel in Visual Basic 6 - ActiveX
    Quote Originariamente inviato da Silverfox63 Visualizza il messaggio
    ma non v mi d sempre errore
    "non v" non indicativo. Quale errore (numero e descrizione) e in che riga si presenta?

    TheTruster
    ℹ️ Leggi di pi su TheTruster ...

  6. #6
    L'avatar di gibra
    gibra non  in linea Very Important Person
    Quote Originariamente inviato da Silverfox63 Visualizza il messaggio
    Allora mi spiego
    Vediamo...

    Quote Originariamente inviato da Silverfox63 Visualizza il messaggio
    #
    qysq1 = "SELECT tab_Squadre.Provincia, tab_Squadre.id_Squadra, tab_Squadre.Squadra, Count(tab_Movimenti.Squadra) AS ConteggioDiSquadra"

    qysq2 = " FROM tab_Squadre RIGHT JOIN tab_Movimenti ON tab_Squadre.id_Squadra = tab_Movimenti.Squadra"
    qysq3 = " GROUP BY tab_Squadre.Provincia, tab_Squadre.id_Squadra, tab_Squadre.Squadra"
    qysq4 = " ORDER BY tab_Squadre.Provincia;"

    qysq = qysq1 + qysq2 + qysq3 + qysq4
    #
    Che da sola non fa niente, perch :
    qysq = qysq1 + qysq2 + qysq3 + qysq4
    solo una stringa di comandi SQL



    Quote Originariamente inviato da Silverfox63 Visualizza il messaggio
    Ho provato ad inserire questo list trovato in giro

    #
    Dim cn As New ADODB.Connection
    cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data
    Source=C:\Dati\NomeDb.Mdb;"
    cn.Open

    cn.Execute "SELECT * " & _
    "INTO [Excel 8.0;Database=C:\Dati\NomeFileExcel.xls;].[Foglio1] " & _
    "FROM NomeTabella "

    cn.Close
    Set cn = Nothing
    ----
    #

    ma non v mi d sempre errore
    Prima di tutto:
    1) che errore ti da?
    2) su quale riga ti da l'errore?
    3) Ovvio che non va! Mostra il codice completo (cos com' non dice proprio niente).
    Dove sta la relazione tra la tua stringa SQL (qysq) ed il metodo Execute ?
    Io no vedo niente.
    A cosa corrisponde NomeTabella ?

    Ciao

    P.S. Prima di inviare un post, rileggilo mettendoti nei panni di chi non sa niente del tuo progetto. Quindiu domandati: "Chi legge, capir quello che voglio dire?"
    ℹ️ Leggi di pi su gibra ...

  7. #7
    Silverfox63 non  in linea Novello
    Ok

    qysq1 = "SELECT tab_Squadre.Provincia, tab_Squadre.id_Squadra, tab_Squadre.Squadra, Count(tab_Movimenti.Squadra) AS ConteggioDiSquadra"
         qysq2 = " FROM tab_Squadre RIGHT JOIN tab_Movimenti ON tab_Squadre.id_Squadra = tab_Movimenti.Squadra"
        qysq3 = " GROUP BY tab_Squadre.Provincia, tab_Squadre.id_Squadra, tab_Squadre.Squadra"
        qysq4 = " ORDER BY tab_Squadre.Provincia;"
          
        qysq = qysq1 + qysq2 + qysq3 + qysq4
    
    
    e questa  la query
    
    mentre x creare il file excel dal risultato della query


    Dim strSQL As String
    Dim cn As ADODB.Connection
    Set cn = New ADODB.Connection
    cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.\DB\archivio.mdb;Persist Security Info=False"
    cn.Open
    
    strSQL = "SELECT * INTO [Excel 8.0;Database=.\exceldoc\prova.xls].[Foglio1] FROM" + qysq
    
    cn.Execute strSQL
    
    cn.Close
    

    l'errore che mi d nella riga rossa

    ' L'imput x la query deve contenere almeno una tabella o una query


    spero di essere stato pi chiaro

  8. #8
    L'avatar di TheTruster
    TheTruster ora  in linea Moderatore Globale Ultimo blog: Mouse Wheel in Visual Basic 6 - ActiveX
    prova a modificare questa riga cos:

    strSQL = "SELECT * INTO [Excel 8.0;Database=.\exceldoc\prova.xls].[Foglio1] FROM (" & qysq & ")"
    
    un consiglio... per concatenare le stringhe, usa l'operatore di concatenamento & anzich il +

    TheTruster
    Ultima modifica di TheTruster; 01-10-2008 17:17 
    ℹ️ Leggi di pi su TheTruster ...

  9. #9
    Silverfox63 non  in linea Novello
    Nulla ma in compenso cambiato l'errore

    adesso mi d sempre nella riga

    cn.Execute strSQL

    errore di sintassi nella proposizione Form


  10. #10
    L'avatar di gibra
    gibra non  in linea Very Important Person
    Quote Originariamente inviato da Silverfox63 Visualizza il messaggio
    Ok

     
    strSQL = "SELECT * INTO [Excel 8.0;Database=.\exceldoc\prova.xls].[Foglio1] FROM" + qysq
    

    l'errore che mi d nella riga rossa

    ' L'imput x la query deve contenere almeno una tabella o una query


    spero di essere stato pi chiaro
    Adesso s.
    Mi sembra che l'errore sia qui: FROM" + qysq

    Verifica cosa contiene la stringa strSQL prima di eseguirla.
    Se quello che hai scritto vero, quella parte diventerebbe cos:

    FROMSELECT

    Ciao
    ℹ️ Leggi di pi su gibra ...

+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo

Potrebbero interessarti anche ...

  1. esportare pi query in un file excel
    Da salto quantico nel forum Microsoft Access
    Risposte: 9
    Ultimo Post: 19-06-2020, 00:29
  2. Esportare query vba o recordset in excel
    Da maxs84 nel forum Microsoft Access
    Risposte: 5
    Ultimo Post: 03-02-2017, 13:23
  3. Esportare una query in excel
    Da Carmen nel forum ASP 3, ASP .Net
    Risposte: 0
    Ultimo Post: 16-09-2008, 10:24
  4. [ACCESS] Esportare una Query in un Excel esistente
    Da skigno nel forum Microsoft Access
    Risposte: 13
    Ultimo Post: 20-02-2008, 11:40
  5. Esportare risultati di una query in excel
    Da queen_live78 nel forum Visual Basic 6
    Risposte: 2
    Ultimo Post: 05-10-2005, 17:03