Supportnet / Forum / Datenbanken
feldeigenschaften vieler access-berichte per makro/vba verändern
Frage
hallo community,
ich habe viele berichte in einer access 97 datenbamk.
ein bestimmtes textfeld (feld4) ist jedoch in allen berichten zu klein und ich muss nun die größe dieses feldes bei jedem bericht verändern.
kann ich das nicht einfach per makro oder vba hinbekommen?
danke für eure hilfe,
dietmar
Antwort 1 von erik
Hallo!
Solche Aufgaben können auf einfachem Wege in VBA gelöst werden. Kopiere den folgenden Code in ein Modul, passe den Block mit den Eigenschaften nach eigenen Bedürfnissen an und führe ihn aus. Ich habe bereits einige Eigenschaften aufgeführt, die dich vielleicht interessieren könnten.
Die Verwendung des Textbox-Objekts ist wg. des Control-Objekts zwar überflüssig, aber im Gegensatz zum Control bietet Textbox die IntelliSense-Liste beim Tippen an.
Solche Aufgaben können auf einfachem Wege in VBA gelöst werden. Kopiere den folgenden Code in ein Modul, passe den Block mit den Eigenschaften nach eigenen Bedürfnissen an und führe ihn aus. Ich habe bereits einige Eigenschaften aufgeführt, die dich vielleicht interessieren könnten.
Public Sub UpdateProperties()
Dim db As Database
Dim cnt As Container
Dim doc As Document
Dim rpt As Report
Dim ctl As Control
Dim txt As TextBox
Set db = CurrentDb
Set cnt = db.Containers("Reports")
For Each doc In cnt.Documents
DoCmd.OpenReport ReportName:=doc.Name, View:=acViewDesign
Set rpt = Reports(doc.Name)
For Each ctl In rpt.Controls
If ctl.Name = "Feld4" Then
Set txt = ctl
´---- Hier Eigenschaften ändern -----
´Debug-Ausgabe, Strg+G drücken zum anzeigen
Debug.Print txt.Width
Debug.Print txt.Height
Debug.Print txt.FontSize
´------------------------------------
Exit For
End If
Next
DoCmd.Close ObjectType:=acReport, ObjectName:=doc.Name, Save:=acSavePrompt
Next
End Sub
Die Verwendung des Textbox-Objekts ist wg. des Control-Objekts zwar überflüssig, aber im Gegensatz zum Control bietet Textbox die IntelliSense-Liste beim Tippen an.