Table TARIFQTE suppression enregistrements impossible

Forum consacré aux développements d'applications interfacées avec les logiciels Sage

Modérateurs: Super Modérateur, Modérateurs

Règles du forum
Merci de prendre connaissance des règles d'utilisation du forum

Avant de poster un nouveau message, utilisez la fonction RECHERCHER. Indiquez la VERSION de votre logiciel et toutes informations utiles à la résolution de votre question. Ne rédigez pas vos messages en MAJUSCULES. Soyez courtois et pensez aux formules de POLITESSE d'usage. Les messages à vocation COMMERCIALE ou PUBLICITAIRE seront supprimés.

*** LORSQU'UN SUJET EST RESOLU, SON AUTEUR DOIT EDITER LE 1ER MESSAGE DU SUJET EN HAUT DE PAGE ET COCHER "SUJET RESOLU" ***

Table TARIFQTE suppression enregistrements impossible

Messagede emilio » Lun 8 Mar 2010 01:31

Bonjour,
je n'arrive pas Ă  supprimer des enregistrements dans la table TARIFQTE. Je travaille avec Access 2000 en liaison ODBC sur une base de type CBASE.

J'ai essayé :
- en visualisant directement la table liée (et les champs modifiables ne le sont pas)
- en créant une requête simple :
Code: Tout sélectionner
DELETE F_TARIFQTE.*
FROM F_TARIFQTE;

- Ă  partir de la table F_ARTICLE :
Code: Tout sélectionner
DELETE F_ARTICLE.AR_DESIGN, F_TARIFQTE.*
FROM F_ARTICLE INNER JOIN F_TARIFQTE ON F_ARTICLE.AR_REF = F_TARIFQTE.AR_REF;
.

Message obtenu : "Impossible de supprimer dans les tables spécifiées".

Tous les champs TQ_REFCF sont du type aXX et donc les enregistrements ne sont pas liés à des comptes tiers.

Il faut aussi savoir que il n'y a que 3 catégories tarifaires déclarées dans P_CATTARIF, le problème peut-il venir de là ?

Si par la suite je crée une nouvelle catégorie tarifaire, que je vais dans la fiche article qui comporte la metion "Gamme" dans le 4e tarif, j'arrive à le supprimer directement dans la fiche mais de toute façon pas dans la table, ce qui contredirait mon hypothèse ci-dessus.

Une idée ?

Merci,
Emilio

Pour info la base Access est ouverte en Mode d'ouverture partagé / Verrouillage par défaut : enregistrement modifié / Ouvrir avec enregistrement verrouillés coché
Dernière édition par emilio le Mer 7 Juil 2010 17:52, édité 1 fois.
Sage GesCom v 14.04 VP - CBase v. 9.11 - Serveur : 2003 - Clients : Xp ou 98 ; Paye : 18.50
emilio
Contributeur
Contributeur
 
Messages: 64
Inscription: Mer 26 Sep 2007 19:05
Localisation: Nice - France

Re: Table TARIFQTE suppression enregistrements impossible

Messagede emilio » Mer 30 Juin 2010 18:31

Bonsoir,
je me permets de faire un "up" de mon message précédent car le problème est toujours présent :
nous venons de créer une nouvelle catégorie tarifaire et ça coince sur une soixantaine d'articles.

Encore une fois le problème vient de la présence "par défaut" d'enregistrement dans les tables TARIFQTE et ARTCLIENT (crées en fait en 2005 mais je ne sais pas comment)

Je n'arrive toujours pas à modifier / supprimer les enregistrements de ces deux tables pour pouvoir réaliser automatiquement la création du nouveau tarif et m'éviter de rentrer dans les 60 fiches articles / onglet Catégories Tarifaires / Double clic / Séléctionner dans la liste déroulante "Aucune"

Y-a-t-il quelqu'un qui a déjà manipulé les deux tables TARIFQTE et ARTCLIENT par ODBC ?

Merci,
Emilio
Sage GesCom v 14.04 VP - CBase v. 9.11 - Serveur : 2003 - Clients : Xp ou 98 ; Paye : 18.50
emilio
Contributeur
Contributeur
 
Messages: 64
Inscription: Mer 26 Sep 2007 19:05
Localisation: Nice - France

Re: Table TARIFQTE suppression enregistrements impossible

Messagede OokieDookie » Lun 5 Juil 2010 18:00

Bonjour,

Une suppression concerne une ligne d'enregistrement, jamais une colonne (ou plusieurs).
De plus une instruction DELETE ne peut concerner qu'une seule table.

L'instruction Ă  passer serait donc
Code: Tout sélectionner
DELETE FROM F_TARIFQTE


Éventuellement assortie d'une clause WHERE.

HTH,
"L'expérience est le nom que chacun donne à ses erreurs." (O. Wilde)
:arrow:Nouveau venu ? Une urgence ? Gagnez du temps / Ne perdez pas le nĂ´tre... :wink:
:arrow:SMS-addict / M(o)ufles OEM ?
Avatar de l’utilisateur
OokieDookie
Modérateur
Modérateur
 
Messages: 726
Inscription: Jeu 14 Fév 2008 13:50
Localisation: Paris

Re: Table TARIFQTE suppression enregistrements impossible

Messagede emilio » Mer 7 Juil 2010 17:52

Bonjour,
j'ai trouvé la solution en passant par la requête de type SQL direct dans Access (donc, si je me souviens bien, ça veut dire que je supprime la couche DAO/Jet)

requete1 :
Code: Tout sélectionner
DELETE FROM F_TARIFQTE WHERE AR_REF='DWMF006' AND TQ_REFCF='a05' ;


suivie de requete2 :
Code: Tout sélectionner
UPDATE F_ARTCLIENT SET AC_QTEMONT =0, EG_CHAMP = 0 WHERE AR_REF='DWMF006' AND AC_CATEGORIE=5;


Il me reste juste un problème de syntaxe à résoudre (mais peut-être que le driver ODBC ne l'accepte pas ??), pour avoir les deux requêtes ci-dessus dans la même requête. J'ai essayé avec le ";" pour séparer les deux mais j'obtiens un magnifique 'syntax error' .

Euh faut dire aussi que mes derniers "vrais" programmes en C avec du SQL plein dedans datent d'il y a plus de 10 ans ET ce N'est PAS comme le vélo : ça s'oublie très vite et très facilement :-)

Bon en gros :
Code: Tout sélectionner
DELETE FROM F_TARIFQTE WHERE AR_REF='DWMF006' AND TQ_REFCF='a05' ;
UPDATE F_ARTCLIENT SET AC_QTEMONT =0, EG_CHAMP = 0 WHERE AR_REF='DWMF006' AND AC_CATEGORIE=5;

ça ne marche pas
Emilio

PS :pour OokieDookie, MsAccess a une très nette tendance à ajouter des * partout (par exemple si j'ai une table qui s'appèle Numero : DELETE * FROM Numero; )
De toute manière la requête avec ou sans * ne s'exécutait pas via Access (j'ai testé par acquis de conscience).
Sage GesCom v 14.04 VP - CBase v. 9.11 - Serveur : 2003 - Clients : Xp ou 98 ; Paye : 18.50
emilio
Contributeur
Contributeur
 
Messages: 64
Inscription: Mer 26 Sep 2007 19:05
Localisation: Nice - France


Retourner vers Développements ODBC, Objets métiers, SQL

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités