Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: MarkusR am März 16, 2012, 08:56:58

Titel: Nummerierung von gefilterten Datensätzen
Beitrag von: MarkusR am März 16, 2012, 08:56:58
Hallo zusammen,

ich brauche mal wieder Eure Hilfe :)

Was ich habe: Ich habe ein Formular erstellt das nur bestimmte Daten meiner Tabelle anzeigt (Rechnungsnr, Rechnungsdatum, Bestellnr, Artikelnr usw.). Dieses Formular ist aufgebaut wie eine Rechnung, im Formularkopf habe ich den Briefkopf und die Namen der Spalten (Position, Bezeichnung, Menge, Einzelpreis, Gesamtpreis) und im Seitenfuß habe ich die Gesamtsumme mit MwSt. etc. plus den Brieffuß.
Im Detailbereich habe jetzt unterhalb der Spaltennamen die ganzen Daten angeordnet wie Bestellnr, Artikelnr, Menge, Preis usw.
So weit, so gut. Sinn der Sache ist es jetzt, nach einer Rechnungsnr zu filtern (die in den Datensätzen schon vorhanden ist), so dass ich auf der Rechnung automatisch alle Daten habe und nur noch drucken muss.

Mein Problem: Jetzt habe ich zwei Herausforderungen. In der ersten Spalte sollen die Rechnungspositionen durchnummeriert werden: Angenommen ich habe zu einer Rechnungsnummer drei gefilterte Datensätze, sollen eben diese Datensätze von 1 bis 3 durchnummeriert werden. Irgendwie muss das wohl mit DSum oder DCount funktionieren, aber das will mir nicht so ganz gelingen.
Zweite Herausforderung ist, dass wenn ich das Formular drucke, habe die Datensätze abwechselnd als Hintergrund grau und weiß. Kann ich das Grau irgendwie ausschalten? Hätte gerne einen komplett weißen Hintergrund.

Wäre toll, wenn wieder jemand Tipps hätte :)! Vielen Dank im Voraus...

Gruß,
Markus
Titel: Re: Nummerierung von gefilterten Datensätzen
Beitrag von: bahasu am März 16, 2012, 09:41:36
Hi Markus,

vielleicht hilft: http://support.microsoft.com/kb/325236/de bei der Numerierung.

Harald
Titel: Re: Nummerierung von gefilterten Datensätzen
Beitrag von: MarkusR am März 16, 2012, 10:05:26
Hallo Harald,

hilft mir leider nicht weiter, da ich da nicht wirklich durchblicke...hab auch noch nicht so die Ahnung von VBA. Leider!  :(

Das mit den abwechselnd grau hinterlegten Datensätzen habe ich schon selber rausgefunden.

Dafür habe ich jetzt schon wieder ein neues Problem: Bei den einzelnen Datensätzen auf der Rechnung werden unter dem Bearbeitungspreis auch die Kosten für Rüsten, Richten und Sägen untereinander angezeigt. Ich habe das so gemacht, dass er die Kosten anzeigt, falls diese anfallen und dass er die Felder leer lässt, wenn es bei dem Auftrag solche Kosten nicht gibt.
Kann ich dem jetzt auch sagen, dass er die Leerzeilen - wenn nichts drin steht - "löschen" soll? Sonst ist auf dem Ausdruck mein Abstand zwischen den Datensätzen ja unterschiedlich groß, jenachdem wie viele Kosten anfallen oder nicht anfallen.
Titel: Re: Nummerierung von gefilterten Datensätzen
Beitrag von: bahasu am März 16, 2012, 10:37:19
Hi,

druckst Du per Bericht?
Wenn ja, gibt es die Möglichkeit:
die Höhe der Felder, die mal gedruckt werden und mal nicht, auf sehr klein zu stellen und deren Eigenschaft auf "Vergrößerbar = ja" zu stellen

oder wenn im Bericht Gruppierung/Sortierung verwendet wird, diese Daten in den Detailbereich zu plazieren und dessen Sichtbarkeit auf ja zustellen (wenn Daten da sind ) oder nein (wenn keine Daten da sind). Bei dieser Variante kommst Du aber um VBA nicht rum  :'(

Harald
Titel: Re: Nummerierung von gefilterten Datensätzen
Beitrag von: MarkusR am März 16, 2012, 10:44:13
Hallo bahasu,

also zur Zeit versuche ich das noch per Formular mit dem Drucken. Ist sowas per Bericht einfacher?

Hab im Formular jetzt zwischendurch auch die Möglichkeit gefunden, bei Feldern die Höhe auf 0 zu stellen und vergrößerbar/verkleinerbar auf ja gestellt. Dazu habe ich dann dem Detailbereich noch die Eigenschaft gegeben, die Höhe automatisch einzustellen. Jetzt habe ich zwischen Datensätzen, wo keine der Extrakosten auftauchen, keinen Abstand mehr. Funktioniert also schonmal.
Merkwüdigerweise funktioniert das nicht mehr, sobald eine der Extrakosten auftaucht:
- keine Extrakosten -> Abstand 5mm (so wie es sein soll, auch wenn es Extrakosten gibt)
- einmal Extrakosten -> Abstand 20mm
- zweimal Extrakosten -> Abstand 35mm

Also umso mehr Extrakosten ich habe, umso größer wird der Abstand zwischen den Datensätzen...mysteriös!
Titel: Re: Nummerierung von gefilterten Datensätzen
Beitrag von: bahasu am März 16, 2012, 12:27:11
Hi,

meine obigen Hinweise zur Höhe beziehen sich einzig auf Berichte.
Daher beantworte ich die Frage, ob es mit Berichten einfacher geht mit: Ja


Im Formular die Höhe einzustellen ist machbar, es wird aber abgeraten, da es einen Rattenschwanz von Komplikationen nach sich zieht (vielleicht sind einige der von Dir geschildeten Probleme Teilaspekte davon).


Mit welcher access-Version arbeitest Du?
Unter a2003 ist es mir neu, dass sich im Formular die Höhe automatisch einstellt. Oder bezog sich diese Aussage auf Bericht?

Harald
Titel: Re: Nummerierung von gefilterten Datensätzen
Beitrag von: MarkusR am März 16, 2012, 12:50:40
Hallo bahasu,

gesagt, getan. Habe das ganze jetzt mal als Bericht probiert. Ich habe im Formular per Strg+A alles markiert und im leeren Bericht eingefügt.

Die Durchnummerierung der gefilterten Datensätze stellt jetzt kein Problem mehr da. Auch kann ich leere Zeilen, ausblenden. Aber nach wie vor ist der Abstand zwischen den einzelnen Datensätzen mysteriös. Umso mehr Zeilen nicht ausgeblendet werden, umso größer wird der leere Abstand zwischen den einzelnen Datensätzen.
Zum Verständnis habe ich mal einen Screen hochgeladen.

[Anhang gelöscht durch Administrator]
Titel: Re: Nummerierung von gefilterten Datensätzen
Beitrag von: bahasu am März 16, 2012, 13:05:41
Hi Markus,

interessanter Effekt, für den ich aus der Ferne keine Erklärung habe.

Vorschlag: Stelle eine komprimierte und gezippte a2003 Version mit Spieldaten hier zur Verfügung.
Vielleicht läßt sich dann aus der "Nähe" etwas sagen.

Harald
Titel: Re: Nummerierung von gefilterten Datensätzen
Beitrag von: MarkusR am März 16, 2012, 13:23:48
Interessanter Effekt...ja, so kann mans auch nennen  :-\

Jetzt hab ich mir die Mühe gemacht und alles aus der Datenbank geschmissen, was dafür nicht notwenig ist und jetzt sagt er mir beim Speichern, dass ich das nicht kann: "Sie können diese Datenbank nicht im Format einer früheren Version speichern, da in ihr Features verwendet werden, für die das aktuelle Dateiformat erforderlich ist"...herzlichen Dank 2010 ^^
Titel: Re: Nummerierung von gefilterten Datensätzen
Beitrag von: bahasu am März 16, 2012, 13:37:43
Hi Markus,

dann häng die 2010-Datei hier an. Ich hoffe dass die dann zuhause mit a2007 öffnen kann.

Harald
Titel: Re: Nummerierung von gefilterten Datensätzen
Beitrag von: MarkusR am März 16, 2012, 13:59:23
Alles klar.

Hab jetzt nur die Tabelle mit 3 Datensätzen und den Bericht in der Datenbank. Alles anderes ist raus!

[Anhang gelöscht durch Administrator]
Titel: Re: Nummerierung von gefilterten Datensätzen
Beitrag von: bahasu am März 16, 2012, 17:05:48
Hi Markus,

bei zwei Versuchen auf unterschiedlichen Rechnern, Deine accdb-Datei unter a2007 zu öffnen, kam die Meldung:
"Nicht erkennbares Datenbank-Format"   ???

Ich kann jetzt vermuten: Entweder ist a2007 nicht in der Lage, diese Datei zu öffnen, oder sie ist "angeschossen".  :(

Vielleicht kannst Du die Datei noch mal anbieten oder jemand anderes muß sich darum kümmern.

Harald

Titel: Re: Nummerierung von gefilterten Datensätzen
Beitrag von: DF6GL am März 16, 2012, 17:17:37
Hallo,

die A2010-Version läßt sich nur mit A2010 öffnen...


@MarkusR:

entferne mal das Layout (unter Berichtsentwurf/Anordnen) und zeige den Bericht in der Seitenansicht an.




Titel: Re: Nummerierung von gefilterten Datensätzen
Beitrag von: Beaker s.a. am März 16, 2012, 22:31:23
Hallo,
@Franz
Zitatdie A2010-Version läßt sich nur mit A2010 öffnen...
Und lässt sich leider nicht als .mdb abspeichern, da Features
verwendet werden, die es bei A2003 noch nicht gab.
Habe aber nicht gefunden was das ist. Macros hatte ich
gelöscht, ging dann aber immer noch nicht. Datenmakros
sind keine drin, bleibt nur der Bericht als solches.
Da kann ich zum eigentlichen Thema leider auch nichts sagen,
da ich mich mit Berichten in A2010 noch nicht wirklich
beschäftigt habe.
gruss ekkehard
Titel: Re: Nummerierung von gefilterten Datensätzen
Beitrag von: MarkusR am März 19, 2012, 11:18:11
Guten Morgen zusammen,

habe das Problem mittlerweile hinbekommen.

Das Problem war, dass die Zeilen miteinander gestapelt waren. Habe also alle Felder unabhängig voneinander "per Hand" an die richtige Position gesetzt...und siehe da, es klappt!

Jetzt stehe ich vor der nächsten Herausforderung :): Kann ich in Textfeldern den Inhalt mehrere Textfelder anzeigen lassen? Ich habe quasi zwei Textfelder "Artikel" und "Zeichnungsnr". Zwischen den zwei Feldern steht der Text ", Zg.". Das Textfeld Artikel ist so breit, dass der längste Artikel rein passt (hier "Anschl-bolzen" -> zu sehen ist dann: Anschl-bolzen  , Zg. 953487-4). Wenn der Artikel aber kurz ist (z.B. LB) wird der Abstand zwischen Artikel und dem "," sehr lang (zu sehen ist dann: LB                , Zg. 968475-6). Kann ich alles in einem Feld aneinander reihen, so dass da kein Abstand ist oder wie macht man sowas?

Desweiteren: Kann man bei einem Eingabefeld einen Rahmen oder so anzeigen lassen, damit der Nutzer weiß, wo das Feld ist? Der Rahmen dürfte aber auf dem Ausdruck nicht sichtbar sein.

Nochmal vielen Dank :)

Markus
Titel: Re: Nummerierung von gefilterten Datensätzen
Beitrag von: DF6GL am März 19, 2012, 12:34:16
Hallo,

1) z. B. so im Steuerlementinhalt eines Textfeldes im Bericht:

=[Artikel] & ", Zg. " & [Zeichnungsnr]



2) Eingabe-Textfelder sind NUR im FORMULAR brauchbar. Dort haben die Dinger von Haus aus eine Format-Eigenschaft "Rahmenart"...
Gedruckt wird NUR über BERICHTE  (die letztendlich aber auch die gleiche Eigenschaft besitzen)
Titel: Re: Nummerierung von gefilterten Datensätzen
Beitrag von: MarkusR am März 21, 2012, 15:03:40
Funktioniert wunderbar! Vielen Dank :)

Und ich hab schon wieder ein Problem :(
In meinem Formular habe ich jetzt Buttons erstellt. Mit einem Button drucke ich den Bericht, was wunderbar funktioniert. Mit dem anderen Button soll der Bericht als pdf gespeichert werden. Wie das funktionert, hab ich schon heraus gefunden. Allerdings würde ich gerne den Namen vorgeben, unter dem gespeichert werden soll.
Der Name soll sich aus der Rechnungsnummer und der Lieferscheinnummer zusammen setzen. Als Beispiel "R 12345 L 56842 - R.pdf"

Bisher habe ich folgenden VBA Code:

    DoCmd.OutputTo acOutputReport, "Rechnung HSP", "PDF-Format(*.pdf)", _
    "G:\Rechn.-LS-Bestell\HSP\" & Format(Date, "yyyy") & "\" & Format(Date, "mm mmmm yyyy") & "\R " & Me!Rechnungsnr & " L " & Me!Lieferscheinnr " -R.pdf"


Damit speichert er mir die PDF unter dem Pfad G:\Rechn.-LS-Bestell\HSP\2012\03 März 2012\. Worauf ich schon ziemlich stolz bin, das alleine geschafft zu haben :)
Aber jetzt würde ich ja gerne für den Dateinnamen auf die Rechnungs- und Lieferscheinnummer zugreifen. Nur das will mir noch so ganz gelingen.

Hat da wieder jemand einen Tipp für mich? :)

Vielen Dank im Voraus und Gruß,
Markus
Titel: Re: Nummerierung von gefilterten Datensätzen
Beitrag von: DF6GL am März 21, 2012, 15:20:01
Hallo,


bei dieser Methode, den Bericht als PDF zu drucken (speichern), ist es nötig ihn vorher in der Entwurfsansicht zu öffnen, die Eigenschaft "Beschriftung" ( "Caption") mit dem gewünschten Namen einzustellen, ihn zu speichernd und zu schliessen.
Titel: Re: Nummerierung von gefilterten Datensätzen
Beitrag von: MarkusR am März 21, 2012, 15:29:28
Hm, versteh ich grad nicht so ganz.

Also, Bericht ist in Entwurfsansicht geöffnet, Eigenschaften von Bericht -> Format -> Beschriftung. Das ist gemeint, oder?
Und was trag ich dann da ein?
Titel: Re: Nummerierung von gefilterten Datensätzen
Beitrag von: DF6GL am März 21, 2012, 15:32:13
Hallo,

na, den Text, den die PDF-Datei  als Name bekommen soll...


Wenn Du jetzt den Bericht als PDF ausgibst, erhältst Du doch auch eine Datei mit dem Namen des Berichtes...
Titel: Re: Nummerierung von gefilterten Datensätzen
Beitrag von: MarkusR am März 21, 2012, 15:42:59
Ach so...ja nee :D

Das wäre ja zu einfach...ich erklärs mal anders:

Ich habe ein Hauptformular, mit dem wir arbeiten. Da werden Aufträge etc. eingegeben mit allen zugehörigen Daten (unter anderem Rechnungs- und Lieferscheinnummer). Jetzt habe ich einen Bericht erstellt, mit dem wir Rechnungen ausdrucken können. Heißt wir nehmen im Formular einen Datensatz, klicken auf einen Button und er öffnet den Bericht mit eben diesem Datensatz. Der Bericht wird gedruckt, soll aber auch als PDF gespeichert werden. Der Dateiname ist aber bei jedem Datensatz unterschiedlich, da er sich aus der Rechnungsnummer und der Lieferscheinnummer zusammen setzt.
Also will ich es dem Nutzer einfacher machen, so dass er den Dateinamen nicht von Hand eingeben muss mit der richtigen Rechnungsnummer und der richtigen Lieferscheinnummer, sondern das Access sich die Daten aus dem Datensatz nimmt (also aus den Feldern [Rechnungsnr] und [Lieferscheinnr]) und damit dann den Dateinamen bildet (z.B. "R 1234 L 1234.pdf").
Titel: Re: Nummerierung von gefilterten Datensätzen
Beitrag von: DF6GL am März 21, 2012, 17:20:07
Hallo,

ich hab das schon verstanden, was Du machen willst...

Andererseits sehe ich gerade, dass Du den Dateinamen im "Ausgabedatei"-Parameter von outputto ja schon angibst und es auch so funktionieren sollte wie gewünscht, wobei dort ein "&" fehlt, was vielleicht das eigentliche Problem ist:


....& Me!Lieferscheinnr &    " -R.pdf"



btw:  Auch wenn hier kein Problem mit den verwendeten Sonder- und Leerzeichen im Dateinamen auftauchen sollte, würde ich mich nicht darauf verlassen, dass eine solche Namensgebung  nicht doch einmal einem um die Ohren fliegt....
Titel: Re: Nummerierung von gefilterten Datensätzen
Beitrag von: MarkusR am März 22, 2012, 10:06:03
Guten Morgen,

ich bin grade ein bisschen verwundert über das fehlende "&". Hab immer wieder an dem Code rumgespielt und das vlt irgendwann vergessen.

Auf jeden Fall funktioniert es jetzt...ausgezeichnet! :)

Vielen Dank!

Gruß,
Markus