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
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.
DANKE für die rasche Antwort
Monsterbiene
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.
Hallo unbekannter,
kannst du deine Behauptung untermauern?
Anonym Behauptungen in die Welt zu setzen ohne Quellenangaben o.ä. ist imo nicht OK.
Andreas
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
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.
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
Hallo
Hier der Vollständigkeit halber der Link zu den Access 2007 Spezifikationen:
http://office.microsoft.com/en-us/access-help... (http://office.microsoft.com/en-us/access-help/access-2007-specifications-HA010030739.aspx)
Und hier noch ein Link für die Spezifikationen Access 2002/03:
http://bytes.com/topic/access/answers/... (http://bytes.com/topic/access/answers/818080-specifications-limits-access-2000-2003-a)
Andreas