Hallo zusammen
Ich versuche eine Abfrage zu erstellen, bei welcher ich durch die Eingabe eines Satzes in Feld Kriterien [Welcher Kunde soll angezeigt werden?] später einen kundenbasierten Bericht erstellen kann. Da ich Schreibfehler etc. umgehen möchte, würde ich dies gerne mit Hilfe einer Drop-down-Liste erstellen.
Ich weiss, das dies möglich ist. Weiss allerdings nicht wie es funktioniert Smile. Ich bin ziemlicher Anfänger und erstelle das meiste mit Hilfe der Systemassistenten (keine direkte Programmierung). Kann mir allenfalls jemand mitteilen wie ich vorzugehen habe?
Danke und Gruss
Hoho,
da stellen sich ja soviele zusätzliche Fragen.......
Wo genau soll das dropdown denn sein ? Im Abfrageeditor ? In einem Formular, welches die Abfrage startet ?
Im Abfrageeditor hat sowas m.E. nix zu suchen.......
Ich würde im Formular ein Dropdown erstellen und den ausgewählten Wert als Kriterium an die Abfrage weitergeben......
Ein Formular mit der entsprechenden Drop-down-Liste kann ich erstellen. Ich weiss allerdings nicht, wie ich diesen Wert danach an eine Abfrage weiterleite.........
Hi,
bei diesem Thema habe ich ein deja vue: http://www.office-loesung.de/ftopic584148_0_0_asc.php#2466427
Crossposting führt meistens dazu, dass weniger Antworten kommen.
Siehe auch die Netiquette: http://www.access-o-mania.de/index.php?ind=community&op=netiquette
•Crossposting, d.h. das Posten der gleichen Frage in mehreren Foren zur gleichen Zeit, ist unerwünscht.
Harald
Danke für die Antworten. Das dumme ist nur, ich bin blutiger Anfänger. Was heisst denn: Dem Docmd.OpenReport übergibst du die ID des Kunden im WHERE-Kriterium. Genau?
Nett, das man mich jetzt boykottiert, hilft mir leider auch nicht weiter.....
Hi,
ich helfe auch Crosspostern, sofern diese zumindestens darauf hinweisen, dass sie die Frage schon woanders gestellt haben, dort aber keine Hilfe erhalten haben.
Als Zeichen des guten Willens anbei ein Beispiel.
Im Formular gibt es zwei Buttons, mit denen ein Bericht aufgerufen wird.
Bei dem einen Button, wird nur der angezeigte Datensatz im Bericht aufgeführt (im Ereignis "Beim Klicken" wird dem docmd-Kommando dafür ein Parameter mitgegeben.
Bei dem anderen Button werden alle Daten im Bericht aufgeführt.
Harald
[Anhang gelöscht durch Administrator]
Danke für Dein Erbarmen, ich weiss das zu schätzen! Ich habe leider die schlechte Angewohnheit die ganzen AGB's nicht zu lesen.....
Bei den Eigenschaften des Buttons finde ich "beim Klicken". Bei der Auswahl habe ich allerdings nur Ereignisprozedur und meine bisherigen Makros. Muss ich also zuerst ein Makro erstellen?
Hi,
Zitat von: Svensation am März 22, 2013, 15:53:12
Bei der Auswahl habe ich allerdings nur Ereignisprozedur und meine bisherigen Makros. Muss ich also zuerst ein Makro erstellen?
"Ereignisprozedure" ist die bessere Wahl als Makro. Makros bieten weniger Möglichkeiten als eine Programmierung mit VBA.
Du kannst Dir auch mithilfe des Assistenten die VBA-Zeilen erstellen lassen. Dabei kann dann etwas in der Art herauskommen:
Private Sub Befehl4_Click()
On Error GoTo Err_Befehl4_Click
Dim stDocName As String
stDocName = "Bericht"
DoCmd.OpenReport stDocName, acNormal
Exit_Befehl4_Click:
Exit Sub
Err_Befehl4_Click:
MsgBox Err.Description
Resume Exit_Befehl4_Click
End Sub
Wenn Du im Formular-Entwurfmodus den Button links anklickst und
dann die rechte Maustaste klickst, landest Du im Kontext-Menü.
Dort den Punkt "Eigenschaften" links anklicken und den Reiter "Ereignis" anklicken.
Beim Ereignis "Beim Klicken" findest Du :
Private Sub Bericht_einzeln_Click()
DoCmd.OpenReport "Bericht", acViewPreview, , "id_Auftrag = " & Me.id_Auftrag
End Sub
Das ist die Kurzform von den Zeilen, die der Assi entwirft. Hier ist auch die Parameter-Übergabe enthalten.
Harald
PS Hilfreich könnte es sein, wenn Du Dir das oben aufgeführte Beispiel aus dem Anhang anschaust.
Also ich glaube ich bin definitiv zu dumm für Access!
Folgendes habe ich gemacht:
1. Ich habe ein Formular mit einer drop down Liste (Liste0) erstellt, welche (basierend auf einer Tabelle) die eindeutige Identifikation ermöglicht.
2. Ich habe eine Abfrage erstellt, welche als Datenherkunft für den Bericht dient
3. Ich habe den entsprechenden Bericht dazu erstellt
4. Ich habe dem Formular einen button (Befehl2) zugeführt mit der Berichtsoperation => Bericht öffnen
5. Ich habe unter den Eigenschaften bei "beim Klicken" auf Ereignisprozedur gewechselt
6. Dann habe ich auf ... geklickt und deinen Text reinkopiert
7. Danach habe ich die Änderungen für meine Feldbezeichnungen angepasst. Konkret folgendes: Dein Befehl4 ist bei mir Befehl2 (Bezeichnung meines Buttons), Dein "Bericht" heisst bei mir "Bericht1"
Das sieht jetzt so aus
Option Compare Database_________________________________________________________
Wenn ich jetzt auf den Button drücke dann druckt er mir den Bericht aus. Aber die Verlinkung zum im drop down Menü gewählten Kunden funktioniert nicht. Es wird mir alles ausgedruckt.
[Anhang gelöscht durch Administrator]
Hi,
da fehlen die zu übergebenen Parameter.
Am einfachsten wäre es, du stellst hier eine komprimierte und gezippte Datenbank im a2003-Format mit wenigen Spieldaten zur Verfügung. Dann geht das Anpassen schneller.
Harald
Das ist wohl keine schlechte Idee.
Leider musste ich eine neue Tabelle erstellen, da die alte egal wie viel ich gelöscht habe immer zu gross war...
Es wäre nett, wenn ich am Schluss mit dem Drop down Feld auf Formular 1 durch die Auswahl des entsprechenden Namens den für diese Person speziellen Bericht (Kundentabelle) öffnen könnte. Vielleicht kannst Du mir es hier einrichten, ich hoffe ich kann es dann auf meine existierenden Formulare übertragen.
Besten Dank für die Hilfe und schönes Wochenende!!!
[Anhang gelöscht durch Administrator]
Hi,
bei einer accdb-Datei muss ich mich leider verabschieden, da meine access-Version dieses Format nicht lesen kann.
Deshalb hatte ich um ein access 2003 Format gebeten.
Ansonsten möge sich das bitte ein anderer anschauen.
Harald
Hallo,
anbei die geänderte DB.
Du musst über die Spaltenbreiten die Spalte mit der ID ausbelenden, dann hast Du den Namen angezeigt, aber die ID wird verwendet.
Die DB habe ich nach Access2003 konvertiert. Das kannst Du aber für Access2007/2010 direkt übernehmen.
[Anhang gelöscht durch Administrator]
Das scheint jetzt zu klappen :D. Super!!
Besten Dank für all Eure Hilfe!!!