ADO Append et Post

gebu34 Messages postés 118 Date d'inscription samedi 9 décembre 2006 Statut Membre Dernière intervention 17 novembre 2009 - 30 mai 2007 à 11:17
gebu34 Messages postés 118 Date d'inscription samedi 9 décembre 2006 Statut Membre Dernière intervention 17 novembre 2009 - 31 mai 2007 à 07:00
Bonjour à tous,
Un petit problème que je n'avais pas encore subis.
J'utilise des compo ADO avec base Access.
DTMA est le nom de mon module de données.
Pour cet exemple je travaille sur une table "TypePC" qui possède 3 champs.
NewEnreg est un boolean qui m'indique si je suis en mode Nouveau ou Modification.
La connection de ADOQuery est permanente dans DTMA (peut-être là que sa blesse)
Lorsque je fais une Modif (Edit), tout fonctionne.
Lorsque je fais Nouveau (Append), rien ne se passe.
Pas d'erreur, mais pas de nouveau enregistrement.
Voici la proc d'enregistrement.

procedure TFtabletypepc.B_EnregistrerClick(Sender: TObject);
begin
  if NewEnreg = True then begin
    CRITERE := 'SELECT * FROM TypePC';
    DTMA.ADOQRmaj.Active := False;
    DTMA.ADOQRmaj.ConnectionString := ''; //par précaution
    DTMA.ADOQRmaj.Parameters.Clear;       //par précaution
    DTMA.ADOQRmaj.SQL.Clear;
    DTMA.ADOQRmaj.SQL.Add(CRITERE);
    DTMA.ADOQRmaj.Active := True;
  end else begin    CRITERE :'SELECT * FROM TypePC WHERE Ind' + TInd.Caption;
    DTMA.ADOQRmaj.Active := False;
    DTMA.ADOQRmaj.ConnectionString := '';
    DTMA.ADOQRmaj.Parameters.Clear;
    DTMA.ADOQRmaj.SQL.Clear;
    DTMA.ADOQRmaj.SQL.Add(CRITERE);
    DTMA.ADOQRmaj.Active := True;
    With DTMA.ADOQRmaj do begin
      if NewEnreg = True then Append else Edit;
      FieldByName('Ind').AsInteger := StrToInt(TInd.Caption);
      FieldByName('TypePC').AsString := TypePC.Text;
      FieldByName('Comment').AsString := Comment.Text;
      Post;
    end;
  end;
  DTMA.ADOQRmaj.Active := False;
end;

Pour Info, DTMA.ADOQRmaj sert aussi à ouvrir la table, la trier, remplir une grille.
Chaque fois elle est clos avec DTMA.ADOQRmaj.Active := False;

Merci
A+

1 réponse

gebu34 Messages postés 118 Date d'inscription samedi 9 décembre 2006 Statut Membre Dernière intervention 17 novembre 2009
31 mai 2007 à 07:00
Petite réflexion
Peut-on faire un Append sur un ADOQuery ?
A+
0