Skip to main content
Weil einfach - produktiver ist

Der Daten Spezialist

Konvertieren Sie die Daten mühelos zwischen verschiedenen Formaten ohne Programmierkenntnisse dank Visual Designer. Effizient und super einfach.
Flowheater Download

NET Heater - Problem mit dem Code

Mehr
12 Jahre 10 Monate her #399 von BUG!
NET Heater - Problem mit dem Code wurde erstellt von BUG!
Hallo zusammen,

Ich habe ein Problem mit dem .NET Heater.

Ich benutze den .NET Heater um Berechnungen durchzuführen. Mein Code lautet wie folgt.
Code:
Public Function DoWork() As Object Dim b as Double b = InValues(0).GetDouble() Select b Case 0.01 TO 1.99 DoWork = (b * 1.36) * 5.50 Exit Select Case 2.00 TO 2.99 DoWork = (b * 1.36) * 5.40 Exit Select Case 3.00 TO 3.99 DoWork = (b * 1.36) * 4.75 Exit Select Case 4.00 TO 4.99 DoWork = (b * 1.36) * 4.75 Exit Select Case 5.00 TO 5.99 DoWork = (b * 1.36) * 4.00 Exit Select Case 6.00 TO 6.99 DoWork = (b * 1.36) * 3.75 Exit Select Case 7.00 TO 7.99 DoWork = (b * 1.36) * 3.50 Exit Select Case 8.00 TO 8.99 DoWork = (b * 1.36) * 3.20 Exit Select Case 9.00 TO 9.99 DoWork = (b * 1.36) * 3.00 Exit Select Case 10.00 TO 19.99 DoWork = (b * 1.36) * 2.80 Exit Select Case 20.00 TO 29.99 DoWork = (b * 1.36) * 1.75 Exit Select Case 30.00 TO 39.99 DoWork = (b * 1.36) * 1.75 Exit Select Case 40.00 TO 49.99 DoWork = (b * 1.36) * 1.50 Exit Select Case 50.00 TO 69.99 DoWork = (b * 1.36) * 1.50 Exit Select Case 70.00 TO 79.99 DoWork = (b * 1.36) * 1.50 Exit Select Case 80.00 TO 89.99 DoWork = (b * 1.36) * 1.48 Exit Select Case 90.00 TO 99.99 DoWork = (b * 1.36) * 1.47 Exit Select Case 100.00 TO 149.99 DoWork = (b * 1.36) * 1.46 Exit Select Case 150.00 TO 199.99 DoWork = (b * 1.36) * 1.35 Exit Select Case 200.00 TO 249.99 DoWork = (b * 1.36) * 1.44 Exit Select Case 250.00 TO 300.00 DoWork = (b * 1.36) * 1.25 Exit Select Case Else b = 100000 DoWork = b Exit Select End Select End Function

Problem:
Werte ab Hundert, Beipiel: 145 werden bei folgender CASE Abfrage verarbeitet:
Code:
Case 10.00 TO 19.99 DoWork = (b * 1.36) * 2.80 Exit Select

Werte bis hundert werden einwandfrei bearbeitet.

Der Eingangswert wird als Double (Dezimal) geliefert.

Irgendeine Idee woran das liegen könnte?

Readseite: MS SQL
Writeseite: TEXT
Flowheaterversion: 2.x

Vielen Dank

Gruß

Bitte Anmelden um der Konversation beizutreten.

Mehr
12 Jahre 10 Monate her #402 von FlowHeater-Team
FlowHeater-Team antwortete auf Aw: NET Heater - Problem mit dem Code
Ich kann keinen Fehler an Ihrem Skript feststellen. Schauen Sie sich mal das angepasste Beispiel im Anhang an. Hier habe ich lediglich den Return Wert ersetzt so dass besser ersichtlich ist welcher CASE Zweig eigentlich gezogen wird.

Das gleiche Skript habe ich auch gegen einen SQL Server auf der READ Seite mit dem SQL Datentyp DECIMAL (18,2) getestet. Funktioniert!

Welchen Datentyp verwenden Sie für das Feld auf der READ Seite? Evtl. ist das Feld bei Ihnen als Text (char/varchar) definiert und beim umwandeln geht was verloren? Dann stimmen Ihre Formateinstellungen auf der READ Seite nicht mit dem übergebenen Wert(en) überein.

Für eine weitere Analyse posten Sie bitte mal Ihre Definition sowie Beispieldaten für das Feld als CSV Datei. Hinweis: Die Daten Bitte als ZIP Archiv anfügen.

Anhang VB_DOT_NET_SELECT_CASE.zip wurde nicht gefunden.


gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Anhänge:

Bitte Anmelden um der Konversation beizutreten.

Ladezeit der Seite: 0.263 Sekunden

FlowHeater - Der Daten Spezialist

Effiziente Datenintegration und Transformation mit FlowHeater - Ihre Lösung für nahtlosen Datentransfer.

Rechtliches

Support & Kontakt

Kontaktinformation

Telefon:
0951 / 99339792

E-Mail:
Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.


Copyright © 2009-2024 by FlowHeater GmbH. Alle Rechte vorbehalten.