Base de donnée qui n'est pas en mode édition ?

JacKrauser Messages postés 31 Date d'inscription lundi 14 mai 2012 Statut Membre Dernière intervention 21 août 2012 - 27 juin 2012 à 09:24
beckerich Messages postés 302 Date d'inscription jeudi 29 septembre 2005 Statut Membre Dernière intervention 17 septembre 2013 - 27 juin 2012 à 23:17
Salut à tous !
J'ai un problème concernant un programme de gestion de BD d'opérations préventives.
Lorsque je tente de créer une nouvelle opération (soit insérer une nouvelle ligne dans ma table),
Delphi m'indique que ma table n'est pas en mode édition ou insertion !
Pourtant j'effectue bien la commande Table1.Insert et Table1.Edit, là je suis perdu ...
Voilà le code :

[code=pas]
unit FMainMenu;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, ExtCtrls, DBCtrls, StdCtrls, Buttons, Mask;

type
TForm1 = class(TForm)
gbInformation: TGroupBox;
gbRecherche: TGroupBox;
gbListe: TGroupBox;
DBGrid1: TDBGrid;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
edRecherche: TEdit;
edDesignation: TEdit;
edNumero: TEdit;
edDuree: TEdit;
edEquipement: TEdit;
edDate: TEdit;
btnCreation: TBitBtn;
btnModification: TBitBtn;
btnValidation: TBitBtn;
btnSupprimer: TBitBtn;
btnEffacer: TBitBtn;
btnConsulter: TBitBtn;
btnRecherche: TBitBtn;
gbEmplacement: TGroupBox;
Label8: TLabel;
Label9: TLabel;
edBatiment: TComboBox;
edZone: TComboBox;
Edit1: TEdit;
gbNom: TGroupBox;
edUtilisateur: TEdit;
procedure btnSupprimerClick(Sender: TObject);
procedure btnCreationClick(Sender: TObject);
procedure btnModificationClick(Sender: TObject);
procedure btnValidationClick(Sender: TObject);
procedure btnEffacerClick(Sender%

4 réponses

JacKrauser Messages postés 31 Date d'inscription lundi 14 mai 2012 Statut Membre Dernière intervention 21 août 2012
27 juin 2012 à 11:16
Oups, le code n'est pas bien passé.
[code=pas]unit FMainMenu;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, ExtCtrls, DBCtrls, StdCtrls, Buttons, Mask;

type
TForm1 = class(TForm)
gbInformation: TGroupBox;
gbRecherche: TGroupBox;
gbListe: TGroupBox;
DBGrid1: TDBGrid;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
edRecherche: TEdit;
edDesignation: TEdit;
edNumero: TEdit;
edDuree: TEdit;
edEquipement: TEdit;
edDate: TEdit;
btnCreation: TBitBtn;
btnModification: TBitBtn;
btnValidation: TBitBtn;
btnSupprimer: TBitBtn;
btnEffacer: TBitBtn;
btnConsulter: TBitBtn;
btnRecherche: TBitBtn;
gbEmplacement: TGroupBox;
Label8: TLabel;
Label9: TLabel;
edBatiment: TComboBox;
edZone: TComboBox;
Edit1: TEdit;
gbNom: TGroupBox;
edUtilisateur: TEdit;
procedure btnSupprimerClick(Sender: TObject);
procedure btnCreationClick(Sender: TObject);
procedure btnModificationClick(Sender: TObject);
procedure btnValidationClick(Sender: TObject);
procedure btnEffacerClick(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;

var
Form1: TForm1;

implementation

uses
FBD, FFichePreventive;

{$R *.dfm}

procedure TForm1.btnSupprimerClick(Sender: TObject);
begin
if ((edUtilisateur.Text<>'BASSEGUY') and (edUtilisateur.Text<>'BOITELET') and (edUtilisateur.Text<>'BOTS')
and (edUtilisateur.Text<>'CAMPISANO') and (edUtilisateur.Text<>'DATY') and (edUtilisateur.Text<>'FERNANDES')
and (edUtilisateur.Text<>'MUSELET') and (edUtilisateur.Text<>'PESSEY') and (edUtilisateur.Text<>'RADIX')) then
begin
ShowMessage('Vous n''êtes pas autorisé à effacer une fiche.');
edUtilisateur.Text:='Votre nom';
end
else
begin
DataModule2.DataSource1.DataSet.Delete;
DataModule2.DataSource1.DataSet.Refresh;
end;
end;

procedure TForm1.btnCreationClick(Sender: TObject);
begin
if ((edUtilisateur.Text<>'FERNANDES') and (edUtilisateur.Text<>'DENEUVILLE')) then
begin
ShowMessage('Vous n''êtes pas autorisé à créer une fiche.');
edUtilisateur.Text:='Votre nom';
end
else
begin
DataModule2.DataSource1.DataSet.Insert;
DataModule2.DataSource1.DataSet.Edit;
DataModule2.DataSource1.DataSet.FieldbyName('BATIMENT').Value:=edBatiment.text;
DataModule2.DataSource1.DataSet.FieldbyName('ZONE').Value:=edZone.text;
DataModule2.DataSource1.DataSet.FieldbyName('NUMERO').Value:=edNumero.text;
DataModule2.DataSource1.DataSet.FieldbyName('MODIF').Value:='A';
DataModule2.DataSource1.DataSet.FieldbyName('DESIGNATIO').Value:=edDesignation.text;
DataModule2.DataSource1.DataSet.FieldbyName('REDACTEUR').Value:=edUtilisateur.text;
DataModule2.DataSource1.DataSet.FieldbyName('DUREE%2
0
pierrotk10d Messages postés 110 Date d'inscription mardi 13 novembre 2007 Statut Membre Dernière intervention 2 février 2024 3
27 juin 2012 à 16:49
Bonjour,
Mettre la table en mode edit ou insert suivant le cas. Modification ou Ajout de fiche.
Mais pas les deux à la suite
Edit permet de modifier une fiche. La table en en mode dsEdit.
Insert permet d'ajouter une fiche. La table est en mode dsInsert
Appliquer la modification.
DataModule2.DataSource1.DataSet.FieldbyName('BATIMENT').Value:=edBatiment.text;
DataModule2.DataSource1.DataSet.FieldbyName('ZONE').Value:=edZone.text;

Ne pas oublier de poster l'opération.
DataModule2.DataSource1.DataSet.Post qui valide l'opération et remet la table en mode dsBrowse.

pierrot
0
pierrotk10d Messages postés 110 Date d'inscription mardi 13 novembre 2007 Statut Membre Dernière intervention 2 février 2024 3
27 juin 2012 à 17:40
Bonjour de nouveau,
Une autre chose que je voulait mentionner. La gestion des utilisateurs (codée en dur) n'est pas top.
Que va t il se passer si un nouvel utilisateur arrive?
Essayer une procédure avec mot de passe ou une gestion des utilisateurs dans une table et un contrôle avec les enregistrements de la table !!!
A toi de voir



pierrot
0
beckerich Messages postés 302 Date d'inscription jeudi 29 septembre 2005 Statut Membre Dernière intervention 17 septembre 2013 2
27 juin 2012 à 23:17
Bonsoir,

après le insert, pas besoin de Edit;

Luc.
0
Rejoignez-nous