Quote errechnen und anzeigen !

Hallo Leute,
Ich habe eine Access-Datenbank in der unter verschiedenen Namen (Mitarbeitern) Kundenkontakte erfasst werden. Ich möchte auf der Eingabemaske nun die Quote der erfolgreichen Kontakte erscheinen lassen. Das heisst: Ich brauche die Anzahl der Gespräche des Mitarbeiters geteilt durch die Anzahl der Gespräche mit einer Erlösangabe in der Spalte Erlös.
Kann mir jemand von Euch sagen wie ich die Anzahl von VBA zählen lasse ?
Gruß Christian

Hallo Christian,

von VBA habe ich keine Ahnung. Aber dafür ist Reinhard ja hier :smile:
Zu deinem Problem. Eigentlich ist es simple zu lösen. Du kannst das via eine SQL Abfrage machen :smile:

Wie du ein SQL Statement abfeuerst das weisst du?
Wenn du nun noch den Aufbau der DB sagst,( Tabellennamen und Spaltennamen) so kann ich dir gerne das SQL Statement schreiben :smile:
Dazu brauche ich aber noch wie sich das Eingabefeld in deiner Eingabemaske schimpft :smile:

Anbei stellen sich da aber auch noch ein paar Fragen.
Du schreibst:

Ich brauche die Anzahl der
Gespräche des Mitarbeiters geteilt durch die Anzahl der
Gespräche mit einer Erlösangabe in der Spalte Erlös.

Ok, das ist kein Thema. Willst du die Daten für jeden Mitarbeiter haben oder nur von den der die meisten Telefonate hatte?

Könntest du ggfls. mal einen Fiktiven Datensatz hier posten, damit man sieht wie er ausschaut?

Von welchem Typ sind die Spalten?
Wie sollen dann die Daten eingetragen werden und vor allem wo?

MfG Alex

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Moin, Christian,

das macht man per Access, nicht per VBA.

Tabelle **Kontakte** (<u>Id</u>, Mitarbeiter, Datum, Erlös)




Abfrage **Kontakte\_gesamt** :

SELECT Kontakte.Mitarbeiter, Count(Kontakte.Datum) AS Gesamt
FROM Kontakte
GROUP BY Kontakte.Mitarbeiter;




Abfrage **Kontakte\_erfolgreich** :

SELECT Kontakte.Mitarbeiter, Count(Kontakte.Datum) AS erfolgreich
FROM Kontakte
WHERE Kontakte.Erloes \> 0
GROUP BY Kontakte.Mitarbeiter;




Abfrage **KontaktQuote** :

SELECT g.Mitarbeiter, e.erfolgreich/g.gesamt AS qoute
FROM Kontakte\_gesamt AS G, Kontakte\_erfolgreich AS E
WHERE g.mitarbeiter=e.mitarbeiter;

Die drei Abfragen lassen sich natürlich in eine zusammenfassen, das machen wir dann im Fortgeschrittenenkurs :wink:

Und Mitarbeiter ist natürlich FS zur Tabelle Mitarbeiter.

Gruß Ralf

Hallo Ralf,
vielen Dank, dass Du Dich kümmerst.
Um Deine Fragen zu beantworten:

  1. also gut, dann ebend in access !
  2. Die Abfragen verstehe ich nicht. Ich habe eine Tabelle Namens „Gesprächsstatistik“. In der sind die Spalten „GFK-Mitarbeiter“ und „Erlös“ vorhanden.
    Für diese Tabelle habe ich ein Eingabeformular erstellt.
    Auf diesem Eingabeformular existiert ein Textfeld (Name „Quote“), welches die aktuelle Quote der Gespräche anzeigen soll.
    Ich habe dazu in die Eigenschaft Steuerelementinhalt die Formel"=Anzahl([Erlös])" eingesetzt. Um aber die Quote zu ermitteln, muss diese Anzahl doch durch die Anzahl der Gesamtgespräche geteilt werden. Das aber klappt noch nicht, weil ich von diesem sch… Abfrage-Editor keine Ahnung habe.
  3. natürlich soll die Quote für jeden Mitarbeiter einzeln ermittelt werden.

P.S. was den Fortgeschrittenenkurs angeht, bin ich leider auf mich und das Kompendium2000 alleingestellt.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Moin, Christian,

ob die Tabelle nun Kontakte oder Gesprächsstatistik heißt, ist erstmal egal, abgesehen davon, dass Dein Name in die Irre führt - eine Statistik sehe ich da nicht, die muss erst mit Hilfe zusätzlicher Abfragen gebaut werden.

Auf diesem Eingabeformular existiert ein Textfeld (Name
„Quote“), welches die aktuelle Quote der Gespräche anzeigen
soll. Ich habe dazu in die Eigenschaft Steuerelementinhalt die
Formel"=Anzahl([Erlös])" eingesetzt. Um aber die Quote zu
ermitteln, muss diese Anzahl doch durch die Anzahl der
Gesamtgespräche geteilt werden. Das aber klappt noch nicht,
weil ich von diesem sch… Abfrage-Editor keine Ahnung habe.

Der Abfrage-Editor1 ist da völlig unschuldig, das führt nicht zum Ziel, weil Du weder die Anzahl der erfolgreichen Kontakte noch die Gesamtzahl kennst.

Die Abfragen Kontakte_gesamt und Kontakte_erfolgreich sind der Divisor und der Dividend für den gesuchten Quotienten. Die dritte Abfrage errechnet den Qoutienten.

Der Rest hängt von den Wünschen des Auftraggebers ab. Die Quote kann bereits bei der Eingabe der Daten für einen Mitarbeiter angezeigt werden, da müsstest Du die Abfrage ereignisgesteuert aus dem Formular aufrufen und auf den aktuellen Mitarbeiter einschränken. Oder Johnny Controletti will das Gesamtbild haben, dann stellst Du ihm die 3. Abfrage als Bericht zur Verfügung.

Gruß Ralf

1Niemand, der ernsthaft arbeitet, verwendet den Abfrage-Editor. Bewstenfalls taugt er als Gedächtnisstütze, wenn sich ein Feldname aus dem Kurzzeitgedächtnis davongestohlen hat.