Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Popolare una Combo col testo di una colonna Excel
Forum - Visual Basic 6 - Popolare una Combo col testo di una colonna Excel

Avatar
dylan666 (Normal User)
Pro


Messaggi: 129
Iscritto: 08/09/2009

Segnala al moderatore
Postato alle 12:57
Giovedì, 24/09/2009
Avrei bisogno, come da titolo, di popolare gli Item di una Combo con gli elementi di una colonna di un file excel, mettiamo caso la colonna A di elenco.xls

Chi mi aiuta? Siate chiare e usate un codice semplice per favore, perché sono propri agli inzi :)

Grazie in anticipo

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 13:32
Giovedì, 24/09/2009
Leggi questo

http://support.microsoft.com/kb/257819

e provaci ...

PM Quote
Avatar
dylan666 (Normal User)
Pro


Messaggi: 129
Iscritto: 08/09/2009

Segnala al moderatore
Postato alle 14:49
Giovedì, 24/09/2009
Prima prova

Codice sorgente - presumibilmente VB.NET

  1. Private Sub Form_Load()
  2. Dim cn As ADODB.Connection
  3. Set cn = New ADODB.Connection
  4. With cn
  5.     .Provider = "Microsoft.Jet.OLEDB.4.0"
  6.     .ConnectionString = "Data Source=C:\MyFolder\MyWorkbook.xls;" & _
  7. "Extended Properties=Excel 8.0;"
  8.     .Open
  9. End With
  10. End Sub




Errore, il "Dim cn As ADODB.Connection" è uno user-defined type non definito.
Dove sbaglio?


PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 15:51
Giovedì, 24/09/2009
ADODB e' una libreria. Per utilizzarla devi aggiungere un

Riferimento

tramite menu apposito, alla libreria Microsoft ADO

PM Quote
Avatar
dylan666 (Normal User)
Pro


Messaggi: 129
Iscritto: 08/09/2009

Segnala al moderatore
Postato alle 19:00
Sabato, 26/09/2009
Intendi il "Microsoft ActiveX Data Objects 2.8 Library" dico bene?
Ok, adesso quello funziona.

Ci sono altri link di esempo per me che devo imprare?
Perché non mi è chiarissima la selezione degli elementi di una colonna

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 19:02
Sabato, 26/09/2009
Beh, piu' che altro dovresti aprire un bel libro sulla programmazione DB e studiarlo per qualche mese.

Purtroppo un forum non sostituisce lo studio di base ...

PM Quote
Avatar
dylan666 (Normal User)
Pro


Messaggi: 129
Iscritto: 08/09/2009

Segnala al moderatore
Postato alle 17:47
Domenica, 27/09/2009
Risolto grazie al suggerimento ricevuto su un altro forum:

Codice sorgente - presumibilmente VB.NET

  1. Option Explicit 'Forces you to declare all your variables
  2. Dim cn As ADODB.Connection
  3. Dim rc As ADODB.Recordset
  4. Dim strSQL As String
  5. Private Sub Form_Load()
  6.     Set cn = New ADODB.Connection
  7.     Set rc = New ADODB.Recordset
  8.     With cn
  9.         .Provider = "Microsoft.Jet.OLEDB.4.0"
  10.         .ConnectionString = "Data Source=C:\test\test.xls;" & _
  11.     "Extended Properties=Excel 8.0;"
  12.         .Open
  13.     End With
  14.    
  15.     'Compose your SQL string
  16.     strSQL = "SELECT * FROM [Foglio$]" 'This is... if you don't rename your sheets
  17.     rc.Open strSQL, cn, adOpenForwardOnly, adLockReadOnly, 1
  18.    
  19.     Dim i As Integer
  20.     Dim cnt As Integer
  21.     cnt = rc.RecordCount
  22.    
  23.     i = 0
  24.     Do While rc.EOF = False
  25.         Combo1.AddItem (rc(0).Value)
  26.         Combo1.ItemData(Combo1.NewIndex) = i
  27.         i = i + 1
  28.         rc.MoveNext
  29.     Loop
  30.  
  31.     rc.Close
  32.     cn.Close
  33.     Set rc = Nothing
  34.     Set cn = Nothing
  35. End Sub


Ultima modifica effettuata da dylan666 il 27/09/2009 alle 21:02
PM Quote