Office: Mitarbeiterabrechnung mit Zuschlag -Access 2010

Helfe beim Thema Mitarbeiterabrechnung mit Zuschlag -Access 2010 in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; hallo, ich habe versucht eine Mitarbeiterabrechnung mit Zuschlagsberechnung durchzuführen. Dafür benötige ich die aktuellen Daten aus dem... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von tegocalde, 3. Januar 2013.

  1. tegocalde Neuer User

    Mitarbeiterabrechnung mit Zuschlag -Access 2010


    hallo,

    ich habe versucht eine Mitarbeiterabrechnung mit Zuschlagsberechnung durchzuführen. Dafür benötige ich die aktuellen Daten aus dem Bericht(gruppiert MitarbeiterNR) und Aus der Tabelle Auftragsbearbeitung(MitarbeiterNR,AuftragsNr).
    Für MitarbeiterNR(Auftragsbearbeitung)=MitarbeiterNR(Bericht) soll er die anzahl der Aufträge(Felder AuftragsNR) ausgeben.
    Auf dieser Basis soll dann die weitere Berechnung funktionieren.
    Funktioniert nur leider nicht so wies soll Evil or Very Mad Sad
    Bei der Wertübergabe aus und in den Bericht bin ich mir auch nicht sicher.
    Hier mal der Code soweit:

    Option Compare Database

    Private Sub Text48_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Dim MitarbeiterNR As String
    Dim SAuftragsL As Single
    Dim Zuschlag As Single
    Dim p As Single
    Dim dbs As DAO.Database
    Dim str_SQL As String
    Dim rst As DAO.Recordset
    Dim qdf As QueryDef
    Set dbs = CurrentDb

    Dim int_Anzahl As Integer

    MitarbeiterNR = CStr(MitarbeiterNR.rpt_Abrechnung_MA)

    SAuftragsL = CInt(AccessTotalsAuftrag - Lohn.rpt_Abrechnung_MA)



    str_SQL = "Select count[AuftragsNR]"
    str_SQL = str_SQL & "From[tbl_Auftragsbearbeitung]"
    str_SQL = str_SQL & "Where[Auftragsbearbeitung].[MitarbeiterNR]" = MitarbeiterNR

    Set rst = dbs.OpenRecordset(str_SQL)

    int_Anzahl = CInt(rst)

    If int_Anzahl > 1 Then
    p = 0.1

    ElseIf int_Anzahl > 2 Then

    p = 0.15

    Else

    p = 0

    End If

    Zuschlag = SAuftragsL * p

    Text48.rpt_Abrechnung_MA = CStr(int_Anzahl)

    End Sub


    Brauche dringend Hilfe!!
    Danke schonmal vorab :)

    Mfg
     
    tegocalde, 3. Januar 2013
    #1
  2. Exl121150 Erfahrener User
    Hallo,

    Dein verwendeter VBA-Code enthält eine Reihe von Ungereimtheiten:
    1) Ich nehme an, dass die
    Code:
    Private SUB Text48_MouseMove(...)
    ...
    End Sub
    
    dafür gedacht ist, das Mausbewegungsereignis eines Formular-Textfeldes namens "Text48" abzuändern.
    Dann verstehe ich aber nicht, was die Codezeile
    Code:
    Text48.rpt_Abrechnung_MA = CStr(int_Anzahl)
    
    bedeutet.

    2) Du verwendest an 3 Stellen einen Ausdruck wie XYZ.rpt_Abrechnung_MA, wobei ich nicht weiß, was dieses "rpt_Abrechnung_MA" nach dem Punktoperator bedeuten soll.
    Normalerweise ist es in der OOP (Objektorientierten Programmierung) so, dass zuerst der Zeiger auf die Objektinstanz angeführt wird, gefolgt von einem Punkt, gefolgt von einer Eigenschaft bzw. Methode.
    Das hieße doch, dass Du eine Objektzeigervariable namens "XYZ" verwendest und dann innerhalb dieser Objektinstanz eine Eigenschaft (bzw. Methode) namens "rpt_Abrechnung_MA" referenzierst - was immer das dann an den 3 Stellen bedeuten soll:
    a) MitarbeiterNR = CStr(MitarbeiterNR.rpt_Abrechnung_MA)
    b) SAuftragsL = CInt(AccessTotalsAuftrag - Lohn.rpt_Abrechnung_MA)
    c) Text48.rpt_Abrechnung_MA = CStr(int_Anzahl)

    3) Du hast folgende Variable deklariert innerhalb der SUB:
    Code:
    Dim MitarbeiterNR As String
    zur Speicherung einer Textzeichenkette.
    Du verwendest diese Variable aber in einer doppelten Weise:
    Code:
    MitarbeiterNR = CStr(MitarbeiterNR.rpt_Abrechnung_MA)
    indem Du sie links vom Zuweisungszeichen wie vereinbart als Textvariable verwendest und auch rechts von "=" die Funktion CStr(..) verwendest, in dieser Funktion diese Variable plötzlich wie ein instantiiertes Objekt "...rpt_Abrechnung_MA" zusammen mit einer Eigenschaft/Methode verwendest.

    4) Du verwendest eine nicht deklarierte Variable namens "AccessTotalsAuftrag". Ich nehme an, dass Du sie außerhalb der SUB irgendwo als PUBLIC deklariert hast mit einem numerischen Datentyp.

    5) Du möchtest offenbar eine SQL-Abfrage erstellen:
    Code:
    str_SQL = "Select count[AuftragsNR]"
    str_SQL = str_SQL & "From[tbl_Auftragsbearbeitung]"
    str_SQL = str_SQL & "Where[Auftragsbearbeitung].[MitarbeiterNR]" = MitarbeiterNR
    Ich nehme an, Du möchtest die Anzahl der Sätze in der Tabelle "tbl_Auftragsbearbeitung" zählen, die im Feld "MitarbeiterNR" dieser Tabelle den Wert enthalten haben, der sich momentan in der lokalen Variablen "MitarbeiterNr" befindet. Diesen Zählvorgang möchtest Du anhand des Tabellenfeldes "AuftragsNR" durchführen. Dann aber müsste die Abfrage wie folgt formuliert werden:
    Code:
    str_SQL = "SELECT COUNT[COLOR="#0000CD"](*) AS Anzahl[/COLOR] "
    str_SQL = str_SQL & "FROM tbl_Auftragsbearbeitung "
    str_SQL = str_SQL & "WHERE [COLOR="#0000CD"]tbl_[/COLOR]Auftragsbearbeitung.MitarbeiterNR[COLOR="#0000CD"] = " & MitArbeiterNr & ";"[/COLOR]
    sofern das Feld "MitarbeiterNR" in der Tabelle "tbl_Auftragsbearbeitung" ein numerisches Feld ist. Falls es ein Textfeld ist, lautet die Abfrage so:
    Code:
    str_SQL = "SELECT COUNT[COLOR="#0000CD"](*) AS Anzahl[/COLOR] "
    str_SQL = str_SQL & "FROM tbl_Auftragsbearbeitung "
    str_SQL = str_SQL & "WHERE [COLOR="#0000CD"]tbl_[/COLOR]Auftragsbearbeitung.MitarbeiterNR[COLOR="#0000CD"] = '" & MitArbeiterNr & "';"[/COLOR]
    6) Du hast die Variable "rst" wie folgt deklariert:
    Code:
    Dim rst As DAO.Recordset
    - also als Recordset-Objekt.
    Dann greifst Du aber mit
    Code:
    int_Anzahl = CInt(rst)
    darauf zu, als ob es eine einfache numerische Variable wäre.
    Setzt man die Abfrage aus Punkt 5) voraus, müsste diese Wertzuweisung lauten:
    Code:
    rst.MoveFirst
    int_Anzahl = CInt(rst!Anzahl)
    , wobei man in diesem Fall statt "rst.MoveFirst" auch "rst.MoveLast" nehmen kann.

    7) Spätestens vor Verlassen der SUB sollte man die lokal deklarierten Objektinstanzen explizit für die Garbage-Collection wieder freigeben, indem man folgende Codezeilen einfügt:
    Code:
    set rst = Nothing
    set dbs = nothing
     
    Exl121150, 11. Januar 2013
    #2
Thema:

Mitarbeiterabrechnung mit Zuschlag -Access 2010

Die Seite wird geladen...
  1. Mitarbeiterabrechnung mit Zuschlag -Access 2010 - Similar Threads - Mitarbeiterabrechnung Zuschlag Access

  2. zuschlag Samstag

    in Microsoft Excel Hilfe
    zuschlag Samstag: Hallo es soll wenn das Datum an einen Samstag fällt einen Zuschlag von 50% geben, Datei im Anhang. Dachte an etwas wie Wenn( wochentag, falls es sowas gibt danke
  3. Berechnung von Nachtschicht-Zuschlägen

    in Microsoft Excel Hilfe
    Berechnung von Nachtschicht-Zuschlägen: Hallo zusammen! Ich erstelle einen Stundenzettel in Excel und bin auf ein Problem gestoßen, dass ich alleine nicht lösen kann. Es geht um die Berechnung der Nachtschicht-Zuschlägen. Ich liste...
  4. Zuschläge, Arbeitszeit, Stundenerfassung

    in Microsoft Excel Hilfe
    Zuschläge, Arbeitszeit, Stundenerfassung: Hallo, ich habe folgendes Problem und suche nun hier nach Hilfe und Unterstützung. Ich habe eine Arbeitszeitmappe erstellt, was auch nicht sonderlich schwer war. Jetzt stehe ich aber vor den...
  5. Stundenerfassung und Zuschläge

    in Microsoft Excel Hilfe
    Stundenerfassung und Zuschläge: Hallo, ich erstelle mir gerade eine Stundenliste für den Monat Januar. Hier erfasse ich verschiedene Schichtzuschläge, nämlich Nachtschicht, Sonntag und Feiertagszuschläge. Bei den einfachen...
  6. Schicht Zulage berechnen: Nachtzuschlag Sonntag wie Feiertag Zuschläge

    in Microsoft Excel Hilfe
    Schicht Zulage berechnen: Nachtzuschlag Sonntag wie Feiertag Zuschläge: Hallo, es geht wieder um das Thema Schichtzulage, wo man immer wieder findet. Aber leider kann ich damit nix anfangen wie man es selber gerne möchte. Nun habe ich eine Seite gefunden, die man...
  7. Wenn Funktion zur Berechnung von Zuschlägen

    in Microsoft Excel Hilfe
    Wenn Funktion zur Berechnung von Zuschlägen: Hallo, ich hoffe Ihr könnt mir helfen. Ich bin über einen Dienstplan und komme nicht weiter. Punkt 1: Zuschlag N25% = C4 22:00-06:00 C3= Mo, Di, Mi, Do, Fr dann 4 sonst 0 C3 =Sa, So dann 2...
  8. Zuschlagsberechnung Lohnabrechnung mit Arbeitszeittabelle Verknüpfung

    in Microsoft Excel Hilfe
    Zuschlagsberechnung Lohnabrechnung mit Arbeitszeittabelle Verknüpfung: Servus hallo! ich habe mich hier angemeldet um mich von echten Profis beraten zu lassen da jene die in unserer Firma dafür bezahlt werden nicht weiter wissen :) Es geht um eine Stunden bzw...
Schlagworte:
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden