Avatar billede acidduck Nybegynder
14. december 2001 - 14:43 Der er 14 kommentarer og
1 løsning

Udtrække navnene på kolonnerne?

Hvordan kan man via en SQL forespørgsel udtrække navnene på kolonnerne i en tabel?
Avatar billede thb Nybegynder
14. december 2001 - 14:45 #1
godt spørgsmål det kunne jeg også godt tænke mig at vide... jeg tror nok at det er noget med \'alter table\' men ved ikke mere...

Thomas
Avatar billede terry Ekspert
14. december 2001 - 14:47 #2
I doubt if you can in Access. There are hidden system tables where information is stored but it isnteasy to get at!
Avatar billede terry Ekspert
14. december 2001 - 14:47 #3
It is possible to get at column names vi DAO or ADO.
Avatar billede terry Ekspert
14. december 2001 - 14:48 #4
but hat takes a bit of programming!
Avatar billede terry Ekspert
14. december 2001 - 14:48 #5
hat  = that
Avatar billede acidduck Nybegynder
14. december 2001 - 14:53 #6
Er der ikke nogen der har en kodestump?
Avatar billede terry Ekspert
14. december 2001 - 14:57 #7
acidduck>You have rejected my answer, but use it to further your question!!!
Avatar billede acidduck Nybegynder
14. december 2001 - 14:58 #8
Jeg har ikke fået svar på det jeg spurgte om.
Avatar billede hugopedersen Nybegynder
14. december 2001 - 15:43 #9
Der skal kodes lidt for at se disse navne, men send mig en mail på min hjemmeadresse mail@hugopedersen.dk  så skal jeg sende dig koden. Jeg har den nemlig ikke her på jobbet.
Avatar billede thb Nybegynder
14. december 2001 - 16:06 #10
hugopedersen >> kan du ikke skrive den her... for jeg kunne også godt tænke mig at se koderne...

Thomas
Avatar billede terry Ekspert
14. december 2001 - 19:43 #11
acidduck>My answer 14:47 \"I doubt if you can in Access.\" It maybe isnt the answer you would like, but if something isnt possible \"via en SQL forespørgsel\" then my answer is CORRECT!
I myself said it could be done in code, but this wasnt the question you asked!


Avatar billede hugopedersen Nybegynder
17. december 2001 - 07:06 #12
Umiddelbart så giver SQL strengen SELECT * FROM sysobjects WHERE TYPE = \'U\' en liste over tabeller der er næsten 100% korrekt på SQL server 2000.

Avatar billede hugopedersen Nybegynder
17. december 2001 - 07:10 #13
Hvis der er tale om ren Access, så SELECT MSysObjects.Name, MSysObjects.Type FROM MSysObjects
WHERE (((MSysObjects.Type)=1));
Det giver en liste over ALLE tabeller. Også system tabeller.
Avatar billede hugopedersen Nybegynder
17. december 2001 - 07:19 #14
Dim dbs As DAO.Database
Dim tdf As DAO.TableDef
Dim intI As Integer
Dim strtemp As String 

Set dbs = CurrentDb
strItems  \"\"                                       
For Each tdf In dbs.TableDefs 
  If (Left(tdf.Name, 4) <> \"mSys\") And (tdf.Connect <> \"\") Then
    strItems = strItems & Left(tdf.Name, 25) & \";\"
  End If \'Right names
Next tdf

Set dbs = Nothing   
Set tdf = Nothing

Resulterer i en streng der kan bruges som RowSource til en listbox.

PS. den tager ikke systemtabeller og kun tilknyttede tabeller og kun de første 25 tegn i navnet.
det må du skråstreg I selv rette skråstreg ændre :-)
Avatar billede thb Nybegynder
20. december 2001 - 18:07 #15
jeg får denne fejl når jeg bruger koden...

Kode:
SELECT MSysObjects.Name, MSysObjects.Type FROM MSysObjects
WHERE (((MSysObjects.Type)=1));

Fejl:
Microsoft OLE DB Provider for ODBC Drivers fejl \'80040e09\'

[Microsoft][ODBC Microsoft Access Driver] Record(s) cannot be read; no read permission on \'MSysObjects\'.

/tc/feltnavn.asp, linje 7
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester