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

    [vb6] Scorrere tabelle di un db

    [VB]Scorrere tabelle di un db
    Mi sono imbattutto in un problema che ha abbassato di molto l'autostima che avevo nella mia capacità di sviluppatore Visual basic.

    Ho un db e devo scorrere i nomi delle tabelle in esso contenuto.

    MI sono impantanato.
    Come si fa'?
    Pensavo di fare un ciclo del for ma ....non mi funzia.
    Una cosa del genere:

    Dim tabelladb As DAO.TableDef
    Set db = OpenDatabase(Form1.Data1.DatabaseName)

    For Each tabelladb In db
    Next

    Grazie



    __________________
    W I N D C A M
    http://www.windcam.it

  2. #2
    Ciao !
    Con DAO non saprei, con ADO neanche... con RDO è molto semplice:
    codice:
     Dim Conn As RDO.rdoConnection
     Dim tbl As RDO.rdoTable
    
     Set Conn rdoEngine(0).OpenConnection(nome_DSN)  ' connessione...
     If Conn.rdoTables.Count = 0 Then Exit Sub   ' un controllino !
      
      For Each tbl In Conn.rdoTables
        MsgBox "trovata tabella: " & tbl.Name
      Next
    Dopo di chè, ogni oggetto rdoTable ha una collection rdoColumns di oggetti rdoColumn che rappresentano le colonne. Da questi oggetti puoi anche determinare gli attributi dei campi (nome, dimensioni, richiesto, consente lungh.zero, tipo di dato...)

    Spero di esserti stato utile
    Ciao
    Simo

  3. #3

  4. #4
    Beh, in VB.Net direi che si privilegi ADO... RDO non so.
    Comunque con VB6 puoi impostare un riferimento a 'Microsoft Remote Data Objects 2.0'. RDO !

  5. #5
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Ciao, consiglio spassionato, passa ad ADO! tutto il resto è vecchio!!
    a parte questo, con DAO (Attenzione, ti tira fuori anche le tabelle di sistema..eventualmente devi fare un controllo..):
    codice:
    For Each dbCiclo In db.TableDefs
       List1.AddItem dbCiclo.Name
    Next
    con ADO:
    codice:
    Dim rsScm As New ADODB.Recordset
    Set rsScm = conn.OpenSchema(adSchemaTables, Array(Empty, Empty, Empty, "table"))
    Do Until rsScm.EOF
       List1.AddItem rsScm!table_name
       rsScm.MoveNext
    Loop
    conn è l'oggetto ADODB.Connection istanziato con i valori che interessano a te...
    Jupy

  6. #6
    Grazie , in effetti utilizzo ADO (usare il componente DATA vuol dire questo giusto?).

    OK provo ad inserire la routine che mi hai passato.
    GRassie

  7. #7
    no ho detto una cavolata , ho visto che non uso ADO.
    Uso dao.
    Azz riconvertire tutto?

  8. #8

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 © 2025 vBulletin Solutions, Inc. All rights reserved.