'Markierung' in Paradox-Tabelle mit Float-Feldern [gelöst]



  • Hallo Gemeinschaft,

    ich habe hier ein Programm das float-Werte in float-Felder einer Paradox-Tabelle ablegt. Das können mal locker ein paar Millionen Werte werden. Es steht nicht zu jedem Zeitpunkt für jedes Feld ein Wert zur Verfügung, daher muss ich in der Pardadox-Tabelle irgendwie kenntlich machen ob im Feld ein auswertbarer Wert ist oder nicht.
    Nun kann ich aber nicht einfach ein "*" eintragen, da es sich ja in der Tabelle um float-Felder handelt. Ändere ich die Felder der Tabelle in String-Felder, wird die Tabelle aber gleich wesentlich größer (ca. 10% pro Feld - 19 Felder sind vorhanden)...
    Allerdings kann ich auch nicht einfach 0,00 eintragen, da dies ein gültiger Wert sein kann (sprich: aus 0,00 wird nicht ersichtlich ob das Feld beim Auswerten ausgelassen werden soll).
    Was kann ich tun, um in einem float-Feld einer Paradox-Tabelle eine Markierung einzufügen, dass dort kein gültiger Wert steht?
    Kann ich das Feld einfach leer lassen? Wenn ja, wie?

    So wird die Tabelle derzeit gefüllt:

    LfdNr+= 1;
    const TVarRec Values[]=
    {
    	LfdNr,
    	(float)DBS.Wert.Komplett[0],
    	(float)DBS.Wert.Komplett[1],
    	(float)DBS.Wert.Komplett[2],
    	(float)DBS.Wert.Komplett[3],
    	(float)DBS.Wert.Komplett[4],
    	(float)DBS.Wert.Komplett[5],
    	(float)DBS.Wert.Komplett[6],
    	(float)DBS.Wert.Komplett[7],
    	(float)DBS.Wert.Komplett[8],
    	(float)DBS.Wert.Komplett[9],
    	(float)DBS.Wert.Komplett[10],
    	(float)DBS.Wert.Komplett[11],
    	(float)DBS.Wert.Komplett[12],
    	(float)DBS.Wert.Komplett[13],
    	(float)DBS.Wert.Komplett[14],
    	(float)DBS.Wert.Komplett[15],
    	(float)DBS.Wert.Komplett[16],
    	(float)DBS.Wert.Komplett[17],
    	(float)DBS.Wert.Komplett[18]
    };
    
    const int nCount= sizeof(Values)/ sizeof(Values[0]);  
    MesswertTabelle->InsertRecord(Values, nCount-1);
    

    MfG



  • Hier könntest Du Dir NULL zu nutze machen. Wenn Du keinen Wert für das Feld schreibst ist der 'Wert' NULL. Bei Datenbanken wird zwischen NULL (kein Wert zugewiesen) und 0 (der Wert Null) unterschieden.

    Um also nur die Datensätze zu erhalten, die einen gültigen Float-Wert haben, reicht es dann

    WHERE NOT (Floatvariable IS NULL)
    

    als Bedingung anzugeben.



  • kennst du den ungefähren Wertebereich deiner Messungen?
    wenn ja nimm doch eine irreale Zahl also eine kleinere oder größere Zahl die in deinen Messungen nicht vorkommen kann.
    (man hat ja genug Spielraum bei einem Bereich von -3.40E+38 bis +3.40E+38)

    edit: mann tipp ich langsam.. oder war das das suchen der zahlen für den bereich 😃 ?



  • Multi schrieb:

    kennst du den ungefähren Wertebereich deiner Messungen?
    wenn ja nimm doch eine irreale Zahl also eine kleinere oder größere Zahl die in deinen Messungen nicht vorkommen kann.
    (man hat ja genug Spielraum bei einem Bereich von -3.40E+38 bis +3.40E+38) ...

    Ja das ist es! 👍 Vielen Dank.
    Man war das einfach... *KopfGegenDieWandSchlag* Manchmal sieht man einfach den Wald vor Bäumen nicht! 🙄

    Danke für Eure Antworten Joe_M & Multi. 🙂

    Multi schrieb:

    edit: mann tipp ich langsam.. oder war das das suchen der zahlen für den bereich 😃 ?

    😃


Anmelden zum Antworten