Newsgroup: it.comp.lang.visual-basic
Titolo: VB & excel ?

Scusate, qualcuno mi puň aiutare?
Premesso che č da poco che utilizzo vb, ho utilizzato il seguenete
codice per importarmi dei dati da AS400 a excel,
ma non riesco a capire come devo fare per escludere
dall'importazione dei dati l'intestazione dei campi.
 
Sub EstraiDati(ByVal strsql As String, ByVal strwbk As String)
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim xlApp As Excel.Application
Dim xlQT As Excel.QueryTable
Dim xlWS As Excel.Worksheet
Set conn = New ADODB.Connection
conn.Open "DSN=QDSNAS400;DATABASE=AS400.LIBRERIA", "UTENTE",
"PASSWORD"
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open strsql, conn, adOpenStatic, adLockReadOnly
Set xlApp = New Excel.Application
With xlApp
    .Visible = True
    .Workbooks.Open Filename:=strwbk
    Set xlWS = .Sheets(1)
    Set xlQT = xlWS.QueryTables.Add(rs, .Range("A1"))
End With
xlQT.Name = "DB"
xlQT.Refresh
xlApp.Workbooks(1).Save
xlApp.Workbooks.Close
xlApp.Quit
rs.Close
conn.Close
Set rs = Nothing
Set conn = Nothing
Set xlQT = Nothing
Set xlWS = Nothing
Set xlApp = Nothing
End Sub
Cercando su internet ho trovato l'opzione HDR=NO (OLE DB provider) e
l'opzione FirstRowNames=0 (OLE DB Provider for ODBC Drivers):
quest'ultima dovrebbe essere quella che mi interessa, ma non ho capito
dove devo inserirla...
Grazie e ciao.

 dall'importazione dei dati l'intestazione dei campi.
Senti, Andrea...
E' tantissimo che vai avanti con questa storia.
Non ci credo che tu non abbia ancora trovato una soluzione, anche perchè
ogni volta posti sempre le stesse cose, senza mai fare un passo avanti.
La mia impressione è che tu stia cercando che qualcuno ti prepari il codice
pari pari.
Ad esempio, guarda come, in non più di 30 secondi, è possibile risolvere il
problema.
Vuoi che le intestazioni di colonna non siano presenti?
Bene, allora dopo che hai importato tutto il file, intestazioni comprese,
basta cancellare la prima riga.
Come?
Beh, che cavolo, se vuoi interagire con Excel il registratore di macro lo
saprai usare, no?
E allora, registri la tua macro, e poi fai un copia incolla in VB.
Et voilà.
Però, per favore, cerca di metterci un po' di tuo nelle cose...
Ciao
Alberto

...

Grazie, ma a questa soluzione ci avevo già pensato (per chi mi hai
preso???).
Capisco che i miei post sono poco interessanti (ripeto è da poco che
mi sono avvicinato a VB), ma volevo solo capire come usare l'opzione
HDR = NO (è chiaro che ho provato ad usarla, ma evidentemente qualcosa
non ha funzionato...)
Comunque sta sicuro che la prossima volta, prima di postare qualcosa
ci penso due volte (visto i risultati...).
Bye bye

 ci penso due volte (visto i risultati...).
Sempre meglio che postare due volte senza pensare.
Ciao
Alberto

> preso???).
Riprendiamo il discorso.
Proprio adesso, senza scrivere una riga di codice in VB, ho acceso il
registratore di macro, e ho importato in excel una tabella di Access, una
tabella di sql-Server e una tabella di MySql.
Non ho a disposizione un as/400 in ufficio, ma non mancherò.
Comunque, in tutti e tre i casi c'era la spunta 'Includi Nomi dei campi',
che ho tolto, e, magia, le intestazioni non sono state importate.
Quindi, non mi venire a dire che in 7 giorni che posti la stessa identica
roba, non sei avanzato di una virgola.
La verità è che tu hai buttato lì il post, e avevi tutte le intenzioni di
ripeterlo finchè qualcuno non ti avesse dato la soluzione, e tu nel
frattempo ti facevi i fatti tuoi (non voglio neppure lontanamente pensare
che in 7 giorni tu non sia riuscito ad accendere un registratore di macro e
fare quattro click in sequenza).
Ma la cosa più interessante è che ho risolto tutto senza scrivere una riga
di Vb, e trovandomi il codice bello e pronto da copiaincollare nel mio
software.
Quindi, una operazione alla portata di qualunque newbie di VB.
Purchè, ovviamente, abbia voglia di imparare.
Ciao
Alberto

 Alberto
Avevo provato a fare anche questo:
da excel ho avviato il registratore di macro, ho importato la tabella
da AS400 (utilizzando un componente aggiuntivo "trasferimento dati
Client Access"), ho tolto la spunta su "Includi Nomi dei campi" e
voilà
i dati gli ho importati senza l'intestazione della colonna, ma nella
macro mi sono trovato questo:
Sub Macro1()
'
' Macro1 Macro
' Macro registrata il 02/09/2003 da xxxxx xxxxx
'
'
End Sub
cioè NIENTE
Comunque io volevo capire come importare i dati senza l'intestazione
dei campi, utilizzando una connessione ADO su AS400.
E' vero che ho copiato il codice da un sito ( l'ho scritto, più chiaro
di così… ), ma l'ho fatto perché nel primo post mi avete accusato
(giustamente) di essere poco preciso …
Per quanto riguarda  i tentativi che ho fatto con l'opzione HDR=NO,
avevo aggiunto in coda all'apertura della connessione:
"Extended Properties=\"\"Excel 8.0;HDR=NO;\"
Il risultato è stato che la procedura non mi ha segnalato NESSUN tipo
di errore, ma il foglio excel continuava ad avere le intestazioni
delle colonne.
Comunque lascia perdere, credo di avere capito dove ho sbagliato.
Appena posso farò una prova…
P.S. sto facendo un programma per uso personale (tanto per iniziare ad
usare VB), quindi non avrebbe molto senso se mi limitassi a copiare di
qua e di là senza cercare di capire cosa sto facendo.
Ciao.