Access - einen def. Button auf invisible setzten
shadowman 04.07.2006 - 21:21 1422 9
shadowman
OC Addicted
|
Ich hab mir in Access ein Formular in Tabellenform gebastelt und rechtsdavon immer einen Button um einen Wert in der Zeite zu setzen und diese dann mittels Filter und Requery auszublenden.
Leider habe ich das Knöpfchen auch rechts von der Zeile für den neuen Eintrag. Wie ist es möglich genau diesen Button auszublenden? Bei mir sind entweder alle unsichtbar oder sichtbar
|
mat
AdministratorLegends never die
|
iirc hat das button object auch ein attribute "visible". wenn du das auf false setzt, dann sollte der button weg sein. mehr steht 100%ig in der VBA reference.
|
shadowman
OC Addicted
|
klar nur das eben alle elemente weg sind
|
mat
AdministratorLegends never die
|
mhm, bei mir ist es nicht so. (Access 2003 SP2)
zeig mal den relevanten code her.
|
shadowman
OC Addicted
|
Zur Zeit hab ich keinen Code drin, aber ich hab mehrere Sachen probiert. Zum einen mal im form_current mit button.visible=isnull(feld) nur um zu testen obs überhaupt funktioniern würde, aber Fehlanzeige. Dann habe ich in form_load einem Versucht mit DoCmd.GoToRecord , , acLast //um auf letzten wert zukommen DoCmd.GoToRecord , , acNext //um auf autowert zu kommen button.visible= not isnull(feld)
Aber alles wirkt auf sämtliche Schaltflächen. bin aber auch kein VBA Spezi. Wenn ich Textfelder änder will funktioniert das so ja prima, aber mit den Schlatflächen ....
|
mat
AdministratorLegends never die
|
mhm, kann dir nur anbieten, dass du die gesamte mdb postest, damit ich es mir genauer anschauen kann.
|
shadowman
OC Addicted
|
wennst mir deine email gibst oder ne icq nummer hast
|
mat
AdministratorLegends never die
|
protected
|
mat
AdministratorLegends never die
|
bei einem endlosformular mit datensätzen ist das leider unmöglich. der button hat ja nur eine instanz und wird speziell, access intern, pro datensatz mit einer anderen source gesetzt. wenn du den schönheitsfehler wirklich ausmerzen willst, dann musst du die datensatzeingabe selber machen. einfach extra textboxen im formularfooter machen und bei einem button "hinzufügen" dann per sql oder sonstwie in den table einfügen. als allgemeinen tip empfehle ich dir nicht gegen die accesslogik vorzugehen, man kommt einfach nicht dagegen an. es wird irgendwann zum teufelskreis, weil man nicht alles benutzerdefinieren kann. dein delete flag/datensatz ist also wirklich nur sinnvoll, wenn du datensätz nicht sofort löschen willst.. allerdings darfst du nicht vergessen, dass man über den datensatznavigator oder über das menü genauso löschen kann, aber ohne deinem flag. wenn du die anderen möglichkeiten abschalten willst dann beginnt der teufelskreis kurzum, ich würde kein "löschen" in diesem sinne machen sondern alles über die im access gebräuchlichen mittel verändern lassen. es ist 1. für dich einfacher und 2. kennt es auch jeder so.
|
shadowman
OC Addicted
|
Naja die sollen eben nicht gleich gelöscht werden Aber ich bin eh zu dämlich für Access oder wwi. Wenn ichs mit Sql und Php machen würde, hät ichs wahrscheinlich schon beinahe fertig. Kennt Access keinen concat befehl? Ich will bei den Formularen nicht nur einen Wert angezeigt bekommen, sondern den ganzen Namen. Und kann man in Formlare mehrere Werte gleichzeitig in mehrere Tabellen schreiben? Irgendwie will er das a ned, ich werd noch mal irre. Edit: okey concat hat sicher ledigt, muss man nur dsa & verwenden.
|