Het ontwerp van een tabel (of formulier) wijzigen via VBA

Status
Niet open voor verdere reacties.

reneemettrie

Terugkerende gebruiker
Lid geworden
1 aug 2006
Berichten
1.281
Hoe ga je te werk om via VBA het ontwerp van een tabel te wijzigen?
Bv je importeert een Excel tabel met een Yes/No veld en je wil dat dit veld getoond wordt als een check box.

Of je wil dat de naam en de caption van een textbox in een formulier wijzigen in de naam en de caption van het betreffende veld (=probleem na wijziging van de naam + caption in tabelontwerp, op het formulier wordt dat niet aangepast bij de eigenschappen)
 
Dat laatste probleem interesseert mij dus doorgaans geen ene ruk.... Zal mij echt een kouwe bips roesten als een label een andere naam heeft als het bijbehorende tekstvak; zolang het formulier werkt, vind ik het prima. Dat komt ook doordat ik doorgaans dermate diep programmeer in mijn formulieren, dat een aanpassing van een naam er doorgaans voor zorgt dat het formulier niet meer werkt. Ook niet slim natuurlijk, maar zo werk ik nu eenmaal :). Dus ik zal niet snel de naam van een tekstveld of label aanpassen. De inhoud is natuurlijk een andere zaak; ik gebruik vaak labels om extra informatie op het formulier te zetten die uit velden of formules komt. En dan is het handig als de naam van het label niet continue verandert...

Je eerste 'probleem' zal ik ook nooit tegenkomen, omdat ik een importtabel nooit rechtstreeks gebruik. Al was het maar omdat de geïmporteerde tabel dermate waardeloos van veldeigenschappen is, dat het mij teveel tijd kost om daar wat fraais van te maken. Ik importeer een sheet dus (automatisch meestal) als aparte tabel, en voeg hem in dezelfde beweging (macro) toe aan een wél goed opgemaakte importtabel. En in dezelfde beweging verwijder je dan de Excel import. En die laatste tabel staat dus de opmaak zoals ik hem hebben wil.
 
Vraag ivm tabel kwam van iemand anders, ik heb ook jouw oplossing voorgesteld.
Maar ik ben gewoon nieuwsgierig of je een ontwerp via programmatie KUNT wijzigen. Dacht het ooit gezien te hebben, jaren geleden, maar weet niet meer hoe dat ging.
 
Probleem is bij mij historisch gegroeid. Het is voor opleidingen en sommige mensen zien liefst alles in hun eigen taal. In België worden opleidingen in 3 talen gegeven, destijds wist ik nog niet dat ik het ook in UK en FR zou moeten doen...
Dus ik zit met een mengelmoes.
Zoals gezegd: als je de naam+ caption van een veld wijzigt in tabelontwerp, wordt dat niet aangepast in de eigenschappen van het formulier.
Volgende werkt:
Code:
Sub test()
DoCmd.OpenForm "frm_members", acDesign
Dim ctrl As Control
On Error Resume Next
For Each ctrl In Forms("frm_members")

ctrl.Name = ctrl.ControlSource
ctrl.Caption = ctrl.ControlSource
Next
DoCmd.Close Save:=acSaveYes
End Sub

Natuurlijk moeten in de VBA code de namen van de velden dan nog worden aangepast.

Maar nu een vraagje dat je hopelijk wel wil antwoorden :cool: :

Hoe doe ik dat met een lus die naar alle (niet geopende) forms en reports van een project verwijst?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan