Je crée une table pendant l'exécution. Voici comment je le fais:Comment créer un champ calculé dans la base de données Access en utilisant SQL pendant l'exécution dans Delphi
AdoCommand1.Connection:=AdoConnection1;
cs:='CREATE TABLE '+edname.text+' (' +
'ID Integer IDENTITY(1,1) NOT NULL UNIQUE PRIMARY KEY,' +
'[Date Added] DATETIME,'+
'[Name] TEXT(255))';
ADOCommand1.CommandText:=cs;
ADOCommand1.Execute;
Je dois ajouter un champ « âge » qui devrait être calculé automatiquement comme ceci:
age = DateDiff ('y',[Date Added], Now())
, ce qui donne simplement montant jours cet élément est stocké. Comment est-ce que je fais ceci à l'exécution? Existe-t-il un moyen d'ajouter des champs calculés dynamiquement à Access Database?
Remarque: J'utilise Delphi 7, les composants ADO et Microsoft Jet 4.0 pour se connecter à la base de données MDB. JET ne gère pas les champs calculés dans les tables.
Pouvez-vous me aider à ce sujet? J'utilise des composants TAdoQuery, et leur connexion est également via JET. Comment puis-je créer une requête parallèle? –
J'ai mis à jour ma réponse originale. . . –
Merci, c'est très utile. Je vais essayer ça. Une dernière question, est-il possible d'afficher ce champ dans DBGrid plus tard? –