collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 67
  • Punkt Versteckte: 1
  • Punkt Mitglieder: 1

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 13911
  • stats Beiträge insgesamt: 65780
  • stats Themen insgesamt: 8874
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Rabattliste per Formular  (Gelesen 581 mal)

Offline Torsten.

  • Access-Profi
  • **
  • Beiträge: 155
Re: Rabattliste per Formular
« Antwort #15 am: März 27, 2018, 17:54:52 »
Hallo Ekkehard,
das sieht gut aus. Ich werde das jetzt auf meine Daten anpassen.

Vielen Dank
Gruß Torsten
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1736
Re: Rabattliste per Formular
« Antwort #16 am: März 27, 2018, 18:06:47 »
Hallo Torsten,
Mir ist gerade noch aufgefallen, das die Abfrage zwar korrekt funktioniert,
aber sie nicht ganz korrekt formuliert ist.
Ersetze sie durch diese
SELECT
         A.ArtikelID,
         A.artnr,
         A.artname,
         A.kategorieID_F,
         A.artpreis,
         A.artpreis*(1-Forms!frmArtikel!txtRabattEingabe/100) AS rabatt_preis
FROM tblArtikel AS A
WHERE
         A.kategorieID_F=Forms!frmArtikel!cbxKategorieFilter
         AND A.artpreis>=Forms!frmArtikel!txtMindPreisFilter
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 
Folgende Mitglieder bedankten sich: Torsten.

Offline Torsten.

  • Access-Profi
  • **
  • Beiträge: 155
Re: Rabattliste per Formular
« Antwort #17 am: März 28, 2018, 08:52:38 »
Moin Ekkehard,
Deinen Nachtrag habe ich geändert.

Boah, in der Demo-Db sind für mich soviel neue "Sachen", dass ich nur staunen kann.
Ich werde mich die Tage damit befassen und werde sicherlich einige Fragen haben um zu verstehen was warum gemacht wurde um zum Ergebnis zu kommen.

Vielen Dank bis hierhin.

Gruß Torsten
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1736
Re: Rabattliste per Formular
« Antwort #18 am: März 28, 2018, 15:24:33 »
Hallo Torsten,
Na ja, das ist ja noch unterste Stufe (1. Normalform).
Was ich gemacht habe:
1. Die tblKategorien angelegt und mit den ersichtlichen Kategorien bestückt.
2. In der tblArtikel dein Textfeld Kategorie in das FK-Feld KategorieID_F geändert
    (Datentyp: Zahl, Long Integer) und entsprechend befüllt.
3. Die Beziehung zwischen den Tabellen angelegt.
4. Das Formular
   a) an die tblArtikel gebunden (statt an deine Abfrage)
   b) die Felder zum Filtern (Formkopf) umbenannt und als DS-Herkunft des Kombis
       die tblKategorien eingetragen
       dieses Kombi filtert das Form schon mal auf die ausgewählte Kategorie vor
       siehe Ereignisprozedur "cbxKategorieFilter_AfterUpdate()"
    c) das Feld "Kategorie" im Detailbereich in ein Kombi gewandelt, DS-Herkunft wie
        oben, und an das Feld "KategorieID_F" gebunden
    d) der Button zum Anzeigen filtert dann den Rest aus
        wo ich das gerade so schreibe ist mir aufgefallen, dass da noch ein Fehler drin
        steckt (Korrektur s. u.)
     e) und der andere Button setzt den Filter zurück; - hattest du schon, ich hab's nur
         formatiert

Korrektur (s.o.)
Zitat
Private Sub btnAnzeigen_Click()
   
    Me.Filter = "kategorieID_F = " & Me.cbxKategorieFilter & " And artpreis >= " & Str(Nz(Me.txtMindPreisFilter, 0))
    Me.FilterOn = True
   
End Sub
(i.Ü.: Str ersetzt das Dezimal-Komma durch einen Punkt; Nz verwendet 0 als mind.
Preis wenn das Feld leer ist)

Und zum Schluss dann noch die Abfrage für den Export erstellt incl. Berechnung der
Preise abzügl. Rabatt.
Ob diese von den Feldern und deren Reihenfolge her den Anforderungen der Weiter-
verarbeitung entspricht kannst nur du wissen.

gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 
Folgende Mitglieder bedankten sich: Torsten.

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1169
Re: Rabattliste per Formular
« Antwort #19 am: März 28, 2018, 16:19:11 »
@Ekkehard,

(bitte nicht falsch verstehen - aber das gehört IMHO mit zur Datenmodellierung)

was nicht sein dürfte (DS 6-8):
 
tblKategorien 
KategorieIDKatName
1
hose
2
oberteil
3
fußbekleidung
5
unterwäsche
6
A
7
A
8
(Null)


Was auch nicht sein dürfte (DS 14, 15):
 
tblArtikel 
ArtikelIDartnrartnamekategorieID_Fartpreis
1
01jeanshose
1
29,95€
2
02bluse
2
19,95€
3
03hemd
2
24,95€
4
04latzhose
1
29,50€
5
05weste
2
39,95€
6
06strümpfe
3
7,95€
7
07socken
3
12,50€
8
08schuhe
3
49,90€
9
09sandalen
3
17,92€
10
10shorts
1
9,99€
11
11lätzchen
2
4,95€
12
12unterhemd
5
7,95€
13
13unterhose
5
4,95€
14
(Null)(Null)
(Null)
(Null)
15
(Null)(Null)
(Null)
-23,75€
Grüße von der (⌒▽⌒)
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1736
Re: Rabattliste per Formular
« Antwort #20 am: März 28, 2018, 16:45:10 »
Hallo Lachtaube,
Zitat
bitte nicht falsch verstehen
Sicher nicht. Du hast ja Recht, da war ich schlurig.
Besser so?
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 
Folgende Mitglieder bedankten sich: Torsten.

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1169
Re: Rabattliste per Formular
« Antwort #21 am: März 28, 2018, 16:57:07 »
Viel besser Ekkehard :)

Anmerkung:
>0 reicht als Gültigkeitsregel aus und impliziert ein NOT IS NULL
Bei eingestellter referentieller Integrität ist in Access bereits ein Index involviert (daher doppelt gemoppelt).
Grüße von der (⌒▽⌒)
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1736
Re: Rabattliste per Formular
« Antwort #22 am: März 29, 2018, 15:35:38 »
Zitat
>0 reicht als Gültigkeitsregel aus und impliziert ein NOT IS NULL
Bei mir nicht; - ohne diese Bedingung wird bei mir ein leeres Feld nicht muckiert.
An den automatisch gesetzten Index hatte ich nicht gedacht.
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 
Folgende Mitglieder bedankten sich: Torsten.

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1169
Re: Rabattliste per Formular
« Antwort #23 am: März 29, 2018, 16:20:19 »
Mit der Gültigkeitsregel war ich auf dem falschen Dampfer. :)
Grüße von der (⌒▽⌒)
 

Offline Torsten.

  • Access-Profi
  • **
  • Beiträge: 155
Re: Rabattliste per Formular
« Antwort #24 am: März 31, 2018, 15:20:22 »
Moin Ekkehard,
nochmals vielen Dank für die ausführliche Erklärung warum, wieso, weshalb.
Ich konnte alles an meine Daten anpassen und habe nun ein komfortables Tool um flexibel Angebotspreise im Shop zu realisieren.
Auch noch Dein Nachtrag das Feld MindPreis nicht explizit auszufüllen ist hilfreich
und ich habe nun einen Text/Code der mir die Berechnung des Rabatts in nur einem Feld ermöglicht    :)
A.artpreis*(1-Forms!frmArtikel!txtRabattEingabe/100)
Ich habe aber noch eine Frage:
In der Abfrage "Kopie von qryArtikelExport" änderst Du in
SELECT A.ArtikelID, A.artnr, A.artname, A.kategorieID_F, A.artpreis, A.artpreis*(1-Forms!frmArtikel!txtRabattEingabe/100) AS rabatt_preis
FROM tblArtikel AS A
WHERE (((A.kategorieID_F)=[Forms]![frmArtikel]![cbxKategorieFilter]) AND ((A.artpreis)>=[Forms]![frmArtikel]![txtMindPreisFilter]));

die Herkunftstabelle wird nun als A bezeichnet. Warum wird sowas gemacht?

Noch angenehme Ostertage und freundliche Grüße
Torsten
« Letzte Änderung: März 31, 2018, 15:34:30 von Torsten. »
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7202
Re: Rabattliste per Formular
« Antwort #25 am: März 31, 2018, 19:13:30 »
Hallo,
das sind Aliasnamen. Damit wird der Abfragetext kürzer und übersichtlicher weil statt tblArtikel kann man dann einfach A schreiben.
Wobei bei einer Tabelle auch der Tabellenbezug bei den Feldern entfallen könnte. Auch die Klammern sind zu viele.
SELECT ArtikelID, artnr, artname, kategorieID_F, artpreis,
artpreis*(1-Forms!frmArtikel!txtRabattEingabe/100) AS rabatt_preis
FROM tblArtikel AS A
WHERE A.kategorieID_F=[Forms]![frmArtikel]![cbxKategorieFilter]
AND A.artpreis>=[Forms]![frmArtikel]![txtMindPreisFilter]
Gruß
Klaus
 

Offline Torsten.

  • Access-Profi
  • **
  • Beiträge: 155
Re: Rabattliste per Formular
« Antwort #26 am: April 01, 2018, 09:49:24 »
Ok, verstehe.
Und bei einer weiteren Tabelle in der Abfrage kann ich die dann als B bezeichnen, und weiter C,D usw.?

Gruß Torsten
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7202
Re: Rabattliste per Formular
« Antwort #27 am: April 01, 2018, 10:01:32 »
Hallo,
da nimmt man dann zweckmäßigerweise passende Buchstaben. A=Artikel.
Es ist vorteilhaft, wenn man an den kurzen Aliasnamen auf die eigentliche Tabelle schließen kann. Daher können auch 2 Buchstaben sinnvoll sein.
Gruß
Klaus
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1736
Re: Rabattliste per Formular
« Antwort #28 am: April 01, 2018, 14:04:58 »
@Klaus
Danke für deine Erläuterungen für den TS.
Zitat
Auch die Klammern sind zu viele.
Da hat er die Abfrage wohl erst noch mal im Editor geöffnet und Access hat
die Klammern wieder gesetzt (fürchterliches "Feature"). Bei mir gibt es noch
nicht einmal die eckigen.
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.