Ottenere un elenco di tabelle dal database di Access<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao,
Sto cercando di creare una userform nell'application builder, utilizzando funzionalità native e, perché no, JSL. Ho le idee e ora devo andare avanti...
In primo luogo, qualcuno sa come posso ottenere un elenco di tutte le tabelle nel mio database di Access? Ovviamente quell'elenco sarebbe sul modulo utente.
Grazie per il tuo supporto, sto iniziando a manipolare JMP 11.
Ri: Ottenere un elenco di tabelle dal database di Access- Crea un modulo in accesso e incolla questo codice.
- Esegui nella finestra di debug
- Copia l'elenco delle tabelle generate nella finestra immediata.
Public Sub List_fields_in_tables()
Dim tdf As DAO.TableDef
Dim fld As DAO.Field
For Each tdf In CurrentDb.TableDefs
If Left(tdf.Name, 4) <> "MSys" Then
Debug.Print
Debug.Print
Debug.Print tdf.Name
Debug.Print "----------------------------------------"
For Each fld In tdf.Fields
Debug.Print fld.Name & Space(20 - Len(fld.Name)) & fld.Size & Space(10 - Len(Str(fld.Size))) & FDataType(fld.Type)
Next fld
End If
Next tdf
End Sub
Private Function FDataType(intType As Integer) As String
Dim RetString As String
Select Case intType
Case 1
RetString = "Boolean"
Case 8
RetString = "Date"
Case 3
RetString = "Integer"
Case 7
RetString = "Double"
Case 10
RetString = "String"
Case 4
RetString = "Long Integer"
Case Else
RetString = "Unknown"
End Select
FDataType = RetString
End Function

Ri: Ottenere un elenco di tabelle dal database di AccessGrazie Eric,
giusto per essere molto chiaro e più completo, ho poi usato questo:
"SELEZIONA MSysNameMap.Name DA MSysNameMap WHERE (MSysNameMap.Type = 1)"
poi:
per ogni riga (Lista1 << append(:Nome))
--> funziona perfettamente!
Grazie ancora.
Ri: Ottenere un elenco di tabelle dal database di AccessLa maggior parte dei database dispone di viste di sistema su cui è possibile scrivere query SQL per ottenere elenchi di tutte le tabelle nel database che corrispondono a una clausola WHERE, ecc.Non ho MS Access, ma facendo alcune ricerche su Google, qualcosa del genere potrebbe funzionare per te:
SELECT MSysObjects.Name FROM MSysObjects WHERE (MSysObjects.Type = 1);
Potresti anche provare " DOVE (MSysObjects.Type = 6) " come la clausola WHERE.Quindi potresti usare JSL Apri banca dati funzione per inviare quella query a MS Access, che ti darebbe una tabella di dati JMP con i nomi delle tabelle di Access al suo interno, che potresti quindi iterare usando Per ogni riga.
Ecco i collegamenti a dove ho trovato le informazioni su MS Access:
ms access - istruzione sql per restituire tutti i campi da tutte le tabelle - Stack Overflow
Utilizzo di MsysObject
HTH,
Eric
Ri: Ottenere un elenco di tabelle dal database di AccessGrazie per l'aiuto.
Questo è un file di aiuto che ti permette di connetterti a un database. Vorrei crearmi un elenco di tutti i nomi delle tabelle disponibili nel mio database.
qualcosa di simile a:
x=lista()
per ogni tabledef in my_database
x1<
inserire in (x, x1);
infine, è un po' complicato. Vorrei creare automaticamente un'istruzione SQL con ciò che è memorizzato in una tabella JMP. Quasi finito, ne sono sicuro... . Ma il passaggio precedente, vorrei consentire agli utenti di memorizzare facilmente le informazioni in quella tabella JMP. Deve selezionare in due liste, prima la tabella nel database, poi le caratteristiche che lo interessano in questa tabella. Quindi, facendo clic su "OK", la sua scelta viene memorizzata nella tabella JMP. Posso quindi compilare un'istruzione SQL per ottenere i dati dal database per tutte le scelte memorizzate in quella tabella JMP.
Spero di essere stato chiaro... ambizioso?
Ri: Ottenere un elenco di tabelle dal database di Accesshttp://www.jmp.com/software/whitepapers/pdfs/102427_jmp_odbc.pdf
L'ho trovato online e offre istruzioni dettagliate per stabilire una connessione tra un database e JMP e puoi prenderlo da lì.
Saluti
Uday