Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

wieviel Zeilen VBA-Code pro DB

Begonnen von Monsterbiene, März 02, 2006, 18:04:04

⏪ vorheriges - nächstes ⏩

Monsterbiene

Hallo Zusammen,

hab mal 'ne etwas ausgefallene Frage. Ich war der Meinung irgendwo mal etwas darüber gehört oder gelesen zu haben, wieviele Zeilen VBA-Code in einer Access-DB stehen dürfen. Ich find das aber nicht mehr. Vielleicht täusch ich mich ja auch.

Weiss von Euch jemand ob es da eine Beschränkung gibt - mal abgesehen von Performanceproblemen - oder nicht.

Danke!
Monsterbiene

DF6GL

#1
Hallo,

nee, von Code-Zeilen-Beschränkung hab ich noch nichts gehört. Irgendwo platzt dadurch auch eine Applikation, aber ich denke mal, an solche Grenzen stößt man wohl nicht. Eher durch Tabelgröße  oder ungünstiger(falscher) Handhabung von Tabellen an die 2 GB-Grenze einer MDB-Datei, wobei natürlich auch die Codezeilen ihren Anteil haben.

Wobei auch Performance nicht durch die Anzahl Codezeilen selber leidet, sondern durch die Art und Weise von ungeschickter Programmierung.

Monsterbiene

DANKE für die rasche Antwort

Monsterbiene

sw

Leider ist diese Aussage nicht korrekt.

Access hat eine Beschränkung bei der Größe des VBA-Codes. Diese Grenze ist auch relativ leicht zu erreichen, wenn man größere Projekte baut.

Achtung: Wenn die maximale Codegröße (leider kann ich keine Angabe machen, wie groß) überschritten wird, dann kommen Fehlermeldungen beim Ausführen des Codes. Reduziert man den Code an einer Stelle wieder, dann läuft wieder alles normal. Hat man Code in einem Formular angegeben, welches beim Starten geladen wird, dann kann  man (sofern man es nicht deaktiviert hat) mit Shift zumindest in den Code und die Reduktion durchführen.

Ich habe bisher keine Informationen gefunden, welche angeben wie groß der Code werden darf, aber ich kann das mit einem meiner Projekte ohne weiteres reproduzieren.

Eine "Anzahl Zeilen" Einschränkung wird es sicherlich nicht sein, sondern eher eine Kilobyte-Angabe. Die Zeilen können ja schliesslich beliebig komplex (und lang) sein, so dass der Code unterschiedliche Größe hat bei gleicher Zeilenanzahl.

Hondo

Hallo unbekannter,
kannst du deine Behauptung untermauern?
Anonym Behauptungen in die Welt zu setzen ohne Quellenangaben o.ä. ist imo nicht OK.

Andreas

fcd-1622

Eine Quellenangabe kann ich nicht geben, aber ein Formular.
Dieses Formular soll eine Administration-Console mit Befehlseingaben darstellen/simulieren.
Irgendwann hiess es, dass das Maximum an Codezeilen erreicht sei.
Ich habe daraufhin die verschiedenen Befehle/Anweisungen in einzelne Module unterteilt und es ging wieder.

AM Anfang hies es also:
IF Me.CmdLine ="Befehle1" THEN
.....
.....
.....
END IF

Jetzt sieht es wie folgt aus:
IF Me.CmdLine ="Befehle1" THEN
CALL Befehl1
ENDIF

Access 2000 auf WInXP, SP-3

Hondo

Hallo,
habe folgendes gefunden:
http://www.xlam.ch/xlimits/visualbasic.htm#Programmcode-Limitationen

Auf welche Office-Version sich das bezieht ist nicht angegeben.
Auch keine weiteren Quellen die das untermauern.


Josef

Hallo!

Soeben mit Ac2010 getestet:
Bei nur einem Zeichen pro Zeile waren es 65531 Zeilen. Es können aber auch weniger sein, wenn in einer Zeile mehr Text steht. An der Anzahl der Zeichen liegt es allerdings auch nicht.

Wenn jemand in ein Code-Modul mehr als 60000 Zeilen schreibt, dann wird es aber sowieso Zeit, den Code zu überarbeiten. Ich kann mir zumindest nicht vorstellen, dass das dann "optimierter Code" ist. ;)

Viel schneller kommt man an die Grenze von VBA, wenn man die Anzahl der erlaubten Code-Module betrachtet. Das sind laut Access-Spezifikation 1000 code-Module.
ZitatNumber of modules (including forms and reports that have the HasModule property set to True) 1,000


mfg
Josef

Hondo

Hallo

Hier der Vollständigkeit halber der Link zu den Access 2007 Spezifikationen:
http://office.microsoft.com/en-us/access-help...

Und hier noch ein Link für die Spezifikationen Access 2002/03:
http://bytes.com/topic/access/answers/...

Andreas