Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

openargs

Begonnen von Carl, September 15, 2017, 16:23:58

⏪ vorheriges - nächstes ⏩

Beaker s.a.

Hallo Franz,
Danke für die Korrekturen.
Mal wieder so dahin geschrieben ohne es zu testen.  >:(
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Carl

Vielen Dank, ich schaue mir das in Ruhe an.

Carl

Vielen Dank. Es funktioniert mit dem openarg!

Wie kann ich denn die Bedingung [mo01]=Ja übergeben? Schreibt man das zwischen die Kommas?

Wie kann man denn bei
DoCmd.OpenForm "frmAngebotsnutzungMo", , , , , acDialog, ctl.Value

(Die Kerbe kenne ich. Das Problem ist, wie immer, dass niemand alles auf einmal, sondern erst nach und nach lernen kann und ich habe ja schon ne Menge normalisiert in dieser Datenbank.)


DF6GL

#18
Hallo,

ein Blick in die Hilfe bringt oftmals Klarheit....

Ebenso hilft IntelliSense, wenn die Codezeile bearbeitet wird.

ZitatSchreibt man das zwischen die Kommas?

Die Kommata sind die Abtrennungen für die Parameter, die der Openform-Methode übergeben werden (können) . Für die Bedingung ist der "Where-Condition"-Parameter zu benutzen, und der befindet sich zwischen dem 3. und 4. Komma und ein String sein muss. Beachte also die Anführungszeichen.

DoCmd.OpenForm "frmAngebotsnutzungMo", , ,"[mo01]=true" , , acDialog, ctl.Value


Zitat
schon ne Menge normalisiert


naja, für die Erkennung der "Menge" braucht es aber eine Lupe  .. ;)
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Carl

Vielen Danke!! Die Module sind so eine Art Ablage für übergreifende Befehle.

Kann man in ein Modul prinzipiell mehrere Befehle schreiben, zum Beispiel wenn sie von der Funktion her gleich gelagert sind?

MzKlMu

Hallo,
in dieser Datenbank ist gar nix normalisiert.
Und die Module für übergreifende Befehle haben mit Normalisierung nichts zu tun.

Ich würde mal behaupten, je mehr normalisiert, je weniger Module.
Gruß Klaus

Carl

Womit ist denn zu rechen, wenn man in ein Modul einen weiteren Befehl rein schreibt?

bahasu

Hi Carl,

Zitat von: Carl am September 26, 2017, 19:12:02
Kann man in ein Modul prinzipiell mehrere Befehle schreiben, zum Beispiel wenn sie von der Funktion her gleich gelagert sind?

Im Modul kannst Du eine "wilde Mischung" von Befehlen eintragen, die rein gar nichts miteinander zu tun haben.
Besser wäre es allerdings die Module thematisch anzulegen:
- Datei-Operationen
- Grafik-Routinen
- usw.

Wie Klaus aber geschrieben hat, muss stets am Anfang das Datenmodell (Tabellen und die Relationen zwischen den Tabellen) sauber definiert sein als Basis für alles weitere (Abfragen, Formulare, Berichte). Es lohnt sich immer, dafür genügend Zeit einzuplanen (ich mache das am liebsten an einem verregneten Wochenende), um späteres Rumbasteln zu vermeiden.

Harald
Servus

Beaker s.a.

Hallo,

@ Harald
Zitatich mache das am liebsten an einem verregneten Wochenende
Das schaffst du aber auch nur weil du die Regeln (NF) kennst.
Beim TS könnte dabei schon ein verregneter Urlaub draufgehen, -
bestenfalls.

@ Carl
Nicht verzagen, was Klaus und Harald schreiben ist aber essentiell
wichtig.
Die Zeit, die du in ein korrektes Datenmodell steckst, holst du später
mehrfach! wieder rein.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Lachtaube

Stell Dir folgendes Szenarium vor. Die DB im aktuellen Zustand läuft befriedigend. Der Vorstand Eurer Organisation hat beschlossen, 3 neue Berufsgruppen einzustellen und die Therapien in den Sommermonaten auch auf Samstage auszudehnen, dafür aber um eine Woche zu kürzen.

Na, dann geht die ganze Chose (Tabellen, Abfragen, Formulare und Berichte ändfern) wieder von vorne los (... und bezahlt werden muss diese Bastelei ja auch noch). Mit einem ordentlichen Datenmodell hingegen würde man einige neue Datensätze anlegen und gut ist.
Grüße von der (⌒▽⌒)

Carl

Ich kann das aber nicht und da ich kein Programmierer bin, lerne ich erst nach und nach dazu.

Lachtaube

Carl, ein Programmieren ist dafür unnötig - Normalisierung der Tabellen mit den sich wiederholenden Spalten ist angesagt. Was z. Bsp. die Berufsgruppen angeht, wäre eine Lösung wie in Don't use Yes/No fields to store preferences anzustreben. Ähnlich verfährt man mit den Wochentagsgeschichten - danach kannst Du 80% (oder unter Umständen sogar alle) Deiner DLookupgeschichten (welche in Massen auftretend zu den großen Performance-Bremsen gehören) aus den Formularen (und Berichten) verbannen.
Grüße von der (⌒▽⌒)

MzKlMu

@Lachtaube
den Link zu der AllenBrowne Seite habe ich schon am 22.9. (#13) gepostet.

Hat scheinbar nichts genutzt.  ;D
Gruß Klaus

Carl

Das mit der Zuordnungstabelle für die Seminare habe ich aus bestimmten Gründen nicht weiter verfolgt. Zum einen werden nie neue Felder hinzu kommen. (Es sind ja bereits jetzt 4 mal mehr Felder da, als überhaupt gebraucht werden.) Zum anderen, und das ist das Wichtigere, sollen die Einträge nicht in einer Liste, sondern an bestimmten, immer gleich bleibenden Plätzen im Formular angezeigt werden. Hier kommen auch keine hinzu, weil ja der Tag immer nur 8 Stunden haben wird. Bei einer Anzeige über eine Zuordnungstabelle bräuchte ich daher ohnehin dlookup.

Die berufsgruppen könnte man über eine Zuordnungstabelle machen, aber derzeit habe ich da keinen Nerv dazu. Ich brauche erstmal ein funktionierendes Endlosformular.