Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Access Datenbankanalyse Feldname, Beschreibung etc.

Frage Microsoft Microsoft Office

Mitglied: DarXoR

DarXoR (Level 1) - Jetzt verbinden

10.12.2008, aktualisiert 11.12.2008, 6160 Aufrufe, 7 Kommentare

Hallo mal wieder an alle die Helfer,

Ich würde gern eine Access 2002 Datei, (mdb) mit sehr vielen Tabellen analysieren. Ergebniss sollte sehr einfach sein.
So für Excel untereinander gedacht. Spalte 1: "Tabellenname"; Spalte 2: "Feldname" Spalte 3: "Felddatentyp" Spalte 4: "Feldgrösse". Wäre gut wenn man die ausführliche Analyse weglassen könnte, zu viel Daten die nicht von Bedeutung sind.

Gruß Darxor
Mitglied: Logan000
11.12.2008 um 09:34 Uhr
Moin Moin

Das solte in etwa das sein was du suchst:
01.
Const connectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\DB1.mdb;Persist Security Info=False;" 
02.
Const adOpenStatic = 3 
03.
Const adLockOptimistic = 3 
04.
Const adUseClient = 3 
05.
 
06.
Set objConnection = CreateObject("ADODB.Connection") 
07.
Set objRecordset = CreateObject("ADODB.Recordset") 
08.
Set objCat =CreateObject("ADOX.Catalog") 
09.
 
10.
' Datenbank öffnen 
11.
objConnection.Open connectString	 
12.
Set objCat.ActiveConnection = objConnection 
13.
lngTabCount = objCat.Tables.Count           
14.
'msgbox "Anz. Tabellen: " & lngTabCount	  
15.
 
16.
Set objExcel = CreateObject("Excel.Application")	' Excel Starten 
17.
Set objWorkbook = objExcel.Workbooks.Add			' Neue Arbeitsmappe 
18.
Set objWorkSheet = objWorkbook.Worksheets(1)		' Neue Tabelle 
19.
objWorkSheet.Range("A1").Value = "Tabellenname"   
20.
objWorkSheet.Range("B1").Value = "Feldname"   
21.
objWorkSheet.Range("C1").Value = "Felddatentyp"   
22.
objWorkSheet.Range("D1").Value = "Feldgrösse"   
23.
y = 1  
24.
For i = 0 to lngTabCount -1 
25.
	AktTab = objCat.Tables(i).Name 
26.
	msgbox "Tabelle: " & AktTab 
27.
	lngColCount = objCat.Tables(AktTab).Columns.Count 
28.
	For x = 0 to lngColCount -1 
29.
		y = y + 1 
30.
		AktCol = objCat.Tables(AktTab).Columns(x).Name 
31.
		AktType = objCat.Tables(AktTab).Columns(x).Type  
32.
		Select Case AktType 
33.
		Case 3 
34.
			AktTypeText = "Zahl" 
35.
		case 202 
36.
			AktTypeText = "Text" 
37.
		case 7 
38.
			AktTypeText = "Datum/Uhrzeit" 
39.
		case 205 
40.
			AktTypeText = "OLE-Objekt"			 
41.
		case else 
42.
		end select 
43.
		AktSize = objCat.Tables(AktTab).Columns(x).DefinedSize  
44.
		objWorkSheet.Range("A" & y).Value = AktTab 
45.
		objWorkSheet.Range("B" & y).Value = AktCol 
46.
		if AktTypeText<>"" Then 
47.
			objWorkSheet.Range("C" & y).Value = AktTypeText 
48.
		else 
49.
			objWorkSheet.Range("C" & y).Value = "Typenumber: " & AktType 
50.
		end if 
51.
		objWorkSheet.Range("D" & y).Value = AktSize 
52.
		AktTypeText="" 
53.
	next  
54.
next  
55.
objWorkbook.SaveAs "C:\TabellenStruktur.xls" 
56.
objExcel.Visible = True 
Gruß L.
Bitte warten ..
Mitglied: DarXoR
11.12.2008 um 11:10 Uhr
Ups... Guten Morgen L.,

Dank Dir schon mal Vorab für die schnelle Reaktion.
mmhh, den Code wo rein kopieren? Hab ihn in ein Macro kopiert ausgeführt, DAteiname angepasst.... Fehler. Welche Methode ist die Richtige?

Gruß Darxor
Bitte warten ..
Mitglied: Logan000
11.12.2008 um 11:33 Uhr
Moin

Ups. Sorry. Hab ich vergessen.
Das ist als VBS Skript gedacht.
Textdatei erstellen. Code reinkopieren und in MeinSkript.vbs umbenennen.

Gruß L.
Bitte warten ..
Mitglied: DarXoR
11.12.2008 um 13:50 Uhr
Überwältigend..... Dank Dir
Hat hervorragend geklappt.

Gruß Darxor
Bitte warten ..
Mitglied: Logan000
11.12.2008 um 13:53 Uhr
Moin

Gern geschehen.
Sei doch so gut und setze den Beitrag auf erledigt.
Danke.

Gruß L.
Bitte warten ..
Mitglied: Xenome
09.02.2010 um 10:17 Uhr
Was wäre denn der unterschied zwischen VBS und VBA?
Bitte warten ..
Mitglied: Biber
09.02.2010 um 10:47 Uhr
Moin Xenome,

Zitat von Xenome:
Was wäre denn der unterschied zwischen VBS und VBA?

VBS läuft "standalone"... es gibt nur das Skript und alle Zeilen, Anweisungen und Variablen, die dort definiert sind.
Im Gegensatz dazu wird VBA ("Visual Basic for Applications") aus dem Kontext einer laufenden Office-Appz wie Excel, Word oder Access aufgerufen.
Und dann kann über "Verweise" auf Zusatzbibliotheken auf Referenzen, Objektstrukturen und Konstanten zugegriffen werden.
Ist allerdings aber auch primär dafür gedacht, dass es IMMER aus der jeweiligen Office-Appz aufgerufen wird (Office-Appz läuft).
Ein VBS-Schnipselchen kann aber auch laufen, wenn nicht mal Excel/Access etc installiert ist, geschweige denn läuft.

Logans Schnipsel hätte also den Vorteil, dass auch jemand, der noch nie ein Access in Farbe gesehen hat dennoch die Struktur einer Access-Mdb-Datei auslesen kann.

Grüße
Biber
Bitte warten ..
Neuester Wissensbeitrag
Router & Routing

192.168er Adresse im öffentlichen Netz

(2)

Erfahrungsbericht von visco-c zum Thema Router & Routing ...

Ähnliche Inhalte
Datenbanken
gelöst Access 2010 Filter zurücksetzen (6)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

Microsoft Office
gelöst Nach Office 2010 SP2 Update - Kein Sharepoint export zu Access möglich (1)

Frage von paddl82 zum Thema Microsoft Office ...

LAN, WAN, Wireless
Access Point (VLAN, Multi-SSID) legt Netzwerk lahm (7)

Frage von humbeldi zum Thema LAN, WAN, Wireless ...

Datenbanken
gelöst Access 2010 SQL Tabellen Datensätze einfügen (6)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

Heiß diskutierte Inhalte
Zusammenarbeit
Als Administrator im Großraumbüro (29)

Frage von Dopamin85 zum Thema Zusammenarbeit ...

Exchange Server
Test-ActiveSyncConnectivity Error nach neuem Zertifikat (22)

Frage von Driphex zum Thema Exchange Server ...

Hyper-V
HYPER V und USB (16)

Frage von Hendrik2586 zum Thema Hyper-V ...

SAN, NAS, DAS
Backupserver für KMU (14)

Frage von Leo-le zum Thema SAN, NAS, DAS ...