PDA

Vollständige Version anzeigen : Kontrollkästschen dynamisch generieren


Franko Mustacho
25.06.2003, 14:22
Liebes Forum,

ich möchte n chkboxen automatisch erstellen lassen und zwar auf der grundlage von einer tabelle (die eben n werte enthält) - allerdings fehlt mir der Befehl eine solche chkbox zu erstellen ...

vielen dank frank

Szebin
25.06.2003, 21:48
Hallo Frank,

so ganz geht es nicht hervor, wofür und wann Du die Checkboxen anlegen möchtest.
Einfacher wäre es, einmal die Tabelle hochzuladen und eine Beschreibung dafür zu geben für was Du sie verwenden möchtest.

Gruß Sabine

Franko Mustacho
28.06.2003, 11:47
hier nun die angehängte person tabelle...

der name der person soll im formular neben einem kontrollkästschen erscheinen, wobei die anzahl der kontrollkästchen erst zur laufzeit generiert wird, da sich die personentabelle erweitern kann und somit auch die Kontrollkästchen ...

Ausserdem hab ich ma noch ne frage zur Verknüpfung von Tabellen via n:m Struktur. das beispiel ist auch in der mdb enthalten: ich habe ne tabele mit aufträgen, die an verschieden tagen erledigt wurden, auf der anderen seite will ich zu diesen aufträgen rechnungen erstellen, die aber immer mehrere aufträge erfassen. zum beispiel soll am 20.06.2003 eine Rechnung über die aufträge der letzten 5 tage generiert werden (hängt vom vorhergehenden rechnungsstellungsdatum ab, 5 tage bei datuM: 15.06.2003). nun geb ich aber nur die aufträge ein, will in einem formular auf einen schalter klicken, der die rechnung ziemlich selbständig erstellt. als verknüpfung muss im hintergrund eine hilfstabelle sein, die zwischen der rechnungs und der auftrags- tabelle steht und jeweils 1:n beziehungen setzt. die soll aber automatisch generiert werden: d.h. ich stelle eine neue rechnung - so soll er automatisch einräge in die help_tab vornehmen, wo er die rechnungsnr_IDs den auftrags_IDs zuordnet.

hab vielen dank und tausend grüsse nahe der tschechischen grenze ...

frank

Szebin
28.06.2003, 21:32
Hallo Frank,

habe ein Beispiel mit den Kontrollkästchen beigefügt.

Zu Deiner Frage mit den Verknüpfungen habe ich noch einige Fragen:
In der Tabelle Aufträge stehen doch sicherlich Aufträge für verschiedene Personen oder? Wenn Du einen neuen Auftrag eingibst, wählst Du nicht hier schon die Person_ID aus? Außerdem fehlt eigentlich noch eine Tabelle mit den Auftragspositionen, oder besteht der Auftrag nur für den Auftragsbruttopreis und wird nicht mit einzelnen Positionen aufgelistet? wie z.B.:
Menge Artikel Einzelpreis Gesamtpreis

Wenn ich Dich recht verstanden habe, möchtest Du in einem Formular die Person_ID für die Rechnungsanschrift, und die Aufträge für die Rechnungspositionen auswählen. Wenn die Auswahl der Person_ID für die Rechnungsanschrift ist, solltest Du lieber ein Kombinationsfeld nehmen und nicht eine Auflistung mit Kontrollkästchen. Das ist für den Anwender viel zu umständlich.

Gruß Sabine

Franko Mustacho
29.06.2003, 14:57
He Sabine,

vielen lieben Dank, dass Du mir so hilfst. Ich hoffe eines Tages kann ich Dir das 'heimzahlen'....

Zu der ganzen Auftragsgeschichte: Die Personen bleiben hier aussen vor. Bei den Personen handelt es sich auch um Mitarbeiter, die an einem Auftrag mitgearbeitet haben, d.h. Personal des Unternehmens XY. Worum es mir aber nun geht: Die Aufträge, welche erledigt wurden werden in Rechnung gestellt - allerdings nicht an Kunden sondern an eine Firma, welche diesem Unternehmen XY die Aufträge zugeschanzt hat. Allerdings wird nicht jeder Auftrag in Rechnung gestellt sondern eine Sammlung von Aufträgen von ca. einer Woche. Ich hab nun also ein Formular, in dem ich meine Aufträge eingeben kann (wer mitgearbeitet hat, Preis, Datum, gearbeitet von - bis, etc.) und ein Formular, in dem ich einen Zeitraum angeben kann und aus diesem Zeitraum zieht er mir die Aufträge und druckt die Rechnung. Um dies allerdings im Nachhinein nachvollziehen zu können (Rechnungsprüfung - schon gezahlt oder ni?) muss ich diesen gesammelten Aufträgen eine Rechnungsnummer zuweisen. Somit müsste automatisch eine Hilfstabelle angelegt werden, die die Auftrags_ID und die Rechnungs_ID beinhaltet. Wie allerdings mach ich das? Anfügeabfrage? -´Wie kann ich dann aber die Rechungsnummer mit einfügen? Anders? Solltest DU noch Fragen haben, frag mich bitte, weil ich verzweifel wirklich ein bisschen an dem Problem.

Dank nochmal für Deine Unterstützung und ich mach Dir noch mal ein anderes mdb file zurecht ...

Frank

Franko Mustacho
29.06.2003, 15:14
hier nochmal ein anderes file ...

Formular MonteurEingabe bringt Dich zur AUftragseingabe, ufrm_Rechnung zur Rechnug, hier soll dann der Befehlsbutton Rechnung erscheinen und das Gesagte in die Tat umgesetzt werden.

Zu den Tabellen: Haupttabelle: tbl_AFT_Mutschler (wobei Mutschler dann die 'höhere' Firma ist die dann die Sammelrechnungen bekommen (mit einer Rechnungsnummer allerdings); Box, MutschlerLeistung - alles Sachen die sich in der Hauptabelle als Verknüpfung wiederfinden. Das Personal wird via Hilfstabelle verknüpft: tblhelp_AFT_Mutschler. tblauto_Rechnnung soll automatisch angelegt werden (bei Rechnungsdruck) und tblhelp_Rechnung ist die Hilfstabelle, die die n:m Beziehung in zwei 1:n Beziehungen wandelt.

Ok und viel Spass ......

Frank

Szebin
29.06.2003, 16:38
Hallo Frank,

habe gerade Deine db heruntergeladen; doch die funktioniert nicht. Du hast sicherlich eine leere db angelegt und die erforderlichen Tabellen und Formulare importiert. Nach dem Importieren mußt Du die db kompilieren. Manchmal macht Access, daß ein Fehler beim Zugriff auf die Datei entsteht. Ich habe diese bescheu... Sache schon einmal mit einer db gehabt, von der ich vorher kein Backup gemacht hatte. Also, wenn Du Objekte in eine neue db importierst, bitte immer anschließen kompilieren. Kannste die db nochmals neu erstellen und nochmals hochladen. Danke

Jetzt habe ich noch ein paar Fragen zu Deinem Programm. Soweit ich das sehe, sind die Wege, die Du gewählt hast etwas umständlich - vieles läßt sich weitaus einfacher gestalten. Vor einiger Zeit habe ich Dir schon ein Formular mit der Auswahl von den drei Mitarbeitern entworfen, denke, Du erinnerst Dich noch. Dieser Weg scheint mir auch einfacher, als der mit den Kontrollkästchen. Bei den Kontrollkästchen kann der Anwender mehr als drei Mitarbeiter eingeben, oder ist das erforderlich. Ansonsten kannst Du mit dem Auswahlformular der drei Mitarbeiter schon Eingabefehler abfangen. (Ich lade Dir die db nochmals hoch)

Gibt es nur eine Firma, die dem Unternehmen XY Aufträge zuschanzt oder können es auch verschiedene sein.
Zu dem Kundenname: Sind es immer verschiedene Kunden oder besteht auch die Möglichkeit, daß ein Kunde wiederholt auftritt?

Gruß Sabine

Franko Mustacho
30.06.2003, 14:25
Liebe Sabine,

zu Deinen Fragen zuerst:
Es gibt evtl. die Möglichkeit, dass mehr als drei Monteure an einem Auftrag mitarbeiten, deswegen möchte ich es offen lassen und mittels der gefundenen Lösung (vgl. db im Anhang) funktioniert das auch ganz gut. (auflösung der n:M Beziehung mittels Hilfstab) Hingegen weiß ich nicht wie ich das mit der Rechnung machen soll. Mit Hilfstabelle, einfache Abfrage? (Bei Eingabe wird tbl_AFT_MUTS_Rechnung automatisch gefüllt und aus den Datumsangaben muss eine Abfrage gestrickt werden, die die tbl_AFT_Mutschler betrifft und sämtlichen Aufträgen, die im angegebenen Datumszeitraum liegen die passende RechnungsID zuweisen ... ?

Desweiteren gibt es mehrere Firmen, jedoch mit anderen Konditionen, so dass es mir sinnvoller erscheint, diese einzeln und seperat voneinander zu betrachten ...

Bei einer Kundendatenbank bin ich mir noch nicht so recht sicher: Der Kunde taucht nur mit Namen auf, Adresse, Telefon, etc. sind unwichtig. Allerdings muss es möglich sein, wenn eine Kunde zweimal als Auftragsnehmer auftaucht, das festzustellen - aber am Ende reicht da eine Abfrage.

Vielleicht hast Du auch eine Antwort auf die Frage: Wenn ich ein Kriterium einer Abfrage mittels VBA beeinflussen will - wie der Befehl, bzw. die Objekthierarchie ist?

Viele Grüsse und vielen Dank für Deine Mühen Frank

PS: Ich hoffe der Anhang funktioniert ....

Szebin
30.06.2003, 21:01
Hallo lieber Frank,

habe gerade Deine db heruntergeladen, funktioniert prima. Leider habe ich erst morgen Abend Zeit, sie mir näher anzuschauen. Ich hoffe, das reicht Dir aus.

Gruß Sabine

Franko Mustacho
01.07.2003, 00:30
na klar ...

Szebin
01.07.2003, 22:49
Hallo Frank,

habe die db soweit überarbeitet, daß die Rechnungsstellung funktioniert. Ich hoffe, das ist, was Du wünscht. :sun:

Gruß Sabine