Supportnet / Forum / Datenbanken
Rechtecke per VBA erzeugen
Frage
Hallo, ich hab da ein kleines Problem und hoffe auf Hilfe. Ich möchte gerne per VBA in einem Access-Formular Rechtecke erzeugen und anordnen. Leider habe ich dazu keinen brauchbaren Befehl gefunden. In excel geht das mit "Shape" und ich hoffe, dass ganze läst sich auch im Access realisieren.
Vielen Dank!
Antwort 1 von erik
In Access gibt es kein entsprechendes Gegenstück für die Shape-Objekte von Excel. Das am weitesten entfernte Access-Objekt wäre evtl. das Rechteck-Objekt (Rectangle), mit dem vorrangig Rahmen erzeugt werden. Du erzeugst ein solches Steuerelement mit der CreateControl-Anweisung. Allerdings muss sich das Formular dazu in der Entwurfsansicht befinden.
Alternativ könntest du bereits entsprechende Steuerelemente mit Höhe u. Breite = 0 irgendwo im Formular parken und die Left-, Top-, Width-, Height-Eigenschaften anschließend einstellen, wie du willst. Eine solche Lösung würde mir aber die Haare zu Berge stehen lassen.
Alternativ könntest du bereits entsprechende Steuerelemente mit Höhe u. Breite = 0 irgendwo im Formular parken und die Left-, Top-, Width-, Height-Eigenschaften anschließend einstellen, wie du willst. Eine solche Lösung würde mir aber die Haare zu Berge stehen lassen.
Antwort 2 von jojodd
Naja, das merk ich...ich hatte mir das auch einfacher vorgestellt. :)
Den CreatControl hab ich mitlerweile auch gefunden und es Funktioniert auch. Nur leider versuche ich nun die Ansichten (Entwurf<-->Formular) per Vba zu ändern. Funz. aber nicht wie gewollt...grrrr...ich hasse es. :)
Den CreatControl hab ich mitlerweile auch gefunden und es Funktioniert auch. Nur leider versuche ich nun die Ansichten (Entwurf<-->Formular) per Vba zu ändern. Funz. aber nicht wie gewollt...grrrr...ich hasse es. :)
Antwort 3 von Teddy7
Wenn die Position des/der Rechtecke feststeht kann man sich helfen indem man sie definiert und nur mit VBA ein- oder ausblendet (visible = true)
Gruß
Teddy
Gruß
Teddy
Antwort 4 von erik
Ein Formular im Entwurf zu öffnen ist das kleinste Problem:
Dim frm as Form
Docmd.OpenForm FormName:="[Formularname]", View:=acDesign
Set frm=Forms("[Formularname]")
Dim frm as Form
Docmd.OpenForm FormName:="[Formularname]", View:=acDesign
Set frm=Forms("[Formularname]")
Antwort 5 von jojodd
Naja, nun geht es.....für nen guten Proger sicher zum heulen, aber was solls! Einfach die Dinger erstellen, speichern nicht zulassen und das schließen-kreuz deaktivieren. :)
Danke für die Hilfe!
Danke für die Hilfe!