VBA in Access97(klassenmodule!)

  • Sonstige

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von abaddon.

    VBA in Access97(klassenmodule!)

    Wie schaffe ich es wenn ich in einem Berichtserstellungsfomular z.B. einen empfänger auswähe und dann mit einen klick auf einen button zur berichtsvorschau gelange,dass nua die sachen von dem empfänger,den ich ausgewählt habe,angezeigt werden?????bitte um hilfe

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Erstelle eine Abfrage mit dem namen empfängerliste oder so, von der sich der Bericht die infos holt. Dann erstellst du eine VBA-Form, wo der Benutzer einen Empfänger auswählen kann. Anschließend änderst du den SQL-Befehl auf "Select * from empfängerliste where empfänger=" & Auswahl.text und öffnest den Bericht...
    Gruß, Agent Smith 8-)

    activeFlags = (lazy OR weary)

    Lemgo-Verschwörung | Mathematics | VB-Paradise in blau
    Was genau hast du denn schon fertig und wo genau gibt es probleme? Hast du den Bericht und die Abfrage fertig? Hast du das Auswahlformular schon? Das hat alles noch nichts mit VBA zu tun. :D
    Gruß, Agent Smith 8-)

    activeFlags = (lazy OR weary)

    Lemgo-Verschwörung | Mathematics | VB-Paradise in blau

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Agent“ ()

    also ich hab jez eine woche praktikum hinter mia,ich soll ein formular erstellen wo ich über schaltfläche andere fomulare öffnen kann!soweit hab ichs.jez gehts an VBA,ich hab ein formular ,wo ich u.a. das feld empfänger als combo box festgelegt hab,ich soll wenn ich dort einen empfänger auswähle und über eine schaltfläche zur berichtvorschau komme,sollen dort nua die sachen des ausgewählten empfängers angezueigt werden!kannst du mia da helfen,betreuer sagt ich muss dafür eine ereignisprozedur erstellen,aba wie,kannst du mia helfen???

    Gruß marvin
    Ich weiß immer noch nicht genau, wo du gerade bist bzw welche ereignisprozedur zu meinst.
    Hast du in der combobox schon die empfänger eingelesen? Hast du schon den SQL-Befehl geändert, wenn der Benutzer auf den OK-Button klickt?
    Gruß, Agent Smith 8-)

    activeFlags = (lazy OR weary)

    Lemgo-Verschwörung | Mathematics | VB-Paradise in blau
    also ich habe in dem formular,wo u.a. die combobox mit den empfängern ist,einen button worüber ich mit einem klick zur berichtsvorschau komme!wenn ich in der Empfänger combobox einen wert auswählen und dann auf den button klicke,soll in der berichtsvorschau nua die einträge des ausgewählten empfängers angezeigt werden(dazu muss ich etwas in die ereignisprozudur eintragen,aba was?!)?!!?
    Hallo HM-Prog,

    ich verstehe noch nicht im Detail, was du möchtest, du arbeitest mit Access 97, mir sind da aber keine Klassenmodule bekannt. Was genau meinst du da?

    Unter Access 97 (deutsch) heißt die bekannte ComboBox Kombinationsfeld, meinst du das?

    Evtl. hilft dir das als Anregeung, da wird aber jedesmal der Bereicht geändert, man kann soetwas aber auch anders übergeben.
    <pre>DoCmd.OpenReport "rptTest", acViewDesign
    Reports("rptTest").RecordSource = "SELECT * FROM tbTest WHERE ID=10"
    DoCmd.Close acReport, "rptTest", acSaveYes
    DoCmd.OpenReport "rptTest", acViewPreview</pre>

    Gruß Markus
    thx,ich meine folgendes...ich habe eine combobox wo ich z.b. die empfänger auswählen kann.da is alles ok.dann hab ich in dem formular einen button eigenbaut,womit ich zur Berichtsvorschau komme.ich will aba wenn ich einen bestimmten empfänger auswähle nua die einträge von diesem empfänger in der berichtvorschau sehen,dazu muss ich in der ereignisprozedur(beim klicken)etwas eingeben das er das so macht,ich weiß aba nicht was?hast du mein poblem jez besser verstanden??
    trotzdem thx

    gruß marvin
    Hallo HM-Prog,

    zu deine Frage: Nein

    Zum einen fände ich es wichtig, dass du auf meine Fragen eingehst, sonst werde ich dir schwerlich helfen können.

    Die Antwort auf deine Frage habe ich dir meiner Meinung nach als Quelltext mitgeschickt, wenn du auch darauf nicht eingehst, dann wirst du alles verstanden haben, oder?

    Gruß Markus
    also wenn ich dich richtig verstehe: du wählst in deinem Kombinationsfeld Müller Emil aus und klickst auf ok, worauf ein Bericht angezeigt wird, in dem nur die Einträge von Müller Emil vorhanden sind??
    Wenn ja, dann machst du das folgendermaßen: zuerst einmal musst du bei deinem Kombinationsfeld nicht nur den Namen, sondern auch dessen eindeutige ID einlesen. Das machst du, indem du bei der Datensatzherkunft des Kombo-Feldes eine SELECT -Anweisung (z.B. SELECT Name, ID FROM Empfaenger) schreibst, dann wählst du Spaltenanzahl 1 und gebundene Spalte 2 aus.

    Beim Klick auf ok öffnest du einfach deinen Bericht (z.B. doCmd.OpenReport "rep_Empfaenger", acPreview)

    Jetzt hast du zwei Alternativen:
    Entweder gehst du in die Entwurfsansicht von deinem Bericht und schreibst dort eine Ereignisprozedur beim Öffnen, die folgendermaßen aussieht.
    Me.RecordSource = "SELECT #hier alle Felder, die du haben willst, im Zweifel *# FROM Table WHERE (Table.ID like" & Forms!Berichsterstellungsformular!Kombo-Feld & ")"

    Alternativ kannst du auch eine ganz nomale Abfrage erstellen, in der du alle Werte einfügst, die du haben willst, und dann bei Kriterien unter dem Feld mit der ID folgendes eingibst: Wie Forms!Beichtserstellungformular!Kombo-Feld
    Diese Abfrage dann nur noch als Datensatzherkunft im Bericht wählen und schon kanns losgehn.

    Hoffe ich konnte dir helfen

    Gruß
    abaddon