Bonjour,
Je vais être bref. Je code un programme en delphi 7 qui a pour but de copier un fichier texte dans une table sous sql server 2008 avec le composant ADOT. Une fois la table remplie j'ouvre une autre table paradoxe avec le composant BDE simple. Je dois comparer les deux tables et mettre à jour la table paradoxe si il y a une valeur commune d'apres le champ LSNRMTD(table paradoxe) et lieferschein ( table normale). Mon soucis est la, dans la table paradoxe il y a une clé composé de deux champs clé1,LSNRMTD alors que dans ma table normale il n'y a pas de clé primaire car c'est une table unique. J'ai fait :
Delphi me dit que je fais une mauvaise utilisation de mon mot clef FROM.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 ADOT_XSST.first while not ADOT_XSST.EOF do begin while not T_fusion.eof do begin if T_fusion.FieldByName('LSNRMTD').value =ADOT_XSST.FieldByName('lieferschein').value then begin T_fusion.edit T_fusion.FieldByName('KDGRP').Value:=ADOT_XSST.fieldbyname('Kundengrup').Value; ... T_fusion.post end; T_fusion.next end; end; Cela marche mais le resultat est beacoup beaucoup trop long. QUand j'essaye de faire Qfusion1.SQL.Clear; Qfusion1.SQL.Add('UPDATE T_fusion'); Qfusion1.SQL.Add('SET T_fusion.KDGRP = ADOT_XSST.Kundengrup' ); Qfusion1.sql.Add('FROM T_fusion INNER JOIN ADOT_XSST on T_fusion.LSNRMTD = ADOT_XSST.lieferschein' );
Si quelqu'un a une idée ^^
Qfusion1.ExecSQL;
Partager