Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Laufzeitfehler

Begonnen von Rainer 1984, Januar 27, 2011, 19:29:32

⏪ vorheriges - nächstes ⏩

MzKlMu

Hallo,
ohne die Diskussion über PK in jeder Tabelle neu anzustoßen,  ;D möchte ich aber noch zu Bedenken geben, dass die n-Tabelle auch wieder eine 1-Tabelle sein kann.
Z. B.: Kunde (1) (n) Auftrag (1) (n) Auftragsdetails.
Dann macht auch wieder der PS als Autowert in der Auftragstabelle wieder Sinn. Die letzte Tabelle bräuchte keinen Primärschlüssel, oder man macht einen zusammengesetzten PS.
Gruß Klaus

database

Hallo,

@MzKlMu
Hallo Klaus, da bin ich ganz und gar bei dir.
Dieses wollte ich gerne - wie von dir skizziert - im Fall einer Beziehung zwischen tblAuftrag und tblAuftragsdetails verstanden wissen,
wo ein PK in tblAuftragsdetails nicht unbedingt benötigt wird und für einen Einsteiger auch eher verwirrend wirkt.
Ich habe aber auch vorhin schon auf diese besondere Konstellation einer REINEN Detailtabelle hingewiesen in der es nicht unbedingt erforderlich ist einen PK zu haben. ::)

ZitatEs ist jedoch trotz dieser Gegenargumente auch nicht falsch einen Primärschlüssel in reinen Detailtabellen zu haben - es ist halt meist nicht unbedingt notwendig.

Rainer 1984

Hallo Peter,

jetzt will ich sehr vorsichtig Schritt für Schritt vorgehen.

Habe angefangen, Nachschlagefelder in Formularen zu erstellen, dabei bin ich auf einen "Abfragegenerator" gestossen. Soll ich DEN als "Nachschlagefeld" benutzen - so wie in der von Dir geänderten Datei?

ZitatSchau dir bitte UNBEDINGT die Links #1 und #2 in der Signatur von DF6GL an!!!! 
In welchem Thread?
Im hiesigen Thread gibt es keine Antwort von DF6GL.
Im Thread "Datum oder Zahl" ist die Antwort #1 von DF6GL, die Antwort #2 jedoch wieder von mir (und nicht von DF6GL).
Welche meinst Du genau?

Viele Grüße

Rainer

MzKlMu

Hallo,
ZitatIn welchem Thread?
Im hiesigen Thread gibt es keine Antwort von DF6GL.
Die Links sind in der Signatur von DF6GL und damit in irgendeiner Antwort von Ihm.
Mit den Zahlen #1 und #2 sind die Links gemeint und keine Beitragsnummern.
Gruß Klaus

Rainer 1984

Hallo MzKlMu,

ah so! Links - nicht Antworten.  ::)
Habs kapiert!
Danke!!!  :)

Viele Grüße

Rainer

database

Hallo Rainer,

das ursprüngliche Problem (Laufzeitfehler) entstand durch das 2-malige Vorhandensein der Prozedur Form_Close.
Dieses Problem ist - glaube ich - aus der Welt geschafft  ;)

Die aktuelle Fragestellung hat mit dem Ursprungsproblem dieses Threads nix meht zu tun, weshalb ich vorschlagen möchte, dieses Thema zu beenden.
Wir entfernen uns sonst immer weiter von der Thematik des Ursprungs und das würde wiederum die Trefferquote bei Forumsuchen beeinträchtigen.

Diesen Thread daher bitte in DEINEM ERSTEN Beitrag auf 'gelöst' setzen und ein neues Thema  z.B. Erstellung von Kombifeldern aus Nachschlagetabellen beginnen  ;D  DANKE!

Rainer 1984

Hallo Peter,

tut mir leid - bin stark vom Thema abgewichen.  :-[

Habe mir Deine Änderungen nochmal angesehen. Das Formular für "Artikelnummernkreise" geht jetzt in einem kleinen Fenster (anders als das auf der gleichen Ebene stehende Formular "Artikelstamm") und von dem ursprünglichen Code (also Fenster schliessen) ist nicht mehr viel zu sehen.
Ich (vor allem als Anfänger) würde gerne auf der "einfachen Ebene" bleiben.
Ich würde alle Formulare gerne als "Ganzfensterformular" öffnen (wie gehabt).
Gibt es auch eine einfachere Alternative zum "Form_Close"-Code?

Als Alternative bleibt mir evtl. auch die Möglichkeit auf Codes zu verzichten und die Fenster der Nachschlageformulare mit einer angebrachten Schaltfläche (die mit dem "X") zu schliessen.

Schönen Abend und viele Grüße

Rainer

database

Hallo Rainer,

Zitattut mir leid - bin stark vom Thema abgewichen
Ist keine fürchterliche Tragik - wollte nur drauf hinweisen, dass ein neues Thema besser geeignet ist als auf gelösten Problemen weiterzuschreiben.

Um die Formulare als 'Ganzfensterformular' zu öffnen braucht es keinen Code, du musst in den Formulareigenschaften auf der Registerkarte 'Andere' bei PopUp NEIN einstellen.

Zu einem Ereignis gibt es keine Alternative - schließen ist schließen und öffnen ist öffnen ...
Du hast versucht einen neuen Eintrag, der ins Kombifeld eingegeben wurde per Schließen-Ereignis in die Tabelle zu verfrachten, das ist in die Hose gegangen.

Ich habe dir in meinem Beispiel gezeigt, wie das Eintragen der Fremdschlüssel gehandhabt wird ohne ein Formularereignis dazu zu bemühen.
Ich habe angenommen, dass du etwas Kenntnisse bzgl. VBA besitzt, denn es gab (gibt) ja immer noch das 'Not In List' - Ereignis hinter dem Kombifeld,
das aber jetzt nach meiner Umstellung auf Schlüsselwerte nicht mehr in der Form funktioniert wie es gestaltet ist - das kannst du also raus nehmen.

Wenn du nun im Formular 'Artikelstamm' eine Kategorie auswählst, wird diese ohne eine einzige Zeile Code in die Tabelle geschrieben.
.....
ZitatIch (vor allem als Anfänger) würde gerne auf der "einfachen Ebene" bleiben
.....  das ist die einfache Ebene   ;)

ZitatAls Alternative bleibt mir evtl. auch die Möglichkeit ....

Was du damit meinst ist mir nicht ganz klar - welche 'Nachschlageformulare' ?

Das Formular 'Artikelkategorien' dient dazu Artikelkategorien zu erstellen oder bestehende zu ändern.
Die so erstellten oder geänderten Kategorien stehen dann im Formular 'Artikelstamm' als Eintrag/Auswahl im Kombifeld 'Artikelkategorien' zur Verfügung.
Das ist keine Nachschlageformular wenn du das meinst - das ist ein ganz normales Formular zur Eingabe und Bearbeitung von Datensätzen (in dem Fall für die Tabelle 'Artikelkategorien')

Zitat...mit einer angebrachten Schaltfläche (die mit dem "X") zu schliessen
I.d.R. werden Formulare nicht über die X-Schaltfläche geschlossen sondern über einen eigenen, am Formular angebrachten Button mit dem Namen 'Schließen'.
Der Code im Ereignis 'Beim Klicken' dieses Buttons lautet dann:

   DoCmd.Close acForm, "NameDeinesFormulars"

die Abarbeitung dieses Befehls löst seinerseits dann das Ereignis 'Beim Schließen' des Formulars aus .... (das du aber für die derzeitige Funktionalität nicht benötigst)

Insgesamt - glaube ich - musst du dich sehr intensiv mit den Grundlagen der Access-Materie befassen, lernen zu erkennen, wann was abläuft und wie man dieses steuern kann.
Planung von Tabellen, setzen von Beziehungen, Normalisierung, Erstellen von Abfragen, Erstellen von Formularen und Berichten runden das Ganze dann ab.
Das hat noch nichts mit VBA-Programmierung zu tun, ich sehe, dass dir einiges an Kenntnis über funktionale Zusammenhänge fehlt.
Das ist keine Schande, da jeder, der sich mit Access beschäftigt irgendwann mal anfangen muss zu lernen - ist mir nicht anderes ergangen.

Das soll aber bitte nicht heißen, dass wir dir hier im Forum nicht helfen wollen oder werden - aber einen ordentlichen Satz an Grundlagenwissen solltest du dir davon unabhängig rasch aneignen um die eigene Frustgrenze so hoch wie möglich anzusetzen.

HTH

Rainer 1984

Hallo Peter,

zuerst mal tausend Dank für Deine ausführliche Antwort!  :)

ZitatUm die Formulare als 'Ganzfensterformular' zu öffnen braucht es keinen Code, du musst in den Formulareigenschaften auf der Registerkarte 'Andere' bei PopUp NEIN einstellen.
Aha, das hat ja geklappt - wenn man weiß, wo man's macht!  ;)

ZitatIch habe angenommen, dass du etwas Kenntnisse bzgl. VBA besitzt...
Nein, keine - erst am 23. Januar habe ich begonnen, mich damit auseinander zu setzen, siehe auch meinen Thread "Verknüpfung zu anderem Formular". Wollte auch ursprünglich noch gar nix mit Codes zu tun haben, doch dann kam die große Versuchung, siehe auch oben besagten Thread.

ZitatWas du damit meinst ist mir nicht ganz klar - welche 'Nachschlageformulare' ?
Damit habe ich das Formular "Artikelkategorien" gemeint - habe mich etwas missverständlich ausgedrückt.  ::)

ZitatI.d.R. werden Formulare nicht über die X-Schaltfläche geschlossen...
Die habe ich nicht gemeint!

Zitat...sondern über einen eigenen, am Formular angebrachten Button mit dem Namen 'Schließen'.
Genau das habe ich gemeint (das Anbringen eines Buttons) - sorry, habe mich lückenhaft ausgedrückt.

ZitatInsgesamt - glaube ich - musst du dich sehr intensiv mit den Grundlagen der Access-Materie befassen...
Ja, das ist wahr! Habe erst Ende letzten November angefangen, mich mit Access auseinander zu setzen. Dazu habe ich mir Anfang Dezember das wirklich gut geschriebene Access-Handbuch von Lorenz Hölscher geholt und muss feststellen, dass vieles doch anders gestaltet werden kann, als darin beschrieben. Auch habe ich so manches darin gar nicht gefunden. Vieles muss man sich im Internet zusammensuchen. Aber mittlerweile bin ich auf gute Seiten im Netz gestoßen - auch Dank Eurer Hilfe.

Viele Grüße

Rainer