Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Bericht erstellen via Combo Box





Frage

Hallo, habe folgendes Problem. Will mir einen Bericht erstellen lassen wenn ich eine Auswahl in meiner Combo Box mache. Die Box greift auf die Tabelle Status zu. Jedes Projekt hat einen bestimmten Status. Habe mir jetzt nur ein Formular erstellt, wo ich eine ComboBox habe, wo ich den Status aussuchen kann. Open, close, usw. Habe jetzt auf das Ereignis After Update folgenden Code: Private Sub Combo5_AfterUpdate() p_Status = Me.Combo5.Column(1) Bin dann in meinen Bericht gegangen und habe dann auf das Ereignis On Open folgenden Code hinterlegt: Private Sub Report_Open(Cancel As Integer) Dim SQLstr SQLstr = "SELECT Task.[No], Task.Project, Task.[Task ID], Task.Description, Task.Effort, Task.[Occurence Date], Task.Priority, Task.Category, Task.Responsibility, Task.[Status RS2], Task.[Status Client],Task.[Scheduled Delivery Date], Task.Deadline, Comments.Comment, Comments.Date FROM Task INNER JOIN Comments ON (Task.[Task ID] = Comments.[Task ID]) AND (Task.Project = Comments.Project);" SQLstr = SQLstr & " WHERE Status RS2 = '" & p_Status & "'" Me.RecordSource = SQLstr End Sub Wenn ich jetzt in mein Auswahl Formular gehe und einen Status aussuche, passiert nicht. Wer kann mir denn helfen??? MFG Tristan

Antwort 1 von oliverV

Hallo Tristan,

deine Variable SQLstr ohne die Where-Klausel schließt mit dem Semikolon, das ist auch OK.
Wenn du nun die Variable um die Where-Klausel erweiterst muß das Semikolon am Ende der Where-Klausel (also des gesamten SQLstr stehen) und nicht am Ende des Select-Teils.

Gruß

Oliver


Antwort 2 von Tristan

Hi Oliver,
kannst du mir bitte genauer beschreiben, wo ich das machen muss? Oder zeig es mir doch einfach in meinem code.
danke
tristan

Antwort 3 von oliverV

Der gesamte String sollte wie folgt enden:

... .Project) WHERE Status RS2 = '" & p_Status & "';"

Nimm doch die Where-Klausel gleich in die Variable SQLstr mit auf.
Ein „zusammensetzen“ der Datenherkunft macht IMHO nur Sinn, wenn du z.B. verschieden Where-Klauseln hast, also z.B. anhand eines Optionsgruppe-Wertes in einem Formular verschiedene Bedingungen zuordnen willst.


Gruß

Oliver


Antwort 4 von Tristan

Hi Oliver,
vielen Dank für deine Antwort,
aber es passiert immmer nocht nichts! Du wählst den Status aus und dann öffnet sich kein Bericht. Ich weiss einfach nicht woran es hängen kann.
Tristan

Antwort 5 von Tristan

Hi Oliver,
kann es sein das ich in meinem formular noch einen Befehl brauche, mit dem ich sage, "Öffne mir den Bericht, in dem die Daten stehen"?
Tristan

Antwort 6 von oliverV

Hallo Tristan,

das „Beim Öffnen“ Ereignis des Berichts ist das richtige Ereignis um eine Datenherkunft zuzuweisen, du benötigst im Formular natürlich noch ein Ereignis („Beim Klicken“ einer Schaltfläche) dem du die OpenReport-Methode zuweist (du kannst dafür einfach mit dem Assistenten eine Standardschaltfläche erstellen).

Allerdings muss ich fragen warum du das Ganze so kompliziert machst ?

Wenn ich dich richtig verstanden habe, hast du doch in einem Formular ein ungebundenes Kombifeld mit dem du einen Status auswählst. Diesen ausgewählten Status willst du als einschränkendes Kriterium für deinen Bericht nutzen.

Wenn diese Beschreibung zutrifft, dann gehe wie folgt vor:
Erstelle deinen Bericht ganz „normal“, also die Datenherkunft in den Eigenschaften des Berichts eingeben. Füge nur in der Datenherkunft bei deinem Statusfeld ([Status RS2] ?) im Bereich Kriterium Formulare!Formularname!Combo5 ein.

Du musst nur darauf achten, das die gebundene Spalte des Formular-Kombifeldes mit den Werten in deiner Projekt-Tabelle „übereinstimmt“. (damit meine ich wenn in der Projekt-Tabelle der Status als „Statustext“ (Open) gespeichert ist, muss auch die gebundene Spalte des Kombifeldes der „Statustext“ sein; wenn du eine Status_ID in der Projekte-Tabelle speicherst, verwende diese analog in deinem Kombifeld)


Ein zuweisen der Berichts-Datenherkunft per VBA dürfte in deinem Fall keinen Sinn machen, denn die Datenherkunft ändert sich doch nicht, es wird immer das Feld Combo5 als einschränkendes Kriterium verwendet.

Sinnvoll wäre deine Variante wenn wirklich die Datenherkunft des Berichts ändern willst, z.B. verschieden Felder anzeigen lassen willst, oder verschiedene Kriterien-Auswahlen zulassen willst – die ausgewählt sein können, aber nicht müssen.


Es ist Freitag, ich bekomme meine Antwort einfach nicht klarer formuliert, ich hoffe du steigst trotzdem durch.

Wenn du nicht weiter kommst, kannst du mir auch die DB mailen, meine Adresse hast du sicherlich noch. Ich kann aber wahrscheinlich erst Montag reinschauen.

Gruß und schönes WE

Oliver


PS: denke daran, das dein Bericht sich erst öffnet, nachdem du überprüft hast, ob wirklich ein Status ausgewählt wurde; sonst Error...


Antwort 7 von Tristan

Vielen Vielen Dank für deine Hilfe.
Es funktioniert jetzt auch. Hatte einfach an die blöde Schaltfläche nicht gedacht.
Dein Versuch versuch ich glaub ich auch nochmal.
Schönes Wochenende.
Tristan

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: