Berichtsprobleme Access

Hallo!

Ich habe gleich mehrere Probleme mit Access!

  1. Ich habe in einer Tabelle und im Formular drei Felder. Nettopreis - MwSt-Satz - Bruttopreis.
    Der Bruttopreis wird anhand MwSt-Satz errechnet. Klappt auch. In meinem Formular, was ein geteiltes ist, wird der Bruttopreis auch angezeigtund im Datenblatt auch, aber in der Tabelle wird er nicht gespeichert!!! Warum?

  2. Ich würde mir gerne ein Bericht erstellen, bei dem ich über ein(oder mehrere) Kombinationsfeld(er) auswählen kann welche Daten angezeigt und gedruckt werden.

Es ist einen Artikelliste mit unterschiedlichen Kategorien/Lieferanten/Preise je Lieferant!

Z.B. würde ich mir aussuchen wollen das nur eine bestimmte Kategorie von einem bestimmten oder auch mehreren Lieferanten angezeigt wird. Oder das ich nur Lieferant X anwählen kann.

Oder muss ich mir für jede einzelne Ansicht die ich gern hätte einen eigenen Bericht anlegen???

Vielen Dank für eure Hilfe, Stefanos!

Hallo,

wenn die verschiedenen Sichten im Report das gleiche Layout haben, kann man die Bedingungen mittels SQL-Statement beim DoCmd.OpenReport(…) angeben.

Tschau

Peter

Hallo,

Ich habe gleich mehrere Probleme mit Access!

wer hat die nicht?

  1. Ich habe in einer Tabelle und im Formular drei Felder.
    Nettopreis - MwSt-Satz - Bruttopreis.

Bruttopreis ist überflüssig.

Der Bruttopreis wird anhand MwSt-Satz errechnet. Klappt auch.

WO und WIE wird der gerechnet?

In meinem Formular, was ein geteiltes ist, wird der
Bruttopreis auch angezeigtund im Datenblatt auch, aber in der
Tabelle wird er nicht gespeichert!!! Warum?

Weil der Bruttopreis als Rechenergebnis in einem nicht an die Tabelle (bzw. das entspr. Tabellenfeld) gebundenen Textfeld angezeigt wird.

  1. Ich würde mir gerne ein Bericht erstellen, bei dem ich über
    ein(oder mehrere) Kombinationsfeld(er) auswählen kann welche
    Daten angezeigt und gedruckt werden.

In einem „Selektions“-Form platzierst Du Kombifelder und oder Listenfelder, die auch voneinander abhängig sein können und wählst damit Deine Kriterien(werte) aus.

Danach (Peter hat es schon angedeutet):

In der Ereignis-Prozedur einer Schaltfläche setzt Du die Kriterienwerte zu einer „Where-Condition“ eines SQL-Strings (SQL-Abfrage) zusammen und weist diese der Openreport-Methode zu.

Viele Grüße vom Bodensee
Franz, DF6GL

Es ist einen Artikelliste mit unterschiedlichen
Kategorien/Lieferanten/Preise je Lieferant!

Z.B. würde ich mir aussuchen wollen das nur eine bestimmte
Kategorie von einem bestimmten oder auch mehreren Lieferanten
angezeigt wird. Oder das ich nur Lieferant X anwählen kann.

Oder muss ich mir für jede einzelne Ansicht die ich gern hätte
einen eigenen Bericht anlegen???

Vielen Dank für eure Hilfe, Stefanos!

Hallo und danke für die schnellen Antworten! :smile:

@df6gl

Bruttopreis ist überflüssig.

Warum?

WO und WIE wird der gerechnet?

Feldeigenschaften->Daten->Steuerelementinhalt: =([Omega Netto]*[MwSt-Satz])+[Omega Netto]

Weil der Bruttopreis als Rechenergebnis in einem nicht an die
Tabelle (bzw. das entspr. Tabellenfeld) gebundenen Textfeld
angezeigt wird.

Ich habe erst die Tabelle erstellt, dann das Formular. Das Feld habe ich über ‚Vorhandene Felder hinzufügen‘-Option hinzugefügt und habe lediglich diese ‚Formel‘ eingegeben! Falsch?
(Wahrscheinlich habe ich schon zuviel mit Excel gearbeitet!!! :smile:

In einem „Selektions“-Form platzierst Du Kombifelder und oder
Listenfelder, die auch voneinander abhängig sein können und
wählst damit Deine Kriterien(werte) aus.

Mit „Selektions“-Form meinst du bestimmt ein Formular, das ich zum selektieren der Daten die ich benötige nehme, oder?
Wenn Ja, was hat das mit der Abhängigkeit auf sich? Ich möchte erreichen das ich zum beispiel eine Kategorie auswähle und wenn ich 3 Lieferanten dazu habe, mir dann noch mal selektieren zu können welche ich sehen will oder ob alle angezeigt werden sollen. Die Listenfelder müssen nicht in einer abhängigkeit stehen.

In der Ereignis-Prozedur einer Schaltfläche setzt Du die
Kriterienwerte zu einer „Where-Condition“ eines SQL-Strings
(SQL-Abfrage) zusammen und weist diese der Openreport-Methode
zu.

??? Ich DAAU!(Dümmster Anzunehmender Access User)???
Schaltfläche und Ereignis-Prozedur ok, aber „„Where-Condition“ eines SQL-Strings(SQL-Abfrage) zusammen und weist diese der Openreport-Methode zu“ sind mir fremd!

Kannst du mir das mal auf deutsch übersetzen?
Und was ist mit dem Bericht? Den muss ich vorher erstellen oder erstellt er just in dem moment einen? Ich nehme an das ich einen fertigen Bericht nehme und nur die Felder zuweise! Also dem Feld sage wo die Daten herkommen müssen.

Ich glaube die Basis habe ich verstanden:

Bericht fragt Formular -> Welchen Feldwert? Formular sagt das was aktiviert/markiert wurde -> Tabelle1 Spalte 1 oder Spalte 1 und 3, usw., ist das richtig?

Gruss Stefan

Mit Omega ist mein Lieferant gemeint! Das ist der Firmenname…

Hallo von df6gl,

Bruttopreis ist überflüssig.

Warum?

Weil der jederzeit aus Grunddaten berechnet werden kann. (Eine Ausnahme wäre, wenn man eine nicht streng(!) normalisierte Tabellenstruktur für die Erstellung von Rechnugen , die danach unverändert bleiben müssen hat/braucht)

WO und WIE wird der gerechnet?

Feldeigenschaften->Daten->Steuerelementinhalt: =([Omega
Netto]*[MwSt-Satz])+[Omega Netto]

Mit Omega ist mein Lieferant gemeint! Das ist der Firmenname…

eieieieiei… 8-() Ein Firmenname (–> Datenwert) als Steuerelementname ???

Weil der Bruttopreis als Rechenergebnis in einem nicht an die
Tabelle (bzw. das entspr. Tabellenfeld) gebundenen Textfeld
angezeigt wird.

Ich habe erst die Tabelle erstellt, dann das Formular. Das
Feld habe ich über ‚Vorhandene Felder hinzufügen‘-Option
hinzugefügt und habe lediglich diese ‚Formel‘ eingegeben!
Falsch?

naja, Falsch nicht gerade, aber die Bindung an das Tabellenfeld ist dahin. Gebunden ist das Textfeld jetzt an den Berechnungsausdruck( Formel).

(Wahrscheinlich habe ich schon zuviel mit Excel gearbeitet!!!

-)

k. A. In Access läuft allerdings vieles (ganz) anders…

In einem „Selektions“-Form platzierst Du Kombifelder und oder
Listenfelder, die auch voneinander abhängig sein können und
wählst damit Deine Kriterien(werte) aus.

Mit „Selektions“-Form meinst du bestimmt ein Formular, das ich
zum selektieren der Daten die ich benötige nehme, oder?

ja…

Wenn Ja, was hat das mit der Abhängigkeit auf sich? Ich möchte
erreichen das ich zum beispiel eine Kategorie auswähle und
wenn ich 3 Lieferanten dazu habe, mir dann noch mal
selektieren zu können welche ich sehen will oder ob alle
angezeigt werden sollen. Die Listenfelder müssen nicht in
einer abhängigkeit stehen.

Das tun sie doch: Eine bestimmte (ausgewählte) Kategorie bedingt die Anzeige bestimmter Lieferanten (zur weiteren Auswahl).

In der Ereignis-Prozedur einer Schaltfläche setzt Du die
Kriterienwerte zu einer „Where-Condition“ eines SQL-Strings
(SQL-Abfrage) zusammen und weist diese der Openreport-Methode
zu.

??? Ich DAAU!(Dümmster Anzunehmender Access User)???

Das ist keine Dummheit, sondern Unkenntnis, und die kann man abstellen z. B. durch einen Grundlagenkurs… (Bücher, Tutorials)

Schaltfläche und Ereignis-Prozedur ok, aber „„Where-Condition“
eines SQL-Strings(SQL-Abfrage) zusammen und weist diese der
Openreport-Methode zu“ sind mir fremd!

In dem Selektionform wird die Auswahl durchgeführt und danach mittels Klick auf einen Button der Bericht geöffnet.

Kannst du mir das mal auf deutsch übersetzen?

Ich rede doch Deutsch… ?

Und was ist mit dem Bericht? Den muss ich vorher erstellen

Der Bericht wird vorher so mit Basis zu einer Abfrage erstellt, die über alle nötigen Tabellen verknüpft , aber keine Kriterien erhält , dass der Bericht bei direktem Öffnen (Datenbankfenster, bzw. Navibereich) alle(!) Daten richtig/passend strukuriert anzeigt.

oder erstellt er just in dem moment einen?

erstellen und öffnen sind zwei Paar Stiefel…

Ich nehme an das
ich einen fertigen Bericht nehme und nur die Felder zuweise!

?? Was für Felder und wo zuweisen?

Also dem Feld sage wo die Daten herkommen müssen.

Einem „Feld“ kannst Du nichts sagen. Du kannst Access ( der Openreport-Methode) sagen, mit welchen Kriterien (—> Where Condition") die o. g. Berichtsabfrage arbeiten soll, d. h. welche Datensätze beim Öffnen(!, nicht bei der Erstellung) des Berichtes aus den Tabellen an den Bericht geliefert werden sollen.

Ich glaube die Basis habe ich verstanden:

eher nicht :wink:

Bericht fragt Formular -> Welchen Feldwert?

Niemand „fragt“ das Form. Das Form ist dafür da, um
a) die Auswahl der Kriterienwerte zu bewerkstelligen
b) diese Auswahl für die Berichtsabfrage passend (als Kriteriumsausdruck --> Where Condition) zusammen zu stellen.
c) den Bericht zu öffnen (mittels Openreport-Methode und Übergabe des zusammengebauten Kriteriums (—> Where Condition-String) an diese.

Schau mal in die VBA(!)-Hilfe bzgl. Openreport und Where-Condition

Formular sagt das
was aktiviert/markiert wurde -> Tabelle1 Spalte 1 oder Spalte
1 und 3, usw.,

ist das richtig?

Nein, das Form sagt nichts. Das Form enthält Steuerlemente , in die Du(!) bestimmte Daten eingibst (hier halt „auswählst“) und Code (Programmierung aufgerufen z. B. mittels Schaltfläche) , der die Auswahl passend als „Kriterium“ zusammensetzt und den Bericht öffnet.

Jetzt klarer?

Nochmal zum Problem 1:

Das Brutto-Ergebnis abspeichern erreichst Du dadurch, dass Du das akt. (Formular-) „Bruttofeld“ in z. B. „txtBruttopreis“ umbenennst, aus der Feldliste nochmal „Bruttopreis“ in das Form ziehst und den folgenden Code benutzt, um das Feld „Bruttopreis“ vor dem Speichern des Datensatzes mit dem berechneten Wert versiehst:

Sub Form_Before_Update(Cancel as Integer)
Me!Bruttopreis= Me!txtBruttopreis
End Sub

Viele Grüße vom Bodensee
Franz, DF6GL

Hallo!

OK, ich befasse mich das erste mal richtig mit Access. Mir fehlen noch viele Erfahrungswerte und Grundlagen! Ich habe meine Datenbank soweit angelegt das sie mehr oder minder funktioniert. Aber das ist mir jetzt etwas zu komplex gewesen daher auch mein Post. Mit deutsch meinte ich, ob du es mir in einfachen Worten erklären kannst da ich mit Where-Conditions nichts anfangen kann. Dafür fehlt mir das Programierwissen in Access.

Ich verstehe nicht welches Feld ich mit welchem Verknüpfen muss damit die Auswahl im Bericht erscheint! Muss die Verbindung zum Form ausgewählt werden oder zur Abfrage? Ist die Abhängigkeit denn Pflicht für diesen Prozess?

Ich glaube schon! Wenn ich Kategorie Fleisch auswähle muss die nächste Spalte, bei mir Artikel, ja auch wissen welche Daten sie zeigen soll.

Ich könnte dir ja meine Datenbank mal rüber schicken, zur Ansicht. Das alles hier zu schreiben und erklären könnte, glaube ich, bei meinem wenigem Wissen über Access, Monate dauern!!! :smile:

Gruß…

Hallo,

naja, „Kriterium“ bzw. „Where-Condition“ ist halt nun mal ein grundsätzlicher Begriff bei Datenbanken, wie auch „Abfrage“ bzw. „SQL-String“ oder „SQL-Statement“

Ok, Schick die DB mal her (ausnahmsweise)

Viele Grüße vom Bodensee
Franz, DF6GL

Hallo Franz!
Wie kann ich dir denn die DB zukommen lassen?

Gruß Stefanos