Neuigkeiten:

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

Mobiles Hauptmenü

Access-Newbie möchte eine Datenbank erstellen. Wer mag helfen?

Begonnen von Maik November, November 26, 2012, 18:56:25

⏪ vorheriges - nächstes ⏩

Maik November

#30
okay   8)

Streicht Punkt 6

habe gerade die Komprimierung gefunden von Access  ;D

Beaker s.a.

Hallo Maik,
Zu 2:
Nein. Du kannst das Feld doch einfach leer lassen.
Das Feld ist auf Tabellenebene ja mit "Eingabe
erforderlich" = Nein eingerichtet.
Zu 3:
Ja, dazu brauchst Du eine neue Tabelle. An Feldern
müssen da mindestens ein PK (Autowert), ein
Feld für die KartenID (FK), ein Datumsfeld und ein
Feld für Zu- und Abgänge rein.
Weitere Felder nach Belieben/Anforderung.
Der aktuelle Bestand lässt sich dann jederzeit mit
einer Abfrage bzw. einer Dom-Funktion ermitteln,
auch termingenau.
Ob Du dazu ein extra Form brauchst, musst Du selber
entscheiden. Ich würde das über ein UFo im Karten-
Form machen.
Zitataber ich bekomme nicht die DS-Anzeige so wie bei den Ländern hin, damit ich diese bearbeiten kann.
Das habe ich nicht verstanden.
ZitatHabe jetzt die Lösch-Buttons von btnloeschen bis btnloeschen4
Nein, das ist nicht nötig, da alle auf verschiedenen
Formularen. Control-Namen können nur auf einem
Form nicht gleich heissen. Das kann aber auch nicht
passieren, da Access das anmeckert.
Ansonsten ist mir noch Folgendes aufgefallen:
a) in allen Modulen fehlt im Kopf die Zeile:
Option Explicit
Trage das unbedingt nach. Um das in allen neuen
Modulen automatisch eintragen zu lassen musst Du im
VBE im Menue Extras->Optionen auf dem Register "Editor"
das Häkchen bei "Variablendeklaration erforderlich"
setzen.
b) Deine Formular-Navigation finde ich nicht schlüssig.
Warum gehst Du von den Verwaltungsformularen zurück
auf das Startform statt zurück auf dein Form Verwaltung?
hth
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)

Maik November

Soooooo Leute... der Newbie lebt noch und hat etwas weiter versucht machen.... (wie gesagt versucht)

An Beaker:
Danke für deine Hilfe aber ich bin echt ein Neuling in Sachen DB. Was ist eine DOM-Funktion und wo habe ich Module???? AAAAAHHHHHH Komme gar nicht klar. Sorry...

Desweiteren an alle anderen:
wenn ich den Nachschlageassistenten nicht nutzen darf, bekomme ich es nicht hin eine Verknüpfung aufzubauen. Ich kann es auch nicht bei den bestehenden Nachschauen... wie habt ihr das also gemacht? Brauche noch Verbindung zwischen den Tab_Lieferer_Empfanger und Tab_Bestandsfuehrung damit der jeweilige Lieferer oder Empfänger in der Tab_Bestandsfuehrung angezeigt wird. Dann wollte ich auch noch den Bestand in der Tab_Kartenuebersicht mir anzeigen lassen.
Also bitte eine step by step Anleitung in Newbie-Sprache.

Dann... warum öffnet sich immer meine Startansicht (das Formular) beim Öffnen? Wie kann ich das rückgängig machen? Ich vermute mal dass das der ein Grung ist, warum ich das Frm nicht schließen kann mit dem btn aufm Frm.

Dannoch die Frage, ob es besser wäre wenn die Frm-Navigation, so aufgebaut wäre, dass ein Frm sich öffnet und das alte schließt? Wenn ja, wie mache ich das?

Auch bei der Bestandführung brauche ich noch Hilfe. Wie kann ich das Datum sich selber eintragen lassen und wie geht das mit der automatischen Bestandsberechnung zwischen Vereinnahmung und Verausgabung?

so soon

[Anhang gelöscht durch Administrator]

Beaker s.a.

Hallo Maik,
ZitatWas ist eine DOM-Funktion
Die korrekte Bezeichnung lautet
Domänenaggregat-Funktion
(z.B. sind das DLookup, DSum usw.)
schau mal in die Online-Hilfe.
Zitatwo habe ich Module
Das sind die "Fenster" in denen der Code
steht (soweit vorhanden). Öffne mal den
VB-Editor und drücke Strg-R. Dann öffnet
sich der Projekt-Explorer und zeigt Dir alle
vorhandenen Module an. Davon gibt es ver-
schiedene Arten; - die Access-eigenen Klassen-
Module (Formulare, Berichte), die so genannten
"allgemeinen Module", die Du nach Bedarf
selber anlegst, und eigene Klassenmodule, die
auch von Dir angelegt werden (können).
Zitatwenn ich den Nachschlageassistenten nicht nutzen darf, bekomme ich es nicht hin eine Verknüpfung aufzubauen.Ich kann es auch nicht bei den bestehenden Nachschauen... wie habt ihr das also gemacht? Brauche noch Verbindung zwischen den Tab_Lieferer_Empfanger und Tab_Bestandsfuehrung damit der jeweilige Lieferer oder Empfänger in der Tab_Bestandsfuehrung angezeigt wird.
Per Kombinationsfeld(ern) auf den Formularen.
Die Beziehungen zwischen den Tabellen stimmen
IMO ja soweit. Bis auf die Tab_Bestandsfuehrung,
die habe ich geändert. Für Zu- und Abgänge braucht
es nur ein Feld (hab's mal Bewegung genannt); -
dann fehlte das Feld für den Fremdschlüssel auf
die Karten. Das ist das wichtigste (siehe meine Be-
schreibung in #31).
Der Bestand wird in der neuen Abfrage Qry_Bestand
berechnet und im Form per DLookup (s.o.) angezeigt.
Das Feld "Bestand_Z" ist gestrichen.
ZitatAlso bitte eine step by step Anleitung in Newbie-Sprache.
Sorry, ich habe das schneller eingebaut, als dass ich
das beschreiben könnte. Schau es Dir an, versuche es
zu verstehen und stelle ggfls. gezielte Fragen. So wie
diese:
ZitatDann... warum öffnet sich immer meine Startansicht (das Formular) beim Öffnen?
Das hatte ich schon mal eingebaut, weil es ja eben
"Startansicht" heisst. Kannst Du hier wieder ausschalten; -
Menue Datei -> Optionen -> Aktuelle Datenbank -> Formular anzeigen
ZitatIch vermute mal dass das der ein Grung ist, warum ich das Frm nicht schließen kann mit dem btn aufm Frm.
Nein, das hat damit nichts zu tun. Das liegt daran, dass
Du den Button umbenannt und ihm eine Prozedur verpasst
hast, die das Form nicht schliesst, sondern das Startform
öffnet. Benenne den Button wieder mit "btnSchliessen",
und schau dir den Code an.
ZitatDannoch die Frage, ob es besser wäre wenn die Frm-Navigation, so aufgebaut wäre, dass ein Frm sich öffnet und das alte schließt? Wenn ja, wie mache ich das?
Für Dich als Anfänger wäre es einfacher die Formulare
mit einem Schliessen-Button so wie gerade beschrieben
zu schliessen. Sonst müstest Du
1. auf jeden Form einen Button a la "Zurück zum
Hauptmenu" einbauen, was noch das einfachste ist, aber
2. im Form Startansicht eine Prozedur einbauen, die
durch die geöffneten Formulare schleift und dabei alle
Formulare ausser der Startansicht schliesst. Das machen
wir mal, wenn Du besser durchblickst.
ZitatWie kann ich das Datum sich selber eintragen lassen
Per Standardwert (siehe Version 04B).
Zitatund wie geht das mit der automatischen Bestandsberechnung zwischen Vereinnahmung und Verausgabung?
Gar nicht. Wie oben (und früher) beschrieben läuft das
über die Summierung eines Feldes (siehe auch
Version 04B).
So, nun schau mal ob Du weiterkommst.
gruss ekkehard

[Anhang gelöscht durch Administrator]
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)

Maik November

So... fettes Danke an Beaker...

Sieht ja schon fast fertig aus. Cooli...

aber es soll ja nicht langweilig werden hier... also...

Ich bekomme nicht bei der Startansicht den Schließbtn hin... habe in VB alles über den alten btn gelöscht und den btn neu angelegt und noch immer ist irgendwas dirty... hmmm... wer weiss was?

zu:
Zitat von: Beaker s.a. am November 29, 2012, 23:14:57
a) in allen Modulen fehlt im Kopf die Zeile:
Option Explicit
Trage das unbedingt nach. Um das in allen neuen
Modulen automatisch eintragen zu lassen musst Du im
VBE im Menue Extras->Optionen auf dem Register "Editor"
das Häkchen bei "Variablendeklaration erforderlich"
setzen.
habe ich gemacht. wo für war das gut und wichtig?

Desweiteren wollte ich nun einen Bericht anlegen über meine Kartenübersicht, aber es werden natürlich die Zahlen der Verlinkung angezeigt. Wie kann ich das beheben?

Das gleiche habe ich auch bei der Bestandsführung, wenn ich die Karte auswählen will, die Serie wird in einer Zahl angegeben.

Dann musste ich in der Tab_Land einen Nulleintrag machen, obwohl die Option auf Eintrag erforderlich = Nein ist machen. Ich konnte keine Karte neu in den Bestand aufnehmen, wenn ich das Land nicht befüllt habe. Kann man das noch ändern?

Desweiteren, wenn ich einen Bestand ändere in der Bestandsführung, wird der Bestand nicht aktualisiert, wenn die Karten übersicht noch offen ist. Was ja auch klar ist. Gibt´s da nun auch nen Trick oder soll ich doch jedes Formular beim wechseln so einstellen, das sie sich schließen? Damit sie immer den aktuellen DS aufrufen.

Habe noch viele kleine weitere Ideen.... müsst also sagen, wenn es zu dumm oder zu nervig wird.

Aber danke, das Ihr mir so toll helft. Wäre noch lange nicht alleine bis hier hin gekommen. Ihr seit TOP!!!!
so soon

[Anhang gelöscht durch Administrator]

Beaker s.a.

#35
Hallo Maik,
ZitatIch bekomme nicht bei der Startansicht den Schließbtn hin... habe in VB alles über den alten btn gelöscht und den btn neu angelegt und noch immer ist irgendwas dirty... hmmm... wer weiss was?
Verstehe ich nicht, der Button funzt doch; - jedenfalls
bei mir wird das Form geschlossen. Die Zeile mit der
Abfrage auf Me.Dirty macht in dem Form keinen Sinn,
da das Form keine DS-Herkunft hat, und somit auch
nicht Dirty werden kann. Habe ich mal auskommentiert.

Bezügl. Option Explicit lies die OH.

ZitatDann musste ich in der Tab_Land einen Nulleintrag machen, obwohl die Option auf Eintrag erforderlich = Nein ist machen. Ich konnte keine Karte neu in den Bestand aufnehmen, wenn ich das Land nicht befüllt habe. Kann man das noch ändern?
Sorry, das war mir bis jetzt noch nicht aufgefallen; - hatte
beim Kurztest immer nur komplett ausgefüllte DS angefügt.
Die Ursache ist die Tab_Land_land in der Qry_Kartenueber-
sicht. Die muss mit einem RIGHT JOIN statt mit einem INNER
JOIN verknüpft werden (hab ich geändert, und den leeren DS
gelöscht).
Zitatwenn ich die Karte auswählen will, die Serie wird in einer Zahl angegeben.
Spiele bei dem Kombi mal ein bißchen mit den Spaltenbreiten
herum. Ich weiss ja nicht, wonach Du eine Karte finden willst.
Falls direkt mit ihrem PK, brauchst Du nur die erste Spalte > 0cm
zu setzen.
ZitatDesweiteren, wenn ich einen Bestand ändere in der Bestandsführung, wird der Bestand nicht aktualisiert, wenn die Karten übersicht noch offen ist. Was ja auch klar ist. Gibt´s da nun auch nen Trick oder soll ich doch jedes Formular beim wechseln so einstellen, das sie sich schließen? Damit sie immer den aktuellen DS aufrufen.
Das geht mit einem Me.Requery im Ereignishandler Form_Activate.

Den Bericht schau ich mir mal am WE an, heute ist's mir zu spät.

gruss ekkehard

[Anhang gelöscht durch Administrator]
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)

Maik November

#36
Hallo... bald habe ich endlich Urlaub und kann mich jeden Tag um die DB mit eurer Hilfe kümmern.

Sodele, ich habe noch immer ein altes Problem:
in der Tab_Kartenübersicht sind verschiedene *_F Felder. In der Qry_Kartenzebersicht natürlich auch. Dank dieser Felder, wir in meinen Frm_Bestandsfuehrungin die Serie in der Karten_ID_F als Zahl an gegeben. Sprich für Kiel, wird die Serie_ID 3 und für die andere Karte 1 angezeigt. Eigentlich sollte da M745 und GNC stehen.
Wie bekomme ich es also hin, dass das Feld Karten_ID_F auf die Tab_Serie_Series zugreift und nicht auf den Fremdschlüssel in der Kartenübersicht? Sprich ich möchte den Klartext von der Verlinkung sehen auf die diese zugreift. ich möchte nicht die Zahl vom *_F Feld sehen sondern den Text, auf den sie zugreift.

Dann habe ich doch echt mal was alleine hinbekommen , nämlich die Summierung im Bericht vom Bestand. Habe auch nur eine Stunde dafür gebraucht. Nehmt mich also nicht so hart ran...

Dann versuche ich auch schon ganze Zeit mit den Makros rum zu spielen... brauche da mal kurz eine Einweisung. Wie bestimme ich, wie ich ein bestimmtes Formular z.B. maximiere? Am besten gleich die Startansicht beim aufrufen der DB. Möchte später die ganze DB nur noch über die Formulare steuern, sprich alles andere ausblenden.
Wo wir gerade dabei sind, wie blende ich alles aus? Spiele ja schon an der Startansicht rum, aber wenn ich bei anzeigen Schließen oder verkleinern auf nein mache bringt das nicht viel.
Wenn ich das nun bei der Startansicht mache und alles andere ausblende, muss ich dann auch das maximieren bei jedem anderen Frm machen?

Dann noch eine weitere Frage zum Frm_Bestandsfuehrung:
Wenn ich irgendwann mal alle meine Karten (über 500stk) in die DB einpflege, gibt´s dann eine besser Form des Auswählens unter Karten (Kombifeld: Karten_ID_F) als scrollen???

Ich denke das reicht dann auch mal wieder an dummen Fragen.

so soon

[Anhang gelöscht durch Administrator]

Beaker s.a.

Hallo Maik,
Zitatin der Tab_Kartenübersicht sind verschiedene *_F Felder. In der Qry_Kartenzebersicht natürlich auch. Dank dieser Felder, wir in meinen Frm_Bestandsfuehrungin die Serie in der Karten_ID_F als Zahl an gegeben. Sprich für Kiel, wird die Serie_ID 3 und für die andere Karte 1 angezeigt. Eigentlich sollte da M745 und GNC stehen.
Wie bekomme ich es also hin, dass das Feld Karten_ID_F auf die Tab_Serie_Series zugreift und nicht auf den Fremdschlüssel in der Kartenübersicht? Sprich ich möchte den Klartext von der Verlinkung sehen auf die diese zugreift. ich möchte nicht die Zahl vom *_F Feld sehen sondern den Text, auf den sie zugreift.
Damit Du was lernst, baue ich Dir das jetzt mal nicht ein,
sondern beschreibe Dir wie Du das machen kannst.
Öffne das Form "Frm_Bestandsführung" in der Entwurfsansicht;
markiere das Kombi "cboKartenID" und öffne das Eigen-
schaften-Fenster (F4)
markiere die Zeile Datensatzherkunft (im Register "Daten"
und klicke auf den Button mit den drei Punkten (der Abfrage-
Editor öffnet sich).
Im oberen Bereich machst Du jetzt einen Rechtsklick und
wählst die Option "Tabellen Anzeigen", aus der Liste wählst
Du nun die Tabelle "Tab_Serie_Series".
Durch die angelegten Beziehungen wird diese direkt ange-
zeigt und "im Hintergrund" mit der schon vorhandenen
"Tab_Kartenübersicht" gejoint.
Im unteren Bereich suchst Du nun die Spalte mit dem FK
(sollte die zweite sein).
In der Zeile Tabelle wählst Du die "Tab_Serie_Series" und
in der Zeile Feld "Serie_Series".
Editor schliessen (Speichern JA)
Jetzt noch die Spaltenbreiten anpassen (Eigenschaftenblatt
-> Register "Format"
Dort siehst Du einer Liste der Spaltenbreiten von der 1. bis
zur 5. Die sah in meinem letzten Beispiel so aus:
1cm;3cm;3cm;3cm;3cm
Die erste Spalte setzt Du auf 0cm
0cm;3cm;3cm;3cm;3cm
Formular speichern und anschauen.
Letzteres hatte ich aber hier schon mal angesprochen:
ZitatSpiele bei dem Kombi mal ein bißchen mit den Spaltenbreiten
herum. Ich weiss ja nicht, wonach Du eine Karte finden willst.
Falls direkt mit ihrem PK, brauchst Du nur die erste Spalte > 0cm
zu setzen.

ZitatDann versuche ich auch schon ganze Zeit mit den Makros rum zu spielen...
brauche da mal kurz eine Einweisung
Lass es; die verwendet eigentlich niemand. Weshalb Du da auch kaum
Unterstützung bekommst; - da passen selbst die (echten) Profis.
ZitatWie bestimme ich, wie ich ein bestimmtes Formular z.B. maximiere?
Private Sub Form_Open()
   DoCmd.Maximize
End Sub

Eigentlich brauchst Du das aber gar nicht, weil Du ja die Formulare
ja in der Registerkarten-Ansicht öffnest, da sind sie immer maximiert.
ZitatWenn ich irgendwann mal alle meine Karten (über 500stk) in die DB einpflege, gibt´s dann eine besser Form des Auswählens unter Karten (Kombifeld: Karten_ID_F) als scrollen???
Sicher, kommt nur darauf an wonach Du suchen willst.
Das Kombi ist ja auf "automatisch ergänzen" eingestellt.
Wenn Du also die Serien-Nr. im Kopf hast, fängst Du an, die im
Kombi einzugeben, und es werden der Reihe nach alle passenden
angezeigt (Kombifeld halt).
Ich würde das allerdings über das Form Frm_Kartenuebersicht
anstossen; - Frm_Bestandsfuehrung öffnen (per Button) und
die Kartennummer direkt übergeben.
Da brauch man die Suche nach einer Karte nur in einem Form
ein zu bauen; - da wo sie IMO hingehört.
hth
gruss ekkehard

P.S. Deine neue Version habe ich mir diesmal nicht angeschaut.
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)

Maik November

#38
Frohes Neues,

endlich bin ich wieder da und kann wieder Sachen fragen...

hatte über drei Wochen kein Internet weil man sich einfach nicht auf die Telekom verlassen kann... aber das ist ein anderes Thema

Zitat
in der Tab_Kartenübersicht sind verschiedene *_F Felder. In der Qry_Kartenzebersicht natürlich auch. Dank dieser Felder, wir in meinen Frm_Bestandsfuehrungin die Serie in der Karten_ID_F als Zahl an gegeben. Sprich für Kiel, wird die Serie_ID 3 und für die andere Karte 1 angezeigt. Eigentlich sollte da M745 und GNC stehen.
Wie bekomme ich es also hin, dass das Feld Karten_ID_F auf die Tab_Serie_Series zugreift und nicht auf den Fremdschlüssel in der Kartenübersicht? Sprich ich möchte den Klartext von der Verlinkung sehen auf die diese zugreift. ich möchte nicht die Zahl vom *_F Feld sehen sondern den Text, auf den sie zugreift.


Die Problem habe ich nun auch bei den Rpt... Wollte die Anleitung von Beaker s.a. anwenden, doch die einzelnen Felder vom Bericht, haben keine Datensatzherkunft und wenn ich die Anleitung auf den Bericht selbst anwende, muss ich immer einen Wert eingeben beim öffnen des Berichtes.


Zitat
Wie bestimme ich, wie ich ein bestimmtes Formular z.B. maximiere?
Private Sub Form_Open()
   DoCmd.Maximize
End Sub

Eigentlich brauchst Du das aber gar nicht, weil Du ja die Formulare
ja in der Registerkarten-Ansicht öffnest, da sind sie immer maximiert.




Ich möchte die Datenbank nicht als Registerkarte öffnen sondern nur als Pop-up. Wo muss ich jetzt den Code genau eintippen? Egal wo ich es mache kommt eine Fehlermeldung. Mit Markos würde ich es von alleine hinbekommen das Öffnen und Maximieren, aber das soll ja nicht gut sein und nur Probleme machen.

Desweiteren muss ich die Navigation von Pop-up Formular zu Pop-up Formular verbessern. Das andere Formular bleibt immer im Hintergrund offen, wenn ich zu einem anderen wechsel. Wie ist der code zum schließen des Formulares und wo muss ich das beim Buttoncode eingeben genau. Wollten den Schließcode vom Startsichtbutton nehmen, was aber total nach hinten los ging.

Please help further... ???


DF6GL

#39
Hallo,


bevor Du Dich mit Popup und Formularsteuerung abgibst, sorg erst dafür, dass die Db als solches funktioniert.
Zitat
Egal wo ich es mache kommt eine Fehlermeldung

Ist ja nun sehr ausagekräftig.   :o   Sinnvoll wäre, die Fehlermeldung (und nicht nur die Fehlernummer) anzugeben und genau zu beschreiben WAS und WO es gemacht wurde.



Um bei Berichten die "Klartexte" anzeigen zu können, kann eine Abfrage für die Datenherkunft des Berichtes erzeugt werden, die alle benötigten Tabellen miteinander (entspr. ihren Beziehungen) verknüpft  und somit  die gewünschten Werte liefert.

Alternativ könnten auch Unterberichte(-Steuerelemente)  verwendet werden, die wie die Unterformular-Steuerelemente über die Schlüsselfelder verknüpft werden können.

Maik November

Hi auch,

also das mit den Abfragen, für den Klartext in den Berichten klappt nicht bei mir. Egal wie ich es verknüpfe, es werden immer mehrer Datensätze zusammen geschmissen, die nicht dazusammen gehören. Sprich sie werden nicht eindeutig verknüpft. Ich glaube ich brauch mal eine Einweisung in Abfragen für Berichte oder ihr macht einen von den beiden Berichten und ich schaue es mir an und versuche es an dem anderem Bericht von der DB.

Zwecks der Fehlermeldung:
Dieser Fehler tritt auf, wenn ein Ereignis nicht ausgeführt werden konnte, weil der Speicherort der Logik für das Ereignis von Microsoft Office Access nicht ausgewertet werden kann. Falls z. B. die OnOpen-Eigenschaft eines Formulars auf =[Field] festgelegt ist, tritt dieser Fehler auf, weil Access die Ausführung eines Makros oder Ereignisnamens erwartet, wenn das Ereignis ausgelöst wird.

Ich habe den Code mal ausgeklammert im Frm_Startansicht. Ist er einfach nur falsch plaziert oder kommt da noch was dazu? Ich habe keine Ahnung von den ganzen Codes.

Dann noch zur Navigation. Die DB funktioniert und ich kann auch von A nach B zappen. Doch was muss ich machen, das die Formulare sich nun schließen, beim zappen?

so soon

[Anhang gelöscht durch Administrator]

DF6GL

#41
Hallo,


Die Ereignisprozedur-Gerüste müssen schon stimmen (z. B. keine Argumente weglassen).  Am Besten läßt Du die Prozedur-Gerüste von Access selber erzeugen ( Evtl. vorhandene Ereignisprozedur erst löschen, dann im Eigenschaftenfenster/Ereignisse auf die an der Ereigniszeile  rechts stehenden 3 Pünktchen klicken).


Die Load-Prozedur lautet so:

Private Sub Form_Open(Cancel As Integer)
    DoCmd.Maximize
End Sub





Für das "Zappen"  ???   , soll wohl heißen: Formularsteuerung, sollte ein Formular auch geschlossen werden (Docmd.Close acForm, Me.Name), wenn es nicht mehr gebraucht wird.  Auf die Popup-Geschichten würde ich ganz verzichten, die hindert/nervt nicht  nur  während der Entwicklungszeit.


Wenn ein Formular im Vordergrund bleiben soll und nicht verlassen werden darf, solange es nicht verlassen wird, wäre ein Aufruf (Docmd.Openform...) mit dem acDialog-Parameter sinnvoller.


"für den Klartext in den Berichten klappt nicht bei mir"


was klappt denn da nicht ?   Es wäre m. E. auch (in dieser DB) sinnvoller, kein "Zwischen-Abfragen", die nur Feld-Selektion bei einer Tabelle durchführen, extra als gespeicherte Abfragen zu erstellen.   Wenn eine reine Select-Abfrage (ohne Sortierung/Gruppierung und Kriterienangaben)  mit Verknüpfungen über alle benötigten Tabelle für den Bericht erstellt wird, liefert sie alle Datensätze korrekt aus allen (verwendeten)  Tabellen. Im(!) Bericht wird die evtl. Gruppierung und Sortierung eingestellt, evtl, nötige einschränkende Kriterien übergibt man beim VBA-Aufruf des Berichtes (Docmd.Openreport)  über den Where-Condition-Parameter an die Openreport-Methode...

Maik November

So... Die Navigation ist Dank DF6GL abgeschlossen.

Merci...

Es fehlt jetzt nur noch das Problem mit den Klartexten in den Berichten.

Zitat von: DF6GL am Januar 20, 2013, 12:15:38
was klappt denn da nicht ?   Es wäre m. E. auch (in dieser DB) sinnvoller, kein "Zwischen-Abfragen", die nur Feld-Selektion bei einer Tabelle durchführen, extra als gespeicherte Abfragen zu erstellen.   Wenn eine reine Select-Abfrage (ohne Sortierung/Gruppierung und Kriterienangaben)  mit Verknüpfungen über alle benötigten Tabelle für den Bericht erstellt wird, liefert sie alle Datensätze korrekt aus allen (verwendeten)  Tabellen. Im(!) Bericht wird die evtl. Gruppierung und Sortierung eingestellt, evtl, nötige einschränkende Kriterien übergibt man beim VBA-Aufruf des Berichtes (Docmd.Openreport)  über den Where-Condition-Parameter an die Openreport-Methode...

Sorry DF6GL, aber ich habe kaum was verstanden von dem da. Bitte nicht vergessen das ich nur ein Newbie bin.
Wie und wo soll ich eine Abfrage erstellen, mit der ich die Klartexte hinbekomme und auf die dann der Bericht darauf zugreift?

Ich brauch die Klartexte von der Serie, Skala, Budesland und Land (deu).
(die aktuelle Select-abfrage)
SELECT [Qry_Kartenuebersicht].[Serie_Series_F], [Qry_Kartenuebersicht].[Blatt_Sheet], [Qry_Kartenuebersicht].[Ausgabe_Edition], [Qry_Kartenuebersicht].[Skala_scale_F], [Qry_Kartenuebersicht].[Blattname], [Qry_Kartenuebersicht].[Bundesland_F], [Qry_Kartenuebersicht].[Land_deu_F], [Qry_Kartenuebersicht].[land_eng], [Qry_Bestand].[Bestand] FROM ([Qry_Kartenuebersicht] INNER JOIN [Qry_Bestand] ON [Qry_Kartenuebersicht].[Kartenuebersicht_ID] =[Qry_Bestand].[KartenID_F])

Ich hatte schon den Select geändert in:
SELECT [Qry_Serie_Series].[Serie_Series], [Qry_Kartenuebersicht].[Blatt_Sheet], [Qry_Kartenuebersicht].[Ausgabe_Edition], [Qry_Kartenuebersicht].[Skala_scale_F], [Qry_Kartenuebersicht].[Blattname], [Qry_Kartenuebersicht].[Bundesland_F], [Qry_Kartenuebersicht].[Land_deu_F], [Qry_Kartenuebersicht].[land_eng], [Qry_Bestand].[Bestand] FROM ([Qry_Kartenuebersicht] INNER JOIN [Qry_Bestand] ON [Qry_Kartenuebersicht].[Kartenuebersicht_ID] =[Qry_Bestand].[KartenID_F])

um den Fremdschlüssel zu um gehen, aber nun muss ich einen Parameterwert eingeben.
Das selbe habe ich mit der Skala, Bundesland und Land ebenfalls versucht.

Was ist dann daran falsch?

so soon

database

Hallo,

erstelle eine neue Abfrage und füge mal die untenstehende SQL ein.


SELECT Qry_Kartenuebersicht.Serie_Series_F, Qry_Kartenuebersicht.Blatt_Sheet, Qry_Kartenuebersicht.Ausgabe_Edition,
Qry_Kartenuebersicht.Skala_scale_F, Qry_Kartenuebersicht.Blattname, Qry_Kartenuebersicht.Bundesland_F, Qry_Kartenuebersicht.Land_deu_F,
Qry_Kartenuebersicht.land_eng, Qry_Bestand.Bestand, Tab_Skala_scale.Skala_scale, Tab_Serie_Series.Serie_Series, Tab_Land_land.Land_deu,
Tab_Bundesland.Bundesland FROM (Tab_Land_land INNER JOIN (Tab_Serie_Series INNER JOIN (Tab_Skala_scale INNER JOIN
(Qry_Kartenuebersicht INNER JOIN Qry_Bestand ON Qry_Kartenuebersicht.[Kartenuebersicht_ID] = Qry_Bestand.[KartenID_F]) ON
Tab_Skala_scale.Skala_scale_ID = Qry_Kartenuebersicht.Skala_scale_F) ON Tab_Serie_Series.Serie_Series_ID = Qry_Kartenuebersicht.Serie_Series_F) ON
Tab_Land_land.Land_land_ID = Qry_Kartenuebersicht.Land_deu_F) INNER JOIN Tab_Bundesland ON
(Tab_Bundesland.Bundesland_ID = Qry_Kartenuebersicht.Bundesland_F) AND (Tab_Land_land.Land_land_ID = Tab_Bundesland.Land_F);


Dann schaust du dir den Abfrageentwurf an und wirfst die Felder raus, die du für deinen Bericht nicht brauchst.

Maik November

Abend database,

danke für deinen Entwurf. Er würde auch echt prima passen, wenn ich immer was im Feld Blattname, Bundesland oder Land stehen hätte, was aber nunmal nicht so ist.
Habe dann versucht mit deinem Entwurf rum zu basteln. Doch der INNER JOIN macht mir Probleme. Wie bekomme ich es hin, dass man mit dem INNER JOIN auch DS anzeigen kann die leer sind?

so soon