MSAccess "Echec de l'authentification"
Bonjour,
J'ai déclaré une table telle que
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| //******************************************************** table Segmentation
// les noms de champ sont visibles pour l'utilisateur
req:= 'CREATE TABLE SEGMENTATION (' +
' SEGMENTATION_NO AUTOINCREMENT, ' +
' SEGMENTATION_OPERATION_NO INTEGER NOT NULL, ' +
' CONSTRAINT FK_Segmentation2Operation FOREIGN KEY (SEGMENTATION_OPERATION_NO) '+
' REFERENCES OPERATION(OPERATION_NO) ON UPDATE CASCADE ON DELETE CASCADE, '+
' SEGMENTATION_SEGMENTS_NUMBER INTEGER NOT NULL, ' +
' SEGMENTATION_DEGREE BYTE DEFAULT 1, ' +
' SEGMENTATION_SPEED BYTE DEFAULT 1, ' +
' SEGMENTATION_START BYTE DEFAULT 1, ' +
' SEGMENTATION_STEPRGB SINGLE NOT NULL, '+
' SEGMENTATION_CUSTUMED_OK VARCHAR(2) DEFAULT -1, '+
' SEGMENTATION_USED VARCHAR(2) DEFAULT -1 '+
')';
ADOCommand1.CommandText := req;
ADOCommand1.Execute;
// ==================== Clé primaire
req := 'ALTER TABLE SEGMENTATION ADD CONSTRAINT PK_SEGMENTATION PRIMARY KEY (SEGMENTATION_NO);';
ADOCommand1.CommandText := req;
ADOCommand1.Execute; |
Cette table est parfaitement lisible sous MSAccess et contient déjà deux enregistrements.
Je veux lire l'un d'eux par la fonction :
Code:
1 2 3 4 5 6 7
| // lire une segmentation
function TPeekDM.ReadSegmentationOK(Const RecNo: Integer; var Rec: TPeekSegmentsCfg): boolean;
begin
qry.Close();
qry.ConnectionString:= Format(_ConnString,[_UserName,_PassWord,CurDBPath]);
qry.sql.text := 'SELECT * FROM SEGMENTATION WHERE SEGMENTATION_NO = '+IntToStr(RecNo)+';';
qry.Open(); // Ici Open pour SELECT, reserver ExecSQL à INSERT\UPDATE |
L'ensemble de ce code source est déclaré dans un DataModule.
Dans une autre unité j'appele la fonction PeekDM.ReadSegmentation(1,record) et l'erreur se produit au code précédent ligne 6 "EOleExeption avec message "Echec de l'authentification"
Au secours ! Comment corriger ?
Merci à l'avance à tous les forumers