AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Paradox-Feldtypen zuweisen
Thema durchsuchen
Ansicht
Themen-Optionen

Paradox-Feldtypen zuweisen

Ein Thema von LOMBI · begonnen am 12. Mai 2006 · letzter Beitrag vom 20. Mai 2006
Antwort Antwort
Seite 1 von 2  1 2      
LOMBI
(Gast)

n/a Beiträge
 
#1

Paradox-Feldtypen zuweisen

  Alt 12. Mai 2006, 18:00
Datenbank: Paradox • Version: 7 • Zugriff über: Query, DataSource
Hallo,

könnt Ihr bitte mal sehen, ob ich die richtigen Feldtypen gewählt habe:

Feldname Typ

MwSt N
EAN N
EKpreis $
VKnetto $
VKbrutto $
Anfangsbest N
Abgang N

Vielen Dank!

Gruß
Lombi
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#2

Re: Paradox-Feldtypen zuweisen

  Alt 12. Mai 2006, 18:03
N? $?
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Paradox-Feldtypen zuweisen

  Alt 12. Mai 2006, 18:08
Hallo Lombi,

als Bestand und Abgang könntest du wohl besser I(nteger) nehmen. Ansonsten ist N(umerisch) und $(Währung) wohl OK.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
LOMBI
(Gast)

n/a Beiträge
 
#4

Re: Paradox-Feldtypen zuweisen

  Alt 12. Mai 2006, 19:31
Hallo MrSpock,

das Problem ist, dass ich nach dem Compillieren für einige der Felder
Meldungen erhalte, wie z.B.:
'EditEAN' ist kein gültiger Fließkommawert für Feld 'EAN'

Was stimmt denn bei den folgenden Codes nicht?

Delphi-Quellcode:
...
QArtikel.FieldByName('EAN').AsString := EditEAN.Text //n(umerisch)?
QArtikel.FieldByName('MwST').AsString := CBMwSt.Text //n(umerisch)?
QArtikel.FieldByName('EKPreis').AsString := EditEKPreis.Text //$(Währung)?
QArtikel.FieldByName('VKnetto').AsString := EditVKPreis.Text //$ (Währung)?
QArtikel.FieldByName('Anfangsbestand').AsInteger := EditAbest.Text //I(nteger)?
...
Danke für die Hilfe!

Gruß
Lombi
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: Paradox-Feldtypen zuweisen

  Alt 12. Mai 2006, 20:09
Hallo Lombi,

wenn du Feldkomponenten eines BDE DataSets mit Werten belegst, dann solltest du die passende property verwenden - Currency-Werte (nicht BCD) werden so zugewiesen:

Delphi-Quellcode:
var
  dValue: Double;
begin
  if TryStrToFloat(EditEKPreis.Text, dValue)
    then QArtikel.FieldByName('EKPreis').AsFloat := dValue
    else QArtikel.FieldByName('EKPreis').Clear;
Ob die EAN nicht besser als String gespeichert wird?

Grüße vom marabu
  Mit Zitat antworten Zitat
LOMBI
(Gast)

n/a Beiträge
 
#6

Re: Paradox-Feldtypen zuweisen

  Alt 13. Mai 2006, 11:14
Hi marabu,

wie bitte werden numerische Felder zugewiesen? .AsString?
'EAN' habe ich auf (A)lphanumerisch geändert.

Erhalte leider immer noch Fehlermeldungen:
undefinierter Bezeichner:'TryStrToFloat'
Ungültiger Wert für Feld 'MwSt'
'EditABest' ist kein gültiger Integerwert für Feld 'Anfangsbestand'

Hab's bei den Mengen auch schon ohne Erfolg mit (N)umerisch versucht!

Viele Grüße
Lombi
  Mit Zitat antworten Zitat
Benutzerbild von eddy
eddy

Registriert seit: 3. Jan 2003
Ort: Sachsen
573 Beiträge
 
Delphi 5 Professional
 
#7

Re: Paradox-Feldtypen zuweisen

  Alt 13. Mai 2006, 13:37
Hallo LOMBI,

bei Dir herrscht wohl noch ein bisschen Caos bezüglich der Datentypen.

N Numerisch tab.FieldByName('MwSt').AsFloat := 16.0;
tab.FieldByName('MwSt').AsFloat := StrToFloat('16.0');

I Integer tab.FieldByName('Bestand').AsInteger := StrToInt(editBestand.Text);
L Logisch tab.FieldByName('logik').AsBoolean := 'falsch'; // oder 'wahr'
A Alphanumer. tab.FieldByName('Suchtext').AsString := EditSuchtext.Text;

Währungsfelder verwende ich nicht, da bevorzuge ich den Typ N

Bestand kann auch vom Typ N sein, wenn Nachkomma-Werte vorkommen dürfen z.B. Bestand = 30.5 Meter

mfg
eddy
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Paradox-Feldtypen zuweisen

  Alt 13. Mai 2006, 14:06
Hallo eddy,

da hat sich noch ein Fehler eingeschlichen:

Delphi-Quellcode:
{L Logisch}
 tab.FieldByName('logik').AsBoolean := False; // oder True ohne Anführungsstriche
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#9

Re: Paradox-Feldtypen zuweisen

  Alt 13. Mai 2006, 15:17
Hallo Lombi,

eventuell gibt es die Funktion TryStrToFloat() unter D3 nicht - hier ein preiswerter Ersatz:

Delphi-Quellcode:
function TryStrToFloat(const S: string; out Value: Extended): Boolean;
var
  code: Integer;
begin
  Val(S, Value, code);
  Result := Code = 0;
end;
Grüße vom marabu
  Mit Zitat antworten Zitat
raiguen
(Gast)

n/a Beiträge
 
#10

Re: Paradox-Feldtypen zuweisen

  Alt 14. Mai 2006, 18:10
Moin
@marabu: Deine Funktion wird bei der deutschen Schreibweise eines Gleitkommawertes (23,456)immer FALSE zurückgeben
Die Funktion müsste dann etwas umgeändert werden:
Delphi-Quellcode:
function TryStrToFloat(S: string; out Value: Extended): Boolean;
var
  code: Integer;
begin
  //--Komma durch Punkt ersetzen
  S:= StringReplace(S, ',','.',[]);
  Val(S, Value, code);
  Result := (Code = 0);
end;
oder diese Funktion benutzen:
Delphi-Quellcode:
function IstGleitkommazahl(S: String; out Value: Extended): Boolean;
begin
  Result := TextToFloat(PChar(S), Value, fvExtended);
end;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz