collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 113
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 0

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 14808
  • stats Beiträge insgesamt: 76039
  • stats Themen insgesamt: 10231
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 933

Autor Thema: Generierung einer ID aus Kombifeldern und übergabe an Bericht  (Gelesen 5058 mal)

Offline Micki

  • Newbie
  • Beiträge: 8
Hallo liebe Access-Spezialisten,

ich bin recht neu dabei und hänge gerade bei einer evtl. recht einfachen Aufgabe durch.

Ich würde mich sehr freuen, wenn ihr mir einige hilfreiche Tipps geben könnt.

Zur Aufgabe:

Es soll eine ID aus einer jeweiligen Auswahl aus drei Kombinationsfeldern generiert werden und in ein Text- bzw. Listenflend (was ist sinnvoll?) übergeben werden. Es sind Zahlen, die nacheinander ohne Trennung stehen sollen.

Diese ID soll dann in einen Bericht übergeben werden.

Zunächst benötige ich Tipps zum richtigen Vorgehen bei der Generieung und dem Ausgeben der ID. Hier wäre wohl eine VBA-Ereignissprozedur sinnvoll?

Ich hoffe ihr könnt mir helfen.

Viele Grüße

Micki
 

Offline compinaut

  • Access-User
  • *
  • Beiträge: 50
Re: Generierung einer ID aus Kombifeldern und übergabe an Bericht
« Antwort #1 am: September 12, 2012, 16:21:12 »
Hallo,
dies muss - richtig - über eien VBA-Ereignisprozedur geschehen.
Der Code muss beim Ereignis Nach Aktualisierung des dritten Kombinationsfeldes eingetragen werden.
In dem Code solltest Du prüfen, ob die ersten zwei Felder gefüllt sind und wenn nicht, eine Fehlermeldung ausgeben.
Dann werden die drei Werte mit & miteinander kombiniert und der Eigenschaft Value des Textfeldes übertragen. Das Textfeld sollte am besten in einer Tabelle gespeichert sein, so dass mit einer Abfrage darauf zugegriffen werden kann. Die Abfrage ist dann Grundlage für den Bericht.
Gruß
compinaut
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 24506
Re: Generierung einer ID aus Kombifeldern und übergabe an Bericht
« Antwort #2 am: September 12, 2012, 16:22:31 »
Hallo,


die Aufgabe ist wohl einfach, aber der Kontext nicht, zumindest ist er nicht klar..

Warum "ID"? Für was wird die gebraucht?  Und was soll der Bericht außer dieser "ID" noch ausgeben?

Wo werden die ausgewählten Kombifeldwerte (d. h. die ID-Feld-Werte der entspr. Tabellen gespeichert?

Erzähl mal ein bisschen mehr über die Hintergründe... damit eine passende und konkrete Lösung vorgeschlagen werden kann.



Offline compinaut

  • Access-User
  • *
  • Beiträge: 50
Re: Generierung einer ID aus Kombifeldern und übergabe an Bericht
« Antwort #3 am: September 12, 2012, 16:34:04 »
Hallo,
der Code könnte wie folgt aussehen:
Private Sub KFeld3_AfterUpdate()

Dim ID As Long

If IsNull(KFeld1) Or IsNull(KFeld2) Then
        MsgBox "Bitte alle Felder füllen!"
Else
    ID = KFeld1 & KFeld2 & KFeld3
    LangeID = ID  'mit LangeID ist das Textfeld gemeint
End If

End Sub

Aber mit mehr Infos kann Dir DF6GL sicherlich noch mehr Hinweise für die richtige Vorgehensweise geben.

Gruß
compinaut
« Letzte Änderung: September 12, 2012, 16:37:15 von compinaut »
 

Offline Micki

  • Newbie
  • Beiträge: 8
Re: Generierung einer ID aus Kombifeldern und übergabe an Bericht
« Antwort #4 am: September 12, 2012, 17:10:49 »
Vielen Dank für die bisherigen Tipps. :)

Der Bericht soll natürlich noch viel mehr enthalten. Es geht um die Organisation acht mündlicher Prüfungen.

Die aus drei Kombiboxen (Raum (1-8), Prüfungsbewertungsbogen (1-8), Prüfer (1-3, da jeweils drei Prüfer pro Raum) generierte ID (Prüfer-ID, immer dreistellig) soll neben anderen Werten (Vor-, Nachname des Prüflings) in einer festen Kopfzeile in dem Bericht also dem Prüfungsbewertungsbogen stehen. Die restlichen Quelldaten für den Bericht erhalte ich aus einer Mastertabelle (als Abfrage mit allen Inhalten für den Prüfungsbogen). Nur die ID muss generiert werden.

Ansonsten soll durch die Filterung mittles der Komiboxe Prüfungsversion 1-8 der richtige Bericht angewählt werden und die gefilterten Daten aus der Mastertabelle in sortierter Reihenfolge 1. nach Bogen 1 bis 8 und dann nach Raum 1 bis 8 eingetragen werden. Pro Berichtseite ein Schüler. Jeder Schüler drei mal für jeden Prüfer.

Also Arbeitschritt 1 -> Prüfungbewertungsbogen auswählen, Schritt 2 -> Prüfer-ID generieren, Schritt 3 -> Bericht aufrufen, Schritt 4 -> Prüfungbewertungsbogen drucken.

Wo kann ich denn passende Beispiele für solch einen Quellcode finden?

Damit wäre mir schon wirklich sehr geholfen.

Viele Grüße

Micki

 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 8524
Re: Generierung einer ID aus Kombifeldern und übergabe an Bericht
« Antwort #5 am: September 12, 2012, 17:19:26 »
Hallo,
ich halte das Vorhaben für komplett überflüssig. Nimm einen Autowert als ID (Primärschlüssel)-
Die gewünschte ID kann man einfach zur Anzeige zusammensetzen. Muss aber nicht gespeichert werden.
Wenn Du Eindeutigkeit dieser ID haben willst kannst Du über die 3 Felder Raum, Prüfungsbewertungsbogen und Prüfer einen eindeutigen Index legen.
Gruß
Klaus
 

Offline Micki

  • Newbie
  • Beiträge: 8
Re: Generierung einer ID aus Kombifeldern und übergabe an Bericht
« Antwort #6 am: September 12, 2012, 17:42:32 »
Hallo MzKlMu,

nein, die ID muss nicht gespeichert werden. Man braucht sie nur für die Berichte. Welcher Prüfer in welcher Prüfung sitzt wird kurzfristig entschieden und es gibt hierfür eine seperate Zuteilungsliste. Der Prüfer soll dann seine Namen einmal auf die Mappe mit allen Bögen schreiben. Das reicht wohl so aus.

Allerdings darf ich nichts an der Mastertabelle verändern. Ich muss das alles so nehmen wie es kommt.

Die Filterung soll so aussehen, da der Anwender dies so möchte um später die Reihenfolge für den Druck besser festlegen zu können?! Erstmal soll der Bericht in ein pdf ausgegeben werden. So soll es sein bzw. so ist das wenn viele Köche am Werk sind...

Oder ich verstehe dich nicht ganz?!

VG

Micki

 

Offline Micki

  • Newbie
  • Beiträge: 8
2 Schritt, richtigen Bericht aufrufen
« Antwort #7 am: September 12, 2012, 17:53:04 »
Hallo nochmal,

die Genrierung der ID funktioniert. Dankeschön!

Nun muss der richtige Bericht (Prüfungsbogen 1 bis 8) aus dem Kombifeld 2 angewählt werden und die Daten wie in der Filterung vorgegeben im Bericht eingetragen werden.

Dies könnte über einnen Button geschehen?

Kann ich hierbei ebenfalls eure Unterstützung bekommen? Bzw. inwieweit kann/sollte mir dieses Forum helfen und was wird euch zuviel?

Ich hoffe natürlich, dass ihr mir helfen werden.

LG

Micki
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 8524
Re: Generierung einer ID aus Kombifeldern und übergabe an Bericht
« Antwort #8 am: September 12, 2012, 18:12:20 »
Hallo,
mir ist der Sinn dieser ID für den Bericht völlig schleierhaft.
Du schreibst doch die 3 Werte aus den Kombis in einen Datensatz in einer Tabelle. Und in dieser Tabelle sollte ein Primärschlüssel existieren (Autowert) der genau diesen Datensatz eindeutig kennzeichnet. Dieser Primärschlüssel ist Dein Bezug. Eine weitere ID ist da überflüssig. Du denkst viel zu komliziert.
« Letzte Änderung: September 12, 2012, 18:23:58 von MzKlMu »
Gruß
Klaus
 

Offline Micki

  • Newbie
  • Beiträge: 8
Re: Generierung einer ID aus Kombifeldern und übergabe an Bericht
« Antwort #9 am: September 13, 2012, 10:29:45 »
Ich habe nicht vor mich hier in Begründungen zu verstricken und den gesamten Prozess zu beschreiben. Über Sinn und Unsinn entscheide nicht nur ich in diesem Fall. Ich darf eben nicht in den Tabellen ergänzen. Diese sollen unverändert bleiben.

Ich hab mich nun berüht alles ausführlich zu beschreiben. Diese ID wird später mit anderen Tabellen aus anderen Tools gematcht für statistische Auswertungen und dient zur eindeutigen Identifizierung der Prüfer.

Ich erhoffe mir konkrete Tipps bei der Generierung des Berichts.

Das würde helfen...
« Letzte Änderung: September 13, 2012, 10:34:51 von Micki »
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 8524
Re: Generierung einer ID aus Kombifeldern und übergabe an Bericht
« Antwort #10 am: September 13, 2012, 10:40:57 »
Hallo,
meine Hinweise dienten ausschließlich dazu Dir zu helfen. Ich wollte Dir ja nicht die Generierung dieser ID ausreden, ich bezweifle nur, dass diese zur Erzeugung des Berichts notwendig ist. Die Zuordnung des Berichts ergibt sich über den Primärschlüssel des Datensatzes. Die ID kannst Du darin ja problemlos anzeigen.
Zitat
Ich erhoffe mir konkrete Tipps bei der Generierung des Berichts.
Da ich leider immer noch nicht verstanden habe, wieso Du diese ID für den Bericht brauchst, muss ich mich jetzt aus dem Thema wohl verabschieden.
Vieleicht blickt es ja jemand anders besser.
Gruß
Klaus
 

Offline Micki

  • Newbie
  • Beiträge: 8
Re: Generierung einer ID aus Kombifeldern und übergabe an Bericht
« Antwort #11 am: September 13, 2012, 10:52:43 »
Schade. Ich schaffs leider nicht besser zu erklären... :(
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 24506
Re: Generierung einer ID aus Kombifeldern und übergabe an Bericht
« Antwort #12 am: September 13, 2012, 15:12:50 »
Hallo,

erstell eine verknüpfende Abfrage für den Bericht, die alle benötigten Tabellen und Felder  beinhaltet. Zusätzlich schreibst Du in eine leere Abfragespalte in etwa dieses hinein (In Ermangelung der Kenntnis der konkreten Tabellenfeldnamen habe ich hier Beispielnamen verwendet):


Feld:     PrüferID:  [Feld1] & [Feld2] & [Feld3]
Sortierung:
Kriterium:



Im Bericht selber bindest Du ein Textfeld an die Abfragespalte "PrüferID" ..

Fertig.

Offline Micki

  • Newbie
  • Beiträge: 8
Re: Generierung einer ID aus Kombifeldern und übergabe an Bericht
« Antwort #13 am: September 14, 2012, 16:39:08 »
Danke für den Tipp :)

Zu den Berichten:

- es sind 8 Berichte für acht Prüfungsbögen

-> Die Prüflinge werden einem Raum zugteilt und durchlaufen alle acht Pürfungen (also erster Durchgang, alle Prüflinge durchlaufen Test 1, dann Test 2... bis Test 8   )

-> Ich filtere in einem Kombiboxen den Prüfungsbogen (1-8) und dann den Raum und generiere dauraus die Prüfer ID (siehe oben schon beschrieben)

-> Diese Filterung in den Kombiboxen soll gleichzeitig in der Abfrage (Prüfungsbögen) entsprechnd filtern

--> Dann soll der gewählte Bericht aus der Auswahl in der Komibox aufgerufen werden und die Daten der gefilternten Abfrage übergeben werden

Sobald ich in den Punkten weitergokommen bin, poste ich gerne nochmal. Ich freue mich natürlich über weitere Tipps und Quellcodebeispiele.

Viele Grüße

Micki
 

database

  • Gast
Re: Generierung einer ID aus Kombifeldern und übergabe an Bericht
« Antwort #14 am: September 14, 2012, 20:34:11 »
Hallo,

es ist halt auch nicht immer einfach treffende Tipps abzugeben wenn man nicht die gleiche Sprache spricht.

FILTERN ist was anderes als AUSWÄHLEN und umgekehrt.

Zitat
Ich filtere in einem Kombiboxen den Prüfungsbogen
du wählst aus einer Kombibox den Prüfungsbogen aus

Zitat
Diese Filterung in den Kombiboxen soll gleichzeitig in der Abfrage (Prüfungsbögen) entsprechnd filtern
Die Auswahl aus den Kombiboxen soll in der Abfrage als Auswahl-Kriterium (in der WHERE Klausel) dienen.

Zitat
Dann soll der gewählte Bericht aus der Auswahl in der Komibox aufgerufen werden und die Daten der gefilternten Abfrage übergeben werden
Wenn es sich dabei um 8 unterschiedliche Berichte - und ich hoffe wir reden hier vom Gleichen - handelt, dann werden diese ja mit einem passenden Namen
abgespeichert sein.
Jeder Bericht hat eine Datenherkunft, die z.B. eine Tabelle oder eine Abfrage sein kann - damit werden keine Daten übergeben sondern dargestellt / angezeigt.
Nach deiner Beschreibung vermute ich unterschiedliche Berichte (die vorgefertigte Fragen etc. enthalten) welche veränderliche Kopfdaten besitzen.
Die Berichte haben, so vermute ich, die gleiche Datenherkunft, ein und dieselbe Abfrage.

Wenn die Prüfungsbögen nun als Berichte existieren sollten sie sprechende Namen haben (z.B. rptPB1, rptPB2, ... )

Um nun dien richtigen Bericht aufzurufen benötigst du ein passendes Kommando - am Besten einen Buttonklick.
Ins Ereignis 'Beim Klicken' dieses Button schreibst du dann sinngemäß:

Select Case KombifeldBericht
    Case 1
        DoCmd.OpenReport "rptPB1", acViewPreview    'acViewPreview zeigt den Bericht an ohne zu drucken
    Case 2
        DoCmd.OpenReport "rptPB2", acViewNormal     'acViewNormal druckt den Bericht sofort aus.
    Case 3
        ....
        ...
        ..

End Select


Da ich davon ausgehe, dass du den Tipps von DF6GL schon gefolgt bist hast du in der Datenherkunft der Berichte die PrüferID als Ergebnisspalte schon umgesetzt.
Füge nun auch noch die angeregte Textbox in die Berichte ein und binde diese an das Abfragefeld der PrüferID.

HTH
« Letzte Änderung: September 14, 2012, 20:55:03 von database »
 

 

Generierung einer anschaulichen Übersicht etlicher Tabellen

Begonnen von MickiBoard Access-Hilfe

Antworten: 1
Aufrufe: 2679
Letzter Beitrag Juli 06, 2012, 23:48:56
von database

Advertisment / Werbung - Amazon Affiliate Links