Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Lizzy am September 29, 2010, 10:55:44

Titel: Kontrollkästchen markierter Datensätze auf True setzen
Beitrag von: Lizzy am September 29, 2010, 10:55:44
Hey Leute,

habe das hier so noch nirgends im Forum gefunden und auf anderen Seiten bisher nur gefunden, dass es nicht gehn würde was ich aber einfach nicht glauben kann!

Mein Problem:

Ich habe eine Datenbank in Access 2007 erstellt in der die Bänder meiner Firma verwaltet werden, also mit den Feldern NR, KUNDE, TITEL usw. usf. Dazu hab ich verschiedene Berichte erstellt die man über eine Druckabfrage in Serie ausdrucken kann. Die Druckabfrage beinhaltet die Datensätze bei denen in meinem Formular im entsprechenden Kontrollkästchen ein Häkchen gesetzt ist.
Das funktioniert soweit auch alles wunderbar.

Allerdings handelt es sich dabei um ziemlich viele Datensätze und man muss eben auch sehr viele aufeinmal ausdrucken.
Im Moment muss ich bei jedem Datensatz einzeln dieses Häkchen setzen, sind das 50 Datensätze kann man sich vorstellen, dass das ne Weile dauert  :-\

Deshalb würde ich dieses Häkchen gerne bei mehreren markierten Datensätzen gleichzeitig setzen können, also einen Datensatz anklicken - Shift - letzten Datensatz anklicken und dass dann die Kontrollkästchen dieser Datensätze alle auf einmal auf True gesetzt werden, oder ich eine Auswahlmöglichkeit habe dies zu tun.

Ich hab jetzt schon viel von Listfeldern gelesen, damit kann ich nichts anfangen, da ich dort ja keinen Filter mehr anwenden kann was ich vorher auch will (es handelt sich hier um über 11000 datensätze!!), ich hab auch schon gelesen, dass das mit den markierten Datensätzen gar nichts funktioniert ABER ich kann ja auch mehrere Datensätze markieren und dann bei Rechtsklick löschen auswählen, also MUSS das ja irgendwie gehen dass man da noch ne weitere Option dazu programmiert... die Frage ist halt nur WIE!!!  :-\


Ich habe leider nur relativ wenig Ahnung von Access und noch viel weniger von VBA, habe nur ein bisschen ganz grundlegende Programmiererfahrung in Delphi.


Kann mir hier irgendjemand helfen??? Ich bin schon seit Tagen am Suchen und Verzweifeln aber ich komme einfach nicht weiter!!!

Danke schon im Voraus!

Titel: Re: Kontrollkästchen markierter Datensätze auf True setzen
Beitrag von: MzKlMu am September 29, 2010, 11:02:30
Hallo,
auf diese Art, kannst Du ja auch nur einen zusammenhängenden Bereich definieren. Wie man diese Markierung dann auswertet weis ich jetzt auch nicht, aber Du selbst musst ja diese 50 Datensätze auch irgendwie erkennen. Und dieses Merkmal kannst Du auch zum Automatisieren nutzen.

Die Frage ist also, wie erkennst Du die richtigen 50 Datensätze?
Titel: Re: Kontrollkästchen markierter Datensätze auf True setzen
Beitrag von: Lizzy am September 29, 2010, 11:10:33
Um die richtigen Datensätze zu finden wende ich ersteinmal einen oder mehrere Filter an und die restliche Auswahl geschieht dann manuell, da es ja dann darauf ankommt welche ich gerade brauche und das kann Access nicht wissen ;)

Dass ich damit dann nur zusammenhängende zusammenkrieg ist mir bewusst, aber es ist ja immer noch besser 5 einzeln und 45 zusammen aktiviert zu bekommen als alle 50 einzeln.

Wenn mir allerdings irgendjemand noch sagen kann wie ich Access auf dem Formular dazu bekomme Datensätze nicht nur mit Shift sondern auch mit Strg zu markieren dann würde ich diese Info auch gerne annehmen ;)

Also es geht darum wie sage ich ihm "nimm die markierten Datensätze und setze deren Kontrollkästchen auf True" und in welches Ereignis ich das programmieren muss.
Titel: Re: Kontrollkästchen markierter Datensätze auf True setzen
Beitrag von: MzKlMu am September 29, 2010, 11:27:52
Hallo,
Du hast meine Frage nicht verstanden. Auch Du selbst musst doch ein Kriterium haben um zu entscheiden, welche Datensätze Du haben willst. Du markierst ja nicht einfach mal die erst besten 5 oder 10 Datensätze, Du musst doch auch übelegen, welche?
Und dieses eigene Kriteium kannst Du auch für Access nutzen.

Zitatnicht nur mit Shift sondern auch mit Strg zu markieren dann würde ich diese Info auch gerne annehmen
Das geht mit Access nicht.
Titel: Re: Kontrollkästchen markierter Datensätze auf True setzen
Beitrag von: Lizzy am September 29, 2010, 11:34:26
Nein das kann ich eben nicht nutzen, das hab ich gerade versucht dir zu erklären ;) Access kann nach vielen Kriterien auswählen aber am ENDE ist mein Kriterium dann : von dem Datensatz brauch ich ein Etikett, von dem keins, von dem wieder eins usw. usf. und DAS kann Access nicht wissen genau das ist es ja was ich ihm durch die Kontrollkästchen sage. Wenn ich einen Filter hätte der immer weiß was ich will dann bestünde mein Problem ja gar nicht ;)

Trotzdem danke für deine Mühe aber wenn du mir nicht sagen kannst wie er das mit den Markierungen auswertet kannst du mir wohl leider auch net helfen  :-\
Titel: Re: Kontrollkästchen markierter Datensätze auf True setzen
Beitrag von: T417 am September 29, 2010, 11:43:07
Der Datensatzmarkierer kann dir in diesen Fall nicht weiterhelfen. Ich hatte dieselbe Idee und musste sie verwefern.
http://www.access-o-mania.de/forum/index.php?topic=12768.msg71005#msg71005

Die Datenbank von MzKlMu die dort runterzuladen ist, hilft dir vieleicht bei einer Alternativlösung.
Titel: Re: Kontrollkästchen markierter Datensätze auf True setzen
Beitrag von: Lizzy am September 29, 2010, 11:51:04
Das mit dem Ja/Nein Feld habe ich ja schon.  Das Problem ist nur es sind über 11000 Datensätze wenn ich da z.B. nach Kunde Filtere krieg ich kA 100 Datensätze zurück... davon will ich aber nur 50 haben, dann muss ich entweder 50 mal Ja oder 50 mal Nein klicken ;)

also wäres schon viel schöner wenn ich 20 zusammenhängende aufeinmal auf Ja bzw Nein setzen könnte.

Das ist das was ich will, das das mit Strg nicht geht hab ich jetzt auch schon mehrfach gelesen und das ist ja dann eigentlich auch nichtmehr notwendig. Aber das markieren mit Shift möchte ich gerne nutzen.

Und wie schon gesagt es MUSS irgendwie gehen weil ich kann ja auch mehrere markierte Datensätze löschen, dann muss Access auch die markierten Datensätze verarbeiten können. Aber ich hab halt noch niemanden gefunden der weiß WIE :-\
Titel: Re: Kontrollkästchen markierter Datensätze auf True setzen
Beitrag von: T417 am September 29, 2010, 12:10:34
Vieleicht hilft dir dieser Link weiter.
www.donkarl.com?FAQ4.40

Ansonsten muss es doch irgendeine Gemeinsamkeit der Datensätze geben. Darauf könnte man dann aufbauen.
Titel: Re: Kontrollkästchen markierter Datensätze auf True setzen
Beitrag von: MzKlMu am September 29, 2010, 12:30:43
Hallo,
Du hast meine Frage immer noch nicht verstanden. Auch wenn Du selbst markierst, musst Du doch wissen was Du markierst.
Du selbst wendest ein Kriterium an, sonst könntest Du ja die Datensätze die Du willst auch nicht erkennen.
Das könnte z.B. die ID sein (von ID 25 bis ID 50) oder ein Datum.

Du selbst wendest ein Kriterium zur Auswahl an.
Oder wie sonst erkennst Du wo die Markierung beginnt und wo diese enden soll?
Titel: Re: Kontrollkästchen markierter Datensätze auf True setzen
Beitrag von: Lizzy am September 29, 2010, 12:55:10
@T417: Danke ich schaus mir mal an...

@MzKlMu: natürlich hab ich ein Kriterium aber das ist für Access nicht erfassbar! Weil es willkürlich ist, es orientiert sich nicht an den Werten die in der Tabelle stehen sondern daran brauche ich einen Ausdruck davon oder nicht und das kann davon abhängen keine Ahnung ob ein Kunde von bestimmten Bändern ein Duplikat will, in meiner Datenbank ist das ja aber nicht erfasst, deshalb habe ich diese Ja/Nein Felder, mit denen gebe ich den Datensätzen die ich brauche eine Eigenschaft die Access auslesen kann.
Titel: Re: Kontrollkästchen markierter Datensätze auf True setzen
Beitrag von: MzKlMu am September 29, 2010, 13:16:59
Hallo,
das überzeugt mich nicht.
Wenn Du 50 zusammmenhängede Datensätze markieren willst, muss es ein Kriterium geben.
Titel: Re: Kontrollkästchen markierter Datensätze auf True setzen
Beitrag von: Lizzy am September 29, 2010, 13:54:55
Ja man kann die Leute auch nicht verstehen wollen oder für dumm verkaufen. Ich habs dir jetzt en paarmal erklärt entweder du liest es richtig durch oder lässt es, die Diskussion bringt mich jedenfalls mit meinem Problem keinen Schritt weiter.


Also wenn irgendjemand ne Idee hat wie man die markierten Datensätze anspricht in einem Formular dann bitte melden :)
Titel: Re: Kontrollkästchen markierter Datensätze auf True setzen
Beitrag von: MzKlMu am September 29, 2010, 14:01:27
Hallo,
ZitatJa man kann die Leute auch nicht verstehen wollen oder für dumm verkaufen.
dafür, dass ich mich die ganze Zeit bemühe Dir zu helfen, ist diese Antwort eine Frechheit. So bekommst Du in keinem Forum Hilfe. Wenn Du in der Lage wärest meine Frage richtig zu verstehen, wäre das Problem schon längst gelöst.

Aber ich werde Deinem Wunsch nachkommen und mich raushalten, keine Sorge.
Titel: Re: Kontrollkästchen markierter Datensätze auf True setzen
Beitrag von: Lizzy am September 29, 2010, 14:24:07
Ich hatte mich schon für deine Mühe bedankt und dir allerdings mehrfach erklärt warum es kein für Access erkennbares Kriterium gibt.
Ich kenne mich zwar mit Access und VBA nicht aus das heißt aber nicht, dass ich dumm bin und deine Frage nicht verstanden habe , ich habe allerdings das Gefühl du hast meine Antworten nicht genau gelesen und mich bringt die Diskussion darüber einfach nicht weiter. Weil es GIBT dieses Kriterium einfach nicht weil die Datensätze im letzten Schritt willkürlich ausgewählt werden... und das KANN Access nicht wissen ;) soweit dass Programme Gedanken lesen können sind wir halt leider (oder zum Glück) noch nicht.
Titel: Re: Kontrollkästchen markierter Datensätze auf True setzen
Beitrag von: MzKlMu am September 29, 2010, 14:33:07
Hallo,
ZitatWeil es GIBT dieses Kriterium einfach nicht weil die Datensätze im letzten Schritt willkürlich ausgewählt werden...
Aber 50 zusammenhängende Datensätze ist doch nicht willkürlich. Die Betonung liegt auf zusammenhängend.
Willkürlich wäre für mich, der 5. der 10. und der 20. z.B.

Haben die angezeigten Datensätze einen Primärschlüssel in sortierter Reihenfolge?

Du könntest auch die Datensätze z.B. mit einer laufenden Nummer versehen. dann kannst Du für 20 zusammenhängende Datensätze einen Bereich angeben in dem der Haken gesetzt wird.

Titel: Re: Kontrollkästchen markierter Datensätze auf True setzen
Beitrag von: T417 am September 29, 2010, 14:33:45
Wenns kein gemeinsames Kriterium gibt, dann baue dir doch eins. Füge irgendeine Spalte ein die Sinn macht, in der du irgendeine Beschreibung oder Nummer einfügst, nach der sich dann die Suche orientieren könntest.

Anders lässt sich dein Problem auch nicht lösen, selbst wenn du tiefgreifende Kenntnisse von Access und VBA hättest.


Außerdem hört sich die Tabelle schon merkwürdig an, wenn es scheinbar ein Suchmuster gibt was man einer Maschine nicht beibringen kann oder will.... :-\
Titel: Re: Kontrollkästchen markierter Datensätze auf True setzen
Beitrag von: Lizzy am September 29, 2010, 14:47:30
@ MzKlMu: ja willkürlich in dem Sinne stimmt schon ;) nur wenn man so viele Datensätze hat die man vorher schon gefiltert hat ist dann die Wahrscheinlichkeit groß, dass ich keine Ahnung ein paar einzelne hab, dann wieder ein paar zusammenhängende (50 war vll übertrieben) und dann wieder ein paar einzelne.... dass ich die nicht alle aufeinmal erfassen kann weil das mit Strg nicht funktioniert ist mir klar, deswegen hab ich von vornerein nur nach den zusammenhängenden gefragt ;)

Das Problem mit der Nummer besteht darin, dass ich die Datensätze vorher schon gefiltert habe. Ich habe zwar einen fortlaufenden Primärschlüssel aber für die dann ausgewählten Datensätze weißt der Bereich ja dann Lücken auf. Ist das egal dann? weil ich will halt dann wieder nur die gefilterten Datensätze aus dem Bereich mit häkchen versehen und nicht auch die die beim Filtern rausgefallen sind aber sich in dem Zahlenbereich befinden.

Angenommen er macht das so wie ich es will, was sich ja ausprobieren lässt falls du das auch nicht sicher weißt : wie geb ich ihm den bereich an? weil ich will ja nicht jedesmal von neuem im code rumpfuschen müssen, das ganze soll nachher für leute bedienbar sind die absolut keinen schimmer von dem Programm haben ;)

Danke.

@T417: die Tabelle ist halt seeehr umfangreich und umfasst wie gesagt sehr viele Datensätze, das mit dem gemeinsames Kriterium geben ist eine ganz nette Idee ich stehe damit aber wieder vor dem gleichen Problem nämlich dabei dass sich eben auch da dann wieder nicht mehrere Datensätze gleichzeitig bearbeiten lassen... und dann ist es egal ob ich jedes häkchen einzeln setze oder einzeln bei jedem datensatz was in irgendein feld schreibe.
Aber Danke.
Titel: Re: Kontrollkästchen markierter Datensätze auf True setzen
Beitrag von: T417 am September 29, 2010, 14:56:36
Naja, wenn du dir die Mühe einmal machst, müssen die Hunderte nach dir sich nicht die Mühe machen. Das ist halt das schöne am Datenbankerstellen. ;)
Und wenn du Routinen schreibst, zB SQL-Update, dürfte das auch keine Tiparbeit, sondern nur Denkarbeit sein. ;)
Titel: Re: Kontrollkästchen markierter Datensätze auf True setzen
Beitrag von: Lizzy am September 29, 2010, 15:17:38
Nein weil die Kriterien müsste man ja jedesmal neu setzen weil sie eben jedes mal anders sind... sorry ist etwas komplizierter.

Aber ich hab das ganze jetzt noch in nem anderen Forum gepostet und da entwickeln sich gerade ein bis zwei Lösungsvorschläge, ich bin jetzt mal gespannt. Falls es damit dann klappt werd ich euch hier informieren.
Titel: Re: Kontrollkästchen markierter Datensätze auf True setzen
Beitrag von: database am September 30, 2010, 08:02:23
Morgen,

ZitatDas Problem mit der Nummer besteht darin, dass ich die Datensätze vorher schon gefiltert habe
...was ja an sich der Sinn jund Zweck ist, eine große Menge nach bestimmten Kriterien zu verkleinern. Problem wird das keines sein, wenn es so codiert ist, dass mit der verringerten Menge gearbeitet werden kann. Wenn diese beispielsweise in einem Recordset steht, kann ohne Weiteres die gesmte Menge an Datensätzen oder alle darin enthaltenen Primärschlüssel angesprochen werden, ob die nun fortlaufend, sortiert oder nicht sind.

Zitatweil ich will halt dann wieder nur die gefilterten Datensätze aus dem Bereich mit häkchen versehen und nicht auch die die beim Filtern rausgefallen sind aber sich in dem Zahlenbereich befinden.
das verstehe ich überhaupt nicht - welche Art von Filter verwendest du dass der auch die Datensätze liefert, die er nicht liefern soll

Wenn ich deine Argumente so durchsehe, lese ich immer wieder, dass du anscheinen rein intuitiv Datensätze auswählst, weil DU weißt warum sie zu wählen sind.
Welche Art von Automatismus oder Benutzerfreundlichkeit willst du denn einem Programm beibringen, dem du die Information verweigerst, was es suchen soll?

ZitatNein weil die Kriterien müsste man ja jedesmal neu setzen weil sie eben jedes mal anders sind... sorry ist etwas komplizierter
Na eben - und wo liegt das Problem dieses Kriterium dem Programm bekant zu geben?

Selbst wenn sich in einem anderen Forum was entwickelt - du musst trotz Allem jeden Datensatz anklicken, wenn die nach deinem intuitiven Kriterium nicht in einer großen Gruppe erscheinend vorgefiltert werden.

...und bin schon wieder raus ...  :-X
Titel: Re: Kontrollkästchen markierter Datensätze auf True setzen
Beitrag von: Lizzy am Oktober 01, 2010, 10:17:33
Die Lösung des Problems ist wohl ein Endlosformular statt der Datenblattansicht und der Code von "Maxel" unter folgendem Link http://www.ms-office-forum.net/forum/showthread.php?&t=269862

Danke für die Hilfe.