Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Nummerierung von gefilterten Datensätzen

Begonnen von MarkusR, März 16, 2012, 08:56:58

⏪ vorheriges - nächstes ⏩

MarkusR

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

bahasu

Hi Markus,

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

Harald
Servus

MarkusR

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.

bahasu

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
Servus

MarkusR

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!

bahasu

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
Servus

MarkusR

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]

bahasu

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
Servus

MarkusR

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 ^^

bahasu

Hi Markus,

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

Harald
Servus

MarkusR

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]

bahasu

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

Servus

DF6GL

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.




Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Beaker s.a.

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
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

MarkusR

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