لماذا لا يقبل الدالفي قيمة عشرية؟
عند استعمال البرنامج بالاكسس يعمل يشكل عادي لكن عند ربطه بالدالفي تطلع مشكلة عدم تطابق معايير البيانات
نسخة الدالفي xe2
لخضر مطر كتب :لماذا لا يقبل الدالفي قيمة عشرية؟
من قال لك هذا الكلام
دلفي تتعامل مع الأرقام العشرية ومن زمااااان
عليك توصيف الحالة أكثر حتى يتمكن الشباب من الاجابة
المشكلة هي انه عند تغير خاصية الحقل في الاكسس الى عدد عشري وتغيير خاصية "مقياس" هذا الاخير من 0 الى 2
تظهر مشكلة "عدم تطابق البيانات في تعبير المعايير" وعند العودة الى الاكسس وتغيير الخاصية "مقياس" الى 0
يشتغل البرنامج تمام لكن لايسمح لي باضافة الفاصلة لانه يقوم بتقريب القيمة مباشرة
عدم تطابق البيانات يعني انك تستخدم نوعين مختلفين أي تحاول اسناد قيمة ما من نوع ما إلى متحول ليس من نفس النوع
هل تأكدت من أنك تتعامل مع النوع float بشكل صحيح?
ضع جزء من الكود حتى يتمكن الشباب من الاجابة بشكل أفضل
كود :
nit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Data.Win.ADODB, Vcl.ExtCtrls,
Vcl.DBCtrls, Vcl.Grids, Vcl.DBGrids;
type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
DataSource1: TDataSource;
ADOCommand1: TADOCommand;
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
ADOTable1Matricule: TWideStringField;
ADOTable1N_Module: TSmallintField;
ADOTable1N_Semestre: TWordField;
ADOTable1Annee: TWideStringField;
ADOTable1T_suivi: T[color=DarkOrange]BCD[/color]Field;
ADOTable1Devoir1: TBCDField;
ADOTable1Devoir2: TBCDField;
ADOTable1Examin: TBCDField;
ADOTable1ID_Prof: TSmallintField;
ADOTable1Remarque: TWideStringField;
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
end.
حاولت تغيير المتغير ADOTable1Devoir1: TBCDField; الى ADOTable1Devoir1: TfloatField; لكن لم
اخي في الي ملاحظة خارج الموضوع.. .. تعلم ان تسمي العناصر بشكل واضح ويحب ان تتعود على ذلك.. ... ذلك يفيدك كثيرا من اجل وضوح مشروعك....
مع اني طلبت منك جزء من الكود الا انك لم تضع سوى جزء من قسم التعريف.
لاحظت بأن الحقول معرفة.. .. هل جربت تجري التعديل على خاصية الارقام العشرية في اكسس وتحذف الحقول من العنصر adotable وترجع تضيفها من جديد?
نعم عندما اغير في الخاصية مقياس من 0 الى 2 يشتغل تمام بالاكسس ولكن عندما اذهب واحذف الحقول من adotable واعيد الاتصال بالبرنامج يشتغل وعندما **** ان اضيف اي قيمة لقيمة الحقل الذي تم فيه تغيير المقياس كما اسلفت تظهر لي مشكلة عدم تطابق البيانات فب تعبير المعايير
zaher207 كتب :عليك توصيف الحالة أكثر حتى يتمكن الشباب من الاجابة
ممكن جزء الكود او صورة عن المشروع الذي تعمل عليه