Bonjour je suis sous delphi 7
jai un petit souci au quel je n 'arrive pas a comprendre les raisons du bug
mon petit programe tous simple de base de donnée me met ce message !!
<<
impossible de convertir le variant de type(string) en type (double) >>
et lorsque je poursuis en pas a pas il me dit que mon champ quantite en est la cose ?..
je vous explique mon programe qui est une petite gestion de cave a vin
j'ai donc créé une table paradox 7 avec des champs (A) pour tous ce qui est du texte et des champs N pour tous ce qui est chiffres
lorsque je saisie mes éléments pas de souci ils apparaissent bien dans mon dgrid mais lorsque je valide ma saisie boom !! j'ai ce message erreur
avans cela fonctionnait !!!
je ne comprend plus !!!
[b]
form de visualisation, saisie,ou modification
/b
unit TH1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, ExtCtrls, OleServer, ExcelXP, Menus,
DB, DBTables, Mask, RzBorder, jpeg, RzButton, DBCtrls, RzBckgnd, Buttons,
ComCtrls;
type
TBDTH1 = class(TForm)
Image1: TImage;
Label2: TLabel;
Image17: TImage;
MessageAlerte: TRzLEDDisplay;
DataSource2: TDataSource;
Table2: TTable;
Menu: TMainMenu;
Fichier1: TMenuItem;
Nouveau1: TMenuItem;
Modifier1: TMenuItem;
Quitter1: TMenuItem;
Imprimer1: TMenuItem;
Fiche1: TMenuItem;
BasedeDonne1: TMenuItem;
saisie1: TMenuItem;
NouvelleFiche1: TMenuItem;
H1: TMenuItem;
H2: TMenuItem;
H3: TMenuItem;
H4: TMenuItem;
H5: TMenuItem;
tri1: TMenuItem;
RH1: TMenuItem;
RH2: TMenuItem;
RH3: TMenuItem;
RH4: TMenuItem;
CasierTH1: TMenuItem;
RM1: TMenuItem;
RM2: TMenuItem;
RM3: TMenuItem;
RM4: TMenuItem;
RM5: TMenuItem;
RM6: TMenuItem;
RM7: TMenuItem;
RM8: TMenuItem;
RM9: TMenuItem;
Casierstm1: TMenuItem;
M1: TMenuItem;
M2: TMenuItem;
M3: TMenuItem;
M4: TMenuItem;
CasiersRB1: TMenuItem;
RB1: TMenuItem;
RB2: TMenuItem;
RB3: TMenuItem;
CasiersTB1: TMenuItem;
B1: TMenuItem;
B2: TMenuItem;
B3: TMenuItem;
N1: TMenuItem;
CasierCH1: TMenuItem;
CH1: TMenuItem;
CH2: TMenuItem;
CasiersCM1: TMenuItem;
CM1: TMenuItem;
Casiers1: TMenuItem;
CB1: TMenuItem;
CB2: TMenuItem;
N2: TMenuItem;
CasiersA1: TMenuItem;
FG1: TMenuItem;
FG2: TMenuItem;
FG3: TMenuItem;
FG4: TMenuItem;
FG5: TMenuItem;
FG6: TMenuItem;
FG7: TMenuItem;
FG8: TMenuItem;
FG9: TMenuItem;
CasiersfilsGauche1: TMenuItem;
FD1: TMenuItem;
FD2: TMenuItem;
FD3: TMenuItem;
FD4: TMenuItem;
FD5: TMenuItem;
FD6: TMenuItem;
FD7: TMenuItem;
FD8: TMenuItem;
FD9: TMenuItem;
N3: TMenuItem;
Divers1: TMenuItem;
VoirLesCasiers1: TMenuItem;
MCasier1: TMenuItem;
Importer1: TMenuItem;
Excel1: TMenuItem;
XT1: TMenuItem;
N5: TMenuItem;
Aide2: TMenuItem;
appropos1: TMenuItem;
ExcelApplication1: TExcelApplication;
Panel1: TPanel;
Panel2: TPanel;
DBGrid1: TDBGrid;
Edit1: TEdit;
Label1: TLabel;
GBSaisie: TGroupBox;
LabelNom: TLabel;
Image6: TImage;
LabelQuantite: TLabel;
LabelAquisition: TLabel;
LabelApogee: TLabel;
LabelEveil: TLabel;
Image4: TImage;
Image3: TImage;
Image5: TImage;
Image2: TImage;
LabelCouleur: TLabel;
LabelAppellation: TLabel;
LabelCru: TLabel;
LabelCepage: TLabel;
Image7: TImage;
LabelRegion: TLabel;
Label6: TLabel;
Label3: TLabel;
Label4: TLabel;
DBAquisition: TDBEdit;
DBQuantite: TDBEdit;
DBMillesime: TDBEdit;
DBNom: TDBEdit;
DBRegion: TDBEdit;
DBAppellation: TDBEdit;
DBCru: TDBEdit;
DBCepage: TDBEdit;
DBCouleur: TDBEdit;
DBType: TDBEdit;
DBEveil: TDBEdit;
DBApogee: TDBEdit;
Validesaisie: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
GBModifier: TGroupBox;
RzBackground1: TRzBackground;
Label25: TLabel;
Label26: TLabel;
Label27: TLabel;
Label28: TLabel;
Label29: TLabel;
Label24: TLabel;
Label30: TLabel;
Label19: TLabel;
Label18: TLabel;
Label20: TLabel;
Label16: TLabel;
Label22: TLabel;
Label21: TLabel;
DBEdit12: TDBEdit;
DBEdit13: TDBEdit;
DBComboBox2: TDBComboBox;
DBEdit14: TDBEdit;
DBEdit15: TDBEdit;
DBComboBox1: TDBComboBox;
DBComboBox3: TDBComboBox;
DBComboBox4: TDBComboBox;
DBEdit16: TDBEdit;
DBEdit17: TDBEdit;
DBEdit18: TDBEdit;
DBEdit19: TDBEdit;
DBRichEdit1: TDBRichEdit;
Validemodif: TRzBitBtn;
Qmodif: TRzBitBtn;
SuprimeFiche: TRzBitBtn;
RzBitBtn4: TRzBitBtn;
RzBitBtn6: TRzBitBtn;
RzBitBtn7: TRzBitBtn;
DBNavigator1: TDBNavigator;
DBnumero: TDBEdit;
Label7: TLabel;
Label5: TLabel;
RzBitBtn8: TRzBitBtn;
RzBitBtn9: TRzBitBtn;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label15: TLabel;
Label17: TLabel;
RzBitBtn5: TRzBitBtn;
Image33: TImage;
DBAnnotation: TDBMemo;
Image14: TImage;
StatusBar1: TStatusBar;
Image8: TImage;
DBCasier: TDBComboBox;
Table2N: TAutoIncField;
Table2Casier: TStringField;
Table2Quantite: TFloatField;
Table2Nom: TStringField;
Table2Region: TStringField;
Table2Appellation: TStringField;
Table2Millesime: TStringField;
Table2Cepage: TStringField;
Table2Couleur: TStringField;
Table2Type: TStringField;
Table2Cru: TStringField;
Table2Eveil: TStringField;
Table2Apogee: TStringField;
Table2Aquisition: TStringField;
Table2Annotation: TStringField;
MaskEdit1: TMaskEdit;
procedure Mise_a_jour(DataSet: TDataSet);
procedure ValidemodifClick(Sender: TObject);
procedure SuprimeFicheClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ValidesaisieClick(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure QmodifClick(Sender: TObject);
procedure RzBitBtn5Click(Sender: TObject);
procedure RzBitBtn9Click(Sender: TObject);
procedure RzBitBtn8Click(Sender: TObject);
procedure DBCasierChange(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
BDTH1: TBDTH1;
SELECT : STRING ;
implementation
uses MultiRechercheTH1, ChoixTH1, SaisieOK;
{$R *.dfm}
procedure TBDTH1.ValidemodifClick(Sender: TObject);
begin
Table2.Active := True;
Table2.Refresh;
end;
procedure TBDTH1.SuprimeFicheClick(Sender: TObject);
var rep : integer;
begin
rep:= MessageBox(Handle,'Etes-vous sûr de vouloir suppirmer ce Vin ?',
'Avertissement',MB_OKCANCEL or MB_ICONSTOP ) ;
if (rep =IDOK) then// test si réponse OK
Table2.Delete; // Suppression de l'enregistrement
Fichier1.Enabled := true; // active l'item du menu Fichier
Table2.Last;
Table2.Append;
end;
procedure TBDTH1.FormCreate(Sender: TObject);
begin
GBSaisie.Visible:= false;;
GBModifier.Visible:= false;
Table2.Open;
Table2.First;
Edit1.text:='0'; //Efface le contenu de l edit1
Table2.First;
repeat
Edit1.text:=inttostr(strtoint(edit1.text)+BDTH1.Table2.FieldValues['Quantite']);
Table2.next;
until table2.eof=true;
end;
procedure TBDTH1.ValidesaisieClick(Sender: TObject);
begin
Table2.Last;
Table2.Refresh;
Table2.Last;
Table2.Insert ;
Table2.Edit; // Positionne la table en mode Edition
Table2.FieldByName('Nom').Value := Table2Nom.Text;
Table2.FieldByName('Region').Value := Table2Region.Text;
Table2.FieldByName('Millesime').Value := Table2Millesime.Text;
Table2.FieldByName('Appellation').Value := Table2Appellation.Text;
Table2.FieldByName('Cru').Value := Table2Cru.Text;
Table2.FieldByName('Cepage').Value := Table2Cepage.Text;
Table2.FieldByName('Couleur').Value := Table2Couleur.Text;
Table2.FieldByName('Type').Value := Table2Type.Text;
Table2.FieldByName('Eveil').Value := Table2Eveil.Text;
Table2.FieldByName('Apogee').Value := Table2Apogee.Text;
Table2.FieldByName('Aquisition').Value := Table2Aquisition.Text;
Table2.FieldByName('Quantite').Value := Table2Quantite.Text;
Table2.FieldByName('Annotation').Value := Table2Annotation.Text;
//Mon appliquation ce bloc ici
Table2.Post(); // Valide l'édition dans la base de données
//Fichier1.Enabled := true; // Active le menu
Table2.Last;
oksaisie.ShowModal;
end;
procedure TBDTH1.Mise_a_jour(DataSet: TDataSet);
VAR St : STRING;
begin
Str(Table2.RecordCount,St);
MaskEdit1.EditText:=St;
end;
procedure TBDTH1.BitBtn3Click(Sender: TObject);
begin
Table2.Active := True;
Table2.Refresh;
OkSaisie.Show;
end;
procedure TBDTH1.QmodifClick(Sender: TObject);
begin
Table2.Active := true;
end;
procedure TBDTH1.RzBitBtn9Click(Sender: TObject);
begin
GBSaisie.Visible := false ;
GBmodifier.Visible:=false;
RechercheTH1.ShowModal;
end;
procedure TBDTH1.RzBitBtn8Click(Sender: TObject);
begin
MenuChoixTH1.ShowModal;
end;
procedure TBDTH1.DBCasierChange(Sender: TObject);
begin
DBCasier.Items.Add('TH1');
DBCasier.Items.Add('TH2');
DBCasier.Items.Add('TH3');
DBCasier.Items.Add('TH4');
DBCasier.Items.Add('TH5');
DBCasier.Items.Add('RH1');
DBCasier.Items.Add('RH2');
DBCasier.Items.Add('RH3');
DBCasier.Items.Add('RH4');
DBCasier.Items.Add('RM1');
DBCasier.Items.Add('RM2');
DBCasier.Items.Add('RM3');
DBCasier.Items.Add('RM4');
DBCasier.Items.Add('RM5');
DBCasier.Items.Add('RM6');
DBCasier.Items.Add('RM7');
DBCasier.Items.Add('RM8');
DBCasier.Items.Add('RM9');
DBCasier.Items.Add('TM1');
DBCasier.Items.Add('TM2');
DBCasier.Items.Add('TM3');
DBCasier.Items.Add('TM4');
DBCasier.Items.Add('RB1');
DBCasier.Items.Add('RB2');
DBCasier.Items.Add('RB3');
DBCasier.Items.Add('TB1');
DBCasier.Items.Add('TB2');
DBCasier.Items.Add('TB3');
DBCasier.Items.Add('CH1');
DBCasier.Items.Add('CH2');
DBCasier.Items.Add('CM1');
DBCasier.Items.Add('CB1');
DBCasier.Items.Add('CB2');
DBCasier.Items.Add('FG1');
DBCasier.Items.Add('FG2');
DBCasier.Items.Add('FG3');
DBCasier.Items.Add('FG4');
DBCasier.Items.Add('FG5');
DBCasier.Items.Add('FG6');
DBCasier.Items.Add('FG7');
DBCasier.Items.Add('FG8');
DBCasier.Items.Add('FG9');
DBCasier.Items.Add('FD1');
DBCasier.Items.Add('FD2');
DBCasier.Items.Add('FD3');
DBCasier.Items.Add('FD4');
DBCasier.Items.Add('FD5');
DBCasier.Items.Add('FD6');
DBCasier.Items.Add('FD7');
DBCasier.Items.Add('FD8');
DBCasier.Items.Add('FD9');
end;
form de selection saisi,modification ou recherche
unit ChoixTH1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, RzBckgnd, RzButton;
type
TMenuChoixTH1 = class(TForm)
BoutonSaisie: TRzBitBtn;
BoutonModifier: TRzBitBtn;
BoutonQuiter: TRzBitBtn;
RzBackground1: TRzBackground;
procedure BoutonSaisieClick(Sender: TObject);
procedure BoutonModifierClick(Sender: TObject);
procedure BoutonQuiterClick(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
MenuChoixTH1: TMenuChoixTH1;
implementation
uses TH1;
{$R *.dfm}
procedure TMenuChoixTH1.BoutonModifierClick(Sender: TObject);
begin
BDTH1.ValideModif.Enabled:= true;;
BDTH1.SuprimeFiche.Enabled:=true;
BDTH1.GBSaisie.Visible:=false;
BDTH1.GBModifier.Visible:= true;
//BDTH1.GbModifier.Top:=281;
//BDTH1.GBModifier.Left:=207;
BDTH1.Table2.Active := True;
BDTH1.Table2.Append;
BDTH1.Table2.Refresh;
MenuChoixTh1.close;
end;
procedure TMenuChoixTH1.BoutonQuiterClick(Sender: TObject);
begin
close;
BDTH1.close;
end;
procedure TMenuChoixTH1.BoutonSaisieClick(Sender: TObject);
begin
bdth1.Table2.Active := True;
//bdth1.Table2.Refresh;
bdth1.Table2.Last ;
bdth1.Validesaisie.Enabled:= true;
bdth1.GBSaisie.Visible:= true;
BDTH1.GBModifier.Visible:= false;
bdth1.Table2.Insert ;
bdth1.Table2.Append;
MenuChoixTh1.close;
end;
end.
Afficher la suite