cs_Metrox
Messages postés267Date d'inscriptionjeudi 19 septembre 2002StatutMembreDernière intervention 8 septembre 2013
-
21 juil. 2003 à 16:41
bundyboss
Messages postés28Date d'inscriptionmardi 24 juin 2003StatutMembreDernière intervention 3 mars 2005
-
16 déc. 2004 à 23:47
'lut all,
j'ai un problème...noooon?!
Et si!
Bon, alors, j'ai fait un formulaire qui récupère les résultats d'une db dans un champ DBEDIT...seulement, quand je compile, et ke je lance, problème! Impossible de modifier ce qui se trouve dans le champ!!!
Quelqu'un saurait-il m'aider?
cs_Metrox
Messages postés267Date d'inscriptionjeudi 19 septembre 2002StatutMembreDernière intervention 8 septembre 2013 21 juil. 2003 à 18:41
eeuuh, ouaip, mais, je t'explique, en fait, j'ai fait une requête, pour récupérer tels et tels champs correspondants à certains critères...ensuite, je les ai mis dans un champ DB edit, et j'aimerais pouvoir modifier ces champs pour pouvoir les updater...je te passe ma source...
merci!
button1 est le bouton qui sert à effectuer la recherche
button2 est celui qui permet d'updater!
procedure Tmodif_fiche.Button1Click(Sender: TObject);
begin
Query1.SQL.Clear;Query1.SQL.Add('SELECT * FROM users WHERE (Nom :name) AND (Prenom :surname) AND (Date_naissance = :dateanif)');
Query1.ParamByName('name').AsString:=lenom.text;
Query1.ParamByName('surname').AsString:=leprenom.text;
Query1.ParamByName('dateanif').AsString:=ladate.text;
Query1.open;
users.edit;
DBNOM.DataField:='Nom';
DBPRENOM.DataField:='prenom';
DBID.DataField:='ID';
DBnum.DataField:='numero';
DBphone.DataField:='téléphone';
DBrue.DataField:='rue';
DBville.DataField:='ville';
DBcode.DataField:='code_postal';
DBdate.DataField:='date_naissance';
sablor
Messages postés58Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention 1 octobre 2004 22 juil. 2003 à 10:53
Bon OK je vois le truc...
Alors moi je procede autrement...
Deja essaye d'utiliser un TTable car tu n'utilises qu'une seule table, et definis un index secondaire pour effectuer ta recherche sur le nom le prenom et la date... OK?
Ensuite sur ta TForm mets aussi un TDataSource et dans la propriete DataSet tu choisis ton TTable. Mets aussi un TDBGrid qui te permets d'avoir la liste des enregistrements.
En doubles cliquant sur ta TTable tu obtiens une fenetre pour ajouter les champs que tu veux avoir en acces directe. Click Droit et Ajouter des Champs -> tu selectionnes tous tes champs et tu les ajoutes a la liste. Une fois que tu les as sur la liste tu les selectionne et tu les fais glisser sur ta TForm. Ca te permet d'avoir un acces dessus avec des TDBEdit.
Enfin tu as besoin de quelques boutons : Ajouter, Modifier, Supprimer, Valider, Annuler et sur chacun tu vas pouvoir gerer une propriete.
cmdAjouter -> MyTable.Insert;
cmdModifier -> MyTable.Edit;
cmdSupprimer -> MyTable.Delete;
cmdValider -> MyTable.Post;
cmdAnnuler -> MyTable.Cancel;
Ensuite a toi de gerer le mode Enabled de chaque bouton, et de chaque TDBEdit.
jmp77
Messages postés1119Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention 4 octobre 20067 23 juil. 2003 à 17:45
Hello,
Tiens je te donne un exemple de l'aide de delphi 6 :
L'exemple suivant montre comment créer une table.
with Table1 do begin
Active := False;
DatabaseName := 'DBDEMOS';
TableType := ttParadox;
TableName := 'CustInfo';
{ Ne remplace pas une table existante }
if not Table1.Exists then begin
{ Le composant Table ne doit pas être actif }
{ Commence par décrire le type de table et à lui }
{ donner un nom }
{ Décrit ensuite les champs de la table }
with FieldDefs do begin
Clear;
with AddFieldDef do begin
Name := 'Field1';
DataType := ftInteger;
Required := True;
end;
with AddFieldDef do begin
Name := 'Field2';
DataType := ftString;
Size := 30;
end;
end;
{ Décrit ensuite tous les index }
with IndexDefs do begin
Clear;
{ Le 1er index n'a pas de nom car il s'agit
{ d'une clé primaire Paradox }
with AddIndexDef do begin
Name := '';
Fields := 'Field1';
Options := [ixPrimary];
end;
with AddIndexDef do begin
Name := 'Fld2Indx';
Fields := 'Field2';
Options := [ixCaseInsensitive];
end;
end;
{ Appelle la méthode CreateTable pour créer la table }
CreateTable;
end;
end;
sablor
Messages postés58Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention 1 octobre 2004 23 juil. 2003 à 17:48
Heu la tu vas me coller...
Bon si tu as Paradox normalement tu vas dans le menu Table -> Restructurer
Ensuite dans la Combo Propriété de la Table tu sélectionnes Index Secondaire et tu cliques sur le bouton Definir et là au boulot...
Sinon je crois que tu peux utiliser la methode AddIndex de l'objet TTable.
MyTable.AddIndex('NewIndex', 'CustNo;CustName', [ixUnique, ixCaseInsensitive]);
bundyboss
Messages postés28Date d'inscriptionmardi 24 juin 2003StatutMembreDernière intervention 3 mars 2005 16 déc. 2004 à 23:47
Il est tard pour repondre a ce problème mais pour les suivants qui vont le lire ca peut servir.
On ne peut changer les données dans un DBEdit!!
Il aurai tout simplement fallu que la personne mettre ses données dans un edit tout simple et cela aurai fonctionnné;
C'est tout