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, 6123 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
Ähnliche Inhalte
Batch & Shell
CMD cURL Access Token parsen (2)

Frage von maddig zum Thema Batch & Shell ...

LAN, WAN, Wireless
Access Point: Ubiquiti UAP AC PRO Einschätzung Reichweite (4)

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

LAN, WAN, Wireless
Freifunk über vorhandene Access Points ausstrahlen (4)

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

Windows Netzwerk
Direct Access mit VPN aufbau (6)

Frage von geocast zum Thema Windows Netzwerk ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

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

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...