tabellengroesse

24/03/2008 - 10:03 von Werner Günther | Report spam
Hallo NG.
Ich hab irgendwo einen Code aufgeschnapt der die Größe von Tabellen einer DB
in eine weitere Tabelle Schreiben soll. Leider tut er das nicht, die Tabelle
bleibt leer.
A XP
Vielleicht findet jemand den Fehler:

Sub ErmittleTabellenGroesse()

Dim tblDiese As DAO.TableDef
Dim rcsTabelle As DAO.Recordset
Dim fldDieses As DAO.Field
Dim varMW As Variant
Dim varMax As Variant
Dim varAnzDS As Variant
Dim lngKanal As Long

lngKanal = FreeFile()
'MsgBox "Der Pfad der aktuellen Datenbank ist: " &
Application.CurrentProject.Path & "."

Open Application.CurrentProject.Path & "\TabellenGroessen.txt" For Output As
lngKanal
Print #lngKanal, "Tabellenname" & vbTab & "Feldname" & vbTab & _
"Feldgröße" & vbTab & "Mittelwert" & vbTab & "Max"

For Each tblDiese In CurrentDb.TableDefs

If Not (tblDiese.Name Like "?Sys*" Or tblDiese.Name Like "~*") Then
Print #lngKanal, tblDiese.Name

For Each fldDieses In tblDiese.Fields

Set rcsTabelle = CurrentDb.OpenRecordset( _
"SELECT AVG(Len([" & fldDieses.Name & "])) AS x FROM [" & _
tblDiese.Name & "];", dbOpenDynaset)

varMW = rcsTabelle.Fields("x").Value
rcsTabelle.Close

Set rcsTabelle = CurrentDb.OpenRecordset( _
"SELECT MAX(Len([" & fldDieses.Name & "])) AS x FROM [" & _
tblDiese.Name & "];", dbOpenDynaset)

varMax = rcsTabelle.Fields("x").Value
rcsTabelle.Close

Print #lngKanal, tblDiese.Name & vbTab & fldDieses.Name & vbTab
& _
fldDieses.Size & vbTab & varMW & vbTab & varMax

Next
End If
Set rcsTabelle = CurrentDb.OpenRecordset(tblDiese.Name, dbOpenTable)
varAnzDS = rcsTabelle.RecordCount

rcsTabelle.Close
Print #lngKanal, varAnzDS & vbTab & "Datensàtze"
Print #lngKanal, ""
Print #lngKanal, ""
Print #lngKanal, ""
Next

Close #lngKanal

End Sub

Viele Grüße Werner
 

Lesen sie die antworten

#1 Henry Habermacher
24/03/2008 - 10:47 | Warnen spam
Werner Günther wrote:
Hallo NG.
Ich hab irgendwo einen Code aufgeschnapt der die Größe von Tabellen einer
DB in eine weitere Tabelle Schreiben soll. Leider tut er das nicht, die
Tabelle bleibt leer.



Und was steht denn in TabellenGroessen.txt?

Ein bisschen Error Handling würde dem Code übrigens nicht schlecht anstehen
;-)

Gruss
Henry


SEK2 Anmeldung: http://donkarl.com/?SEK
Microsoft MVP Office Access
Keine E-Mails auf Postings in NGs. Danke.
Access FAQ www.donkarl.com

Ähnliche fragen