Neuigkeiten:

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

Mobiles Hauptmenü

Datentypenkonflikt

Begonnen von vandekibi, Juli 24, 2012, 15:48:39

⏪ vorheriges - nächstes ⏩

vandekibi

Guten Tag

Da wir neue Bestimmungen haben "darf" ich die Lohnblätter umschreiben resp. neu gestalten. An sich ganz einfach......ABER

Bei uns läuft alles über die Mitarbeiternummer. In der Tabelle Personaldaten ist die Mitarbeiternummer als Text abgespeichert (Beispiel 11-02, 41-01 oder 33-09)

In der Personaleinsatzplanung werden die Mitarbeiternummern als Auswahlinstrument und somit als Zahl gespeichert.

Bisher war damit nie ein Problem.

Nun habe ich alles beieinander und müsste auf dem Bericht die Mitarbeiternummer mit dem passenden Mitarbeiter verknüpfen und da kommt der "Datentypenkonflikt im Ausdruck".

Auf den alten Lohnblättern, die genau gleich aufgebaut sind (ohne die nicht relevanten Aenderungen) funktionierte diese Zusammenführung einer Abfrage (Personaleinsatzplanung - Abfrage) und der Tabelle Personaldaten mit den Angaben ohne Probleme.

Ich vermute mal, dass ich mittlerweile den Wald vor lauter Bäumen nicht mehr sehe und wäre über etwas Hilfe sehr froh.

Danke

DF6GL

Hallo,

vermutlich benutzt Du die falschen Felder für die Verknüpfungen..

"In der Tabelle Personaldaten ist die Mitarbeiternummer als Text abgespeichert "

das kann ja sein, aber bei dieser Nummer (Feld) handelt es sich sehr vermutlich nicht um das Primärschlüsselfeld. In der Tabelle "Personaleinsatzplanung" ist (auch sehr wahrscheinlich) dieses Primärschlüsselfeld (bzw. der Wert) benutzt.

"müsste auf dem Bericht die Mitarbeiternummer mit dem passenden Mitarbeiter verknüpfen "

was heißt das? Soll das eine verknüpfende Abfrage für den Bericht sein?

Falls so, poste mal den SQL-String dieser Abfrage und beschreibe die Schlüsselfelder in den Tabellen.

vandekibi

Hallo

Ich versuch es mal....

in der Beilage habe ich die Beziehungen der Abfrage (roter Kreis) reingestellt.

Der alte Bericht war ganz einfach und funktioniert bei gleichen Beziehungen immer noch. Alte Abfrage plus Name, Vorname, Adresse, PLZ und Ort aus den Personaldaten (Blau).

Und wenn ich herausgefunden habe, wass ein SQL-String ist, dann poste ich auch noch den.

Danke


Jonny

Hallo,
dein Beilage kann ich nicht sehen.
Was Franz meint ist die Abfrage als SQL-String.
- Abfrage im Entwurf öffnen.
- Ansicht SQL
dann hast du den String.

Aber ich vermute das Gleiche wie Franz.
Du verknüpfst die falschen Felder.

Gruß

Johann

vandekibi

hallo

und schon wieder etwas gelernt  ;D

Hier die SQL

SELECT Personaleinsatzplanung.ID, Personaleinsatzplanung.[Einsatz Nummer], Personaleinsatzplanung.Personalnummer, Personaleinsatzplanung.DA, Personaleinsatzplanung.DE, DateDiff("n",[Personaleinsatzplanung.DA],[Personaleinsatzplanung.DE])/60 AS Rapport, Personaleinsatzplanung.Funktion, [Liste der Entschädigungen pro Einsatzfunktion].Stundenansatz, [Rapport]*[Stundenansatz] AS Lohn, Personaleinsatzplanung.[Fahrspesen pauschal], Personaleinsatzplanung.[Km Entschädigung], [Km Entschädigung]*0.8 AS [KM Geld], Personaleinsatzplanung.[Sonn-Feiertag], IIf([Sonn-Feiertag]=-1,[Rapport]-[Nachtschicht],0) AS [Sonn-Feiertage], [Sonn-Feiertage]*([Stundenansatz]*0.1) AS SFZuschlag, [Rechnung mit Nachtschicht].Nachtschicht, [Nachtschicht]*([Stundenansatz]*0.1) AS Nachtzuschlag, [Lohn]+[SFZuschlag]+[Nachtzuschlag] AS [Lohn vor Abzug]
FROM [Rechnung mit Nachtschicht] INNER JOIN ([Liste der Entschädigungen pro Einsatzfunktion] INNER JOIN Personaleinsatzplanung ON [Liste der Entschädigungen pro Einsatzfunktion].Einsatzfunktion = Personaleinsatzplanung.Funktion) ON [Rechnung mit Nachtschicht].[Einsatz Nummer] = Personaleinsatzplanung.[Einsatz Nummer];

DF6GL

Hallo,


offensichtlich fehlt überhaupt die Verknüpfung zur Tabelle "Personaldaten"....

vandekibi

Hallo

versuche es nochmal mit dem Printscreen von den Beziehungen.

In der Abfrage brauche ich die PERSDATEN noch nicht - die kommen an sich erst im Bericht hinzu.

Merci

[Anhang gelöscht durch Administrator]

MzKlMu

Hallo,
also ich kann da nicht wirklich was erkennen.
Nur dass keine referentielle Integrität gesetzt ist, was schon mal bedenklich ist.
Gruß Klaus

vandekibi

Hallo

Nun ja, die referentielle Integrität weigert sich mit ethlichen Fehlermeldungen den Dienst anzutreten. Wird wohl die nächste Baustelle sein.


MzKlMu

#9
Hallo,
ZitatWird wohl die nächste Baustelle sein.
Das solltest Du zur 1.Baustelle machen. Wenn keine RI geetzt werden kann, können Fehler im Aufbau und/oder in den Daten vorliegen. Das sollte behoben/geklärt werden, bevor Du weiter machst. Und der Datentypkonflikt kann auch mit falschen Beziehungsfeldern und damit auch mit RI zusammenhängen.

Was kommen denn für Fehlermeldungen?

Und wie gesagt, das Bild ist wenig hilfreich.
Gruß Klaus

DF6GL

Hallo,

und zusätzlich:

"In der Abfrage brauche ich die PERSDATEN noch nicht - die kommen an sich erst im Bericht hinzu."

Wenn die Daten im Bericht "hinzu" kommen sollen, dann müssen die auch schon in der Abfrage enthalten sein (außer man "holt" die Daten im Bericht mit z. B. den Domänenaggregat-Funktionen (Dlookup(), DCount(), etc) aus den Tabellen).


vandekibi

Hallo

und wieder eine Nachtschicht......

Also die Fehlermeldung: siehe Beilage

Und zum Bericht: Bisher habe ich es immer so gemacht, dass in den Abfragen nur mit der Personalnummer gearbeitet wurde. Im Bericht habe ich dann die Personalnummer und den Namen, Vorname, Adresse zusammengeführt. Hat bisher immer funktioniert.





[Anhang gelöscht durch Administrator]

DF6GL

Hallo,

zur Fehlermeldung: hab ich anfänglich schon beschrieben...


"Im Bericht habe ich dann die Personalnummer und den Namen, Vorname, Adresse zusammengeführt."


???     Du sprichst in Rätseln...



Jonny

Hallo,
wenn es so ist wie ich vermute hast du eine Abfrage. Beim Erstellen vom Bericht nimmst du die Abfrage
und dazu die Tabelle der Personaldaten um Name etc. zu bekommen.

Lieg ich damit richtig hast du bei der Datenherkunft vom Bericht einen SQL-String erzeugt den du
bearbeiten musst.

Änderungen an der Abfrage bewirken dann nichts.

Wie gesagt ist eine Vermutung. Prüfe bitte was bei der DS-Herkunft vom Bericht steht.

Gruß

Johann

vandekibi

Sorry für die Rätsel.

@Johann : Bingo. Genau so funktioniert der Bericht. Jetzt habe ich einfach das Problem, dass ich Dir ohne Probleme die Funktionsweise einer zeitgesteuerten Schalteinrichtung erklären kann aber keine Ahnung habe was eine DS-Herkunft ist.

Merci