PythonGreg
Messages postés68Date d'inscriptionjeudi 3 novembre 2011StatutMembreDernière intervention 6 février 2015
-
13 févr. 2012 à 14:33
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 2021
-
20 févr. 2012 à 15:50
Bonjour a tous,
j'ai une base de données avec un champ (Nom) qui est indexé sans doublons
mon problème aujourd'hui c'est quand je rentre un doublons dans EditNom.text puis je valide
--------------------------------
with ado.table do
begin
insert;
fieldbyname('Nom').value := EditNom.text
post;
--------------------------------
- J'ai un message qui me dit que j'ai un doublons jus que la tout va bien.
- Mais quand je veut modifier le doublons ou entrer un nouveau Nom il me dit toujours la même chose qu'il y a un doublons alors qu'il y a aucun doublons dans la base de données.
- Je suis obliger de me déconnecté de ma base de données puis me reconnecté pour pouvoir entrer un nouveau Nom.
- J'aimerai fait un contrôle directement sur mon dbgrid ou sur AdoTable
- Ou peu être qu'il y a une autre solution pour faire plus simple ??
PythonGreg
Messages postés68Date d'inscriptionjeudi 3 novembre 2011StatutMembreDernière intervention 6 février 2015 13 févr. 2012 à 15:45
Rectification du code petite error
procedure TLecture.BtRecherClick(Sender: TObject);
var MsG : Integer;
begin // Si il ne trouve pas le Nom
if not ADOTable.Locate('Nom',EditNom.Text,[]) then
with ado.table do
begin
insert;
fieldbyname('Nom').value := EditNom.text
post;
end
else // Si il trouve le Nom
// ... exemple messageDlg Warning indiquant qu'il n'ai pas possible d'insert se Nom dans la Table risque un doublons
end;
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 13 févr. 2012 à 15:30
Salut,
comme déjà dit plusieurs fois, on est pas devins!
Base de données et Compos utilisés?
Rien qu' avec ce que tu me dis, cela semble normal et il faut faire la mise à jour grâce à une clé unique.
Tu peux aussi essayer de faire un CancelUpdates après l' erreur de l' ajout.
PythonGreg
Messages postés68Date d'inscriptionjeudi 3 novembre 2011StatutMembreDernière intervention 6 février 2015 13 févr. 2012 à 15:39
je pense avoir trouver une solution peu être pas la meilleur mais sa devrai traité mais doublons je fait une rechercher dans la table avent d'inséré le nouveau Nom
procedure TLecture.BtRecherClick(Sender: TObject);
var MsG : Integer;
begin // Si il ne trouve pas le Nom
if not ADOTable.Locate('Nom',EditNom.Text,[]) then
with ado.table do
begin
insert;
fieldbyname('Nom').value := EditNom.text
post;
else // Si il trouve le Nom
// ... exemple messageDlg Warning indiquant qu'il n'ai pas possible d'insert se Nom dans la Table risque un doublons
end;
end;